How to be Successful Running Docker in Production

by Guillermo Beltri on Nov 29, 2015 |

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


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

General Feedback
Marketing and all content copyright © 2006-2016 C4Media Inc. hosted at Contegix, the best ISP we've ever worked with.
Privacy policy

We notice you're using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.