at Saltside • Manages ~350 containers in production • 2+ years of Docker experience • “Introduction to Docker” course lecturer • @adman65 • http://blog.slashdeploy.com
to run appropriate Docker image • [pro] Supports cloud & on-prem infrastructures • [pro] Easy to start with; scales up nicely to disconnected services • [pro] Easy horizontal & vertical scaling • [con] Requires infrastructure engineering experience • [con] Rollout times depends on your build and scaling process
set with many integrations • [pro] DBaaS offering (Heroku PostgreSQL and more) • [con] Cost • [pro] Easy access to logs, environment variables • [pro] Easy horizontal and vertical scaling • [con] Few geographical regions • [pro] Easily connect to CI for continuous deployment
[pro] First party offering • [pro] You provide compute (via bare metal or cloud providers) • [con] You provide compute • [pro] Easily connect to CI for continuous deployment • [con] Double charge; you pay service and infrastructure costs
party offering • [pro] You provide compute (via bare metal or cloud providers) • [con] Brand new as of 1.12.0; untested • [pro] Supports docker client operations • [pro] Run on your own infrastructure (cloud or on-prem)
[pro] Setups authentication, registry, and swarm out of the box • [con] Lags behind the Docker daemon • [con] 1.x has issues with multiple availability zones • [pro] Run on your own infrastructure (cloud or on-prem) • [con] Pricing ($150 a month per node)
[pro] Runs on AWS • [con] Not managed; you provision instances and run their agent • [con] Low level functionality; rough around the edges • [pro] Higher level tools like Empire or Convox smooth out the edges
• [pro] Works for all size applications • [pro] Run on your own infrastructure (cloud or on-prem) • [pro] One-click cloud offering via Google Container Enginer • [con] Requires learning an entirely new system • [con] Does not support docker clients • [con] Containers only • [pro] Powerful base to build one (OpenShift runs on Kubernetes) • [pro] Rolling deploys
for all size applications • [pro] Run on your own infrastructure (cloud or on-prem) • [pro] One-click cloud offering via Microsoft Azure • [con] Requires learning an entirely new system • [con] Does not support docker clients • [pro] For containers and non-containers • [pro] Paid or open source offerings • [pro] Multiple deployment strategies via frameworks
to beat Heroku’s features) • Golden Images or something built on ECS (e.g. Empire/Convox) for small distributed applications or you want to run your own infrastructure • Kubernetes for container native applications or large distributed systems (GKE if don’t want to run infrastructure) • Mesos / DCOS if you need to support an entire organization with a mix containerized & non-containerized work loads