How to be Successful Running Docker in Production

| by Guillermo Beltri Follow 0 Followers on Nov 29, 2015. Estimated reading time: 2 minutes |

John Fiedler, Sr Director of Engineering at Salesforce IQ (formerly RelateIQ) spoke at DockerCon EU on how to be successful running Docker in production backing it up with his own experience during the last two years. Fiedler recommends not to jump directly to use all the tools available around Docker, but executing a step by step strategy when moving services to containers.

Fiedler explained that 100% of their web infrastructure is today running with Docker and that they have zero downtime deployments. At the same time he stressed out that they started the transition two years ago and tried out many things and fail frequently too.

We ended up playing with Mesos, but at that at that time it did not have authentication…We run Kafka inside Docker, if Kafka was down, then all our services were down… Running Docker-in-Docker is not a good idea.

SalesforceIQ has over 70% of its infrastructure running in Docker. When choosing which services to put in containers and which ones not, Fiedler recommends to pay attention to two main factors: ‘rate of change’ and ‘dependencies’. A web server or an API server have both a short life (‘rate of change’) and are stateless (‘dependencies’), while a database or a CI/CD server have a long life and are stateful. Therefore, web servers and API servers are services very suitable to be placed in containers.


(*image credit: John Fiedler)


(*image credit: John Fiedler)

SalesforceIQ is running today PaaS where everything but ‘persistent storage’ is at least somehow running on containers.


(*image credit: John Fiedler)

At the beginning of the talk Fiedler explained the meaning of the concepts ‘production’ and ‘success’ from his point of view.

Production environments are not the same as test or dev environments. When dealing with the first ones, there are some particularities that are not necessarily a concern when running in dev/test. Isolation, security, performance, monitoring or logging should be taken into account before moving to production. Also, scaling, having templates in place or automation are important concerns… Everything over 99.9% is successful from my point of view.

Concluding the talk, Fiedler recommended to “keep it simple, start small and not to try jump straight to PaaS”. Speaking about deployment tools he said that “Chef, Ansible and SaltStack are still great tools and can be used in conjunction with Docker”. While Docker is production ready, Fiedler raised awareness about “using surrounding solutions which are not ready (alpha and beta)”. “The biggest ROI when using Docker is CI/CD”, Fiedler added.

Rate this Article

Adoption Stage

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread


Login to InfoQ to interact with what matters most to you.

Recover your password...


Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.


More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.


Stay up-to-date

Set up your notifications and don't miss out on content that matters to you