Slide 1

Slide 1 text

Docker: Production & Beyond cloudacademy.com

Slide 2

Slide 2 text

First, A Poll Which best describes you?

Slide 3

Slide 3 text

Plan Cover recurring questions from past sessions Remaining time for all your questions

Slide 4

Slide 4 text

Hi! I’m Adam Hawkins • Site Reliability Engineering Team Lead at Saltside • Manages ~350 containers in production • 2+ years of Docker experience • “Introduction to Docker” course lecturer • @adman65 • http://blog.slashdeploy.com

Slide 5

Slide 5 text

Recurring Questions

Slide 6

Slide 6 text

What is Docker? • Application agnostic container runtime • Runs an isolated process in a container on a single kernel • Different than virtualization

Slide 7

Slide 7 text

What can I do with Docker? • Creating portable development environment • Standardizing infrastructure in polygot teams • Containerize your build system • Deliver CLI software • Build large scale distributed systems

Slide 8

Slide 8 text

How do I use Docker in development? • Use docker-compose to model your application • Use docker-machine to play around with docker infrastructure • Use docker to test different databases say (mongo:2.8 vs mongo:3.2)

Slide 9

Slide 9 text

How do I use Docker in production? • Choose your deployment target (a hosted service such as Hyper.sh, roll our own, or some orchestration tool) • Configure health checks (either in the Dockerfile or via your orchestration tool) • Integrate your target with your metric collection tools (Most tools have integrations with the docker daemon or orchestration tool) • Connect your CI system to trigger deployments

Slide 10

Slide 10 text

What are the pros/cons? • [pro] offers flexibility to application developers • [pro] increase development/production parity • [pro] gives a platform to standardize infrastructure • [con] changing rapidly; Docker Inc. making big changes • [con] increases complexity • [pro] prepares organizations for a containerized future

Slide 11

Slide 11 text

What do you recommend? • Start with a PoC in a development environment • Use docker-compose as much as possible • Use Google Container Engine (Hosted Kubernetes) for your production environment • Use the official images as much as possible; avoid creating your own custom base images • Prefer one Dockerfile per project • Ruthless stick to 12 Factor app principles • Bake containers into your process at all stages for the biggest benefit

Slide 12

Slide 12 text

The Future tl;dr: it’s all about orchestration

Slide 13

Slide 13 text

Into the Future • Orchestration • Docker Datacenter 2.0 • Log drivers • Alternate container runtimes (rkt or runC)

Slide 14

Slide 14 text

Question Time cloudacademy.com

Slide 15

Slide 15 text

Thank you! https://cloudacademy.com/webinars/ https://cloudacademy.com/enterprise-cloud-training/ https://cloudacademy.com/pricing/ cloudacademy.com