Lots of data • Data integrity • Fast growing user base • Need to deploy new features fast • Bottom line: We need tools that can help us grow fast! A Little bit about our Production
Sharing our experience with docker in production Production deployments and automation with dockers Eco system tools that we integrate with docker Tools we developed locally to ease containers usage The reasons to use or not use docker for specific Application / Infrastructure Where we failed and how to avoid that Docker/containers basics Testing environments Tutorial Kernel implementations behind the technology Analogs between harbor and docker principles
configuration • Mesos for docker clustering • Marathon as Mesos API • Chef for “parent host configuration” • Custom AWS “docker AMI” External tools we use with Docker
Rabbitmq – message passing between central deployment and agents • LDAP – Deployment Authentication • Graphite – Containers metrics Additional tools we use for the Deployment flow
Instances to deploy • Ports • Run command • Services to heal / scale • Heal / Scale url • Heal type • Heal/Scale Treshold • Deployment status • Docker - Chef enabled + agents status + override Information we are keeping in Consul for deployments
and reasons • When we deploy to mesos and when to santa agents • Collect logs and metrics from outside the containers • Avoid manual containers managment
an elephant into a box • Connection tracking table, mmm... • DNS stickiness • The destroyer of clusters • Deployment failures: retries & revive • Volumes hell • Auto Healing & Auto scaling • Choosing the right storage driver Failures/Mistakes & Fixes