97

Click here to load reader

DockerCon 15 Keynote - Day 2

Embed Size (px)

Citation preview

Page 1: DockerCon 15 Keynote - Day 2

DockerCon Day 2WelcomeBen Golub – CEO@golubbe

Page 2: DockerCon 15 Keynote - Day 2
Page 3: DockerCon 15 Keynote - Day 2
Page 4: DockerCon 15 Keynote - Day 2

• Works for everyone (developers, devops, & ops)• Works everywhere (multi-arch, multi-OS, on & off

prem)• Extensible & Pluggable• Solutions and roadmap

Security

Orchestration

Networking & storage

Workflows for developing, shipping, deploying/managing

• Real users

What does Docker in Production mean?

And that’s what this DockerCon is all about

Docker in Production

Page 5: DockerCon 15 Keynote - Day 2

The Layers

Open Standards

Plumbing

Developer Platform

Business Solutions

Implement

Integrate

Augment

Page 6: DockerCon 15 Keynote - Day 2

The Layers

Open Standards

Plumbing

Developer Platform

Business Solutions

OCF, OCP

1.7 , Swarm (+ Mesos, ECS), Compose, Machine, Plugins (Weave, ClusterHQ),++

runC, Notary

Today

Page 7: DockerCon 15 Keynote - Day 2

3 Broad Categories of Commercial Solutions

Build/Create

Ship/Store

Run/Manage

Page 8: DockerCon 15 Keynote - Day 2

Built by assembling best tools

Build/Create

Ship/Store

Run/Manage

• Developer Platform• CI/CD integration• Signing/Trust• +++

• Trusted registries• Official repositories• Access control• Policies• +++

• Orchestration• GUI• Management• Logging• +++

Page 9: DockerCon 15 Keynote - Day 2

Delivered in manner that works in production

Build/Create

Ship/Store

Run/Manage

• Work both on premises and in the cloud• Have to work well together• Delivered with commercial support• Available through channels & partners• Priced & packaged to enable easy adoption

Page 10: DockerCon 15 Keynote - Day 2

((Ben introduces Marianna here)

Page 11: DockerCon 15 Keynote - Day 2
Page 12: DockerCon 15 Keynote - Day 2
Page 13: DockerCon 15 Keynote - Day 2
Page 14: DockerCon 15 Keynote - Day 2

Since launching Docker Hub 12 months ago …

Page 15: DockerCon 15 Keynote - Day 2

150,000repos

500+ million

pulls

240,000users

3/22

/13

5/23

/13

7/24

/13

9/24

/13

11/2

5/13

1/26

/14

3/29

/14

5/30

/14

7/31

/14

10/1

/14

12/2

/14

2/2/

15

4/5/

15

6/6/

15 -

50,000

100,000

150,000

200,000

250,000

4/29

/13

6/25

/13

8/21

/13

10/1

7/13

12/1

3/13

2/8/

14

4/6/

14

6/2/

14

7/29

/14

9/24

/14

11/2

0/14

1/16

/15

3/14

/15

5/10

/15

-

40,000

80,000

120,000

160,000

5/6/

13

7/4/

13

9/1/

13

10/3

0/13

12/2

8/13

2/25

/14

4/25

/14

6/23

/14

8/21

/14

10/1

9/14

12/1

7/14

2/14

/15

4/14

/15

6/12

/15

-

100,000,000

200,000,000

300,000,000

400,000,000

500,000,000

2014 2015 2014 2015 2014 2015

Page 16: DockerCon 15 Keynote - Day 2
Page 17: DockerCon 15 Keynote - Day 2

60+ millionpulls

Page 18: DockerCon 15 Keynote - Day 2

Docker Hub

Dev & QA ColleaguesDevelopers

QA

Build & Ship

Page 19: DockerCon 15 Keynote - Day 2

13,000organizations

Page 20: DockerCon 15 Keynote - Day 2
Page 21: DockerCon 15 Keynote - Day 2
Page 22: DockerCon 15 Keynote - Day 2

Laptop to the World w/ DockerChris BuckleyDirector of DevOpsBusiness Insider

Page 23: DockerCon 15 Keynote - Day 2

Summary

• About Me

- Working in Linux/systems administration for 14 years, specializing in LAMP based businesses

• About Business Insider

-Mix of Bare Metal & AWS infrastructure, PHP, Go, MongoDB, Puppet, Docker

Page 24: DockerCon 15 Keynote - Day 2

The JourneyBusiness Insider’s beginnings with Docker

Page 25: DockerCon 15 Keynote - Day 2

Why Docker at Business Insider?

• Because it was fun… - FreeBSD Jails, Linux Containers have been around a while

- Docker was a great way to really start playing with them at BI

• Quickly saw opportunities for applications- Local development environments

- Keeping consistent environments from Local (it works on my laptop??), Dev, Staging, through to Production

- Apps using same monolithic codebase able to be isolated and segregated on the same bare metal / virtual stack

Page 26: DockerCon 15 Keynote - Day 2

Our first steps…

• Started using it for building and shipping code- Kept the same environment and software versions

during build as in production- … No matter where the build ran

Page 27: DockerCon 15 Keynote - Day 2

First long running application…

• Several applications were utilizing the same infrastructure

- Memcached keys being overwritten & APC clashes caused issues in several applications

• Isolated containers could fix this…

Page 28: DockerCon 15 Keynote - Day 2

Shipping infrastructure… so many questions• How do we ship the containers?

• Adding code inside or mounting a volume outside

• How to manage the container, keep it running in cases of failure?

• Infrastructure heavily Puppetized- Workflow was built around consistent instances with

updates applied as code (Puppet Server/Agent, Hiera)

Page 29: DockerCon 15 Keynote - Day 2

- Business Insider DevOps

“Let’s give it a shot…”

Page 30: DockerCon 15 Keynote - Day 2

Running the Containers

• Mounted application code using volumes

• Shipping code using temporary containers from Jenkins

• Long standing containers as Linux services, containers hosted on Docker Hub

Page 31: DockerCon 15 Keynote - Day 2

It works! Sort of...• Our first application out on Docker,

and it worked (hurrah!)

• Docker Hub as the central repository for our containers

• Porting production containers back to Developers not so simple...

Page 32: DockerCon 15 Keynote - Day 2

The LessonsBusiness Insider’s lessons with Docker

Page 33: DockerCon 15 Keynote - Day 2

Lesson Learned: Build for Local

• Building for production first was grandiose but misguided

• Porting it backwards for Devs to use not the right path for us

• Bottleneck for Devs to start writing code

Page 34: DockerCon 15 Keynote - Day 2

ConFIGuration• Fig (now Docker Compose) was

perfect for our needs

• Complete stack defined in YAML

• Links, Ports, Volumes, Environment variables all in one place

• Build container from a Dockerfile or pull an image from Docker Hub (we did both)

Page 35: DockerCon 15 Keynote - Day 2

• Previous generations of Dev environments, average time to get a single app up and running was ~1-2 days

• With our own Vagrant running Docker, with Fig/Compose, we cut that down to a few hours (excluding any database imports)

• Allowed our Developers to start writing and committing code much faster

New Developer up and running in (almost) no time

Page 36: DockerCon 15 Keynote - Day 2

• Fig / Compose was great for single host applications

• For multi host / distributed applications, we turned to using containers as Linux services (upstart, SysV)

• Rolling our own upstart scripts for every container became a real pain, even with our containers sitting in Docker Hub

Revisiting Production apps

Page 37: DockerCon 15 Keynote - Day 2

• We went back to the Puppet approved Docker module to see what we could do.

- https://forge.puppetlabs.com/garethr/docker

• Turns out, it met a lot of our needs (Thanks Gareth!)

• Handled image versions, runtime configurations, links, startup dependencies, all in a nicely packaged init.d script

- Packaged as a class we could fill the blanks using Hiera, and pull the images from Docker Hub

Puppet Forge + Docker Hub == WIN

Page 38: DockerCon 15 Keynote - Day 2

An example Puppet class, using the Docker Puppet Forge module, showing several

containers, linking, environment options, and dependencies on

other containers services starting first.

Page 39: DockerCon 15 Keynote - Day 2

Dev + Ops Workflow Pre-Docker

Page 40: DockerCon 15 Keynote - Day 2

DevOps Workflow Post-Docker

Page 41: DockerCon 15 Keynote - Day 2

The FutureBusiness Insider’s roadmap with Docker

Page 42: DockerCon 15 Keynote - Day 2

• Current system is pretty good, but we want to take orchestration to the next phase

- Investigating different tools• Docker Machine/Swarm/Compose• Kubernetes• Mesosphere DCOS• EC2 Container Service• CoreOS/Fleetctl

• Diving deeper into triggered/automated builds- Docker Hub automated builds- Jenkins Docker plugins for building containers

What’s next for Business Insider + Docker?

Page 43: DockerCon 15 Keynote - Day 2

Summary

• Leverage what you know and have

- No need to completely reinvent the wheel with your infrastructure

• There is no wrong way to experiment

- Docker ecosystem is vast, you’ll find what works for you

• Have fun with it!

- If we can’t enjoy what we do, what’s the point?

Page 44: DockerCon 15 Keynote - Day 2

Thank youChris Buckley

Twitter: @ChrisBuckleySA

Page 45: DockerCon 15 Keynote - Day 2

Today

Page 46: DockerCon 15 Keynote - Day 2

Quality

Page 47: DockerCon 15 Keynote - Day 2

Docker Hub

Faster Pulls60% Less

Bandwidth

v1 v20%

25%

50%

75%

100%

v1 v20%

25%

50%

75%

100%

80% Fewer Requests

Page 48: DockerCon 15 Keynote - Day 2

Docker HubDashboard: 2.0x

SpeedupSearch: 1.6x Speedup

Current New0

6,000

12,000

Current New0

3,000

6,000

9,000

Page 49: DockerCon 15 Keynote - Day 2

Docker HubMore Reliable

Page 50: DockerCon 15 Keynote - Day 2

Docker Hub Security

Authentication microservice

One-time use Build hosts

Content-addressable images

On-going scanning & audits

Page 51: DockerCon 15 Keynote - Day 2
Page 52: DockerCon 15 Keynote - Day 2
Page 53: DockerCon 15 Keynote - Day 2
Page 54: DockerCon 15 Keynote - Day 2
Page 55: DockerCon 15 Keynote - Day 2

Public Beta

hub-beta.docker.com

Page 56: DockerCon 15 Keynote - Day 2

5 FREE Private ReposOnly for DockerCon Attendees

Coupon Code:dockercon2015

Page 57: DockerCon 15 Keynote - Day 2

“Which capabilities are required to run Docker in production?”

1. Support2. On-premise registry3. Networking4. Security5. Directory integration

Page 58: DockerCon 15 Keynote - Day 2

Open Source Registry Downloads

6.5 million

Page 59: DockerCon 15 Keynote - Day 2

Docker Trusted Registry

Page 60: DockerCon 15 Keynote - Day 2

On-premise registry server

LDAP/Active Directory

integration

Role-based access control

Audit & events logging

Easy deploy, upgrade, & rollback

Page 61: DockerCon 15 Keynote - Day 2
Page 62: DockerCon 15 Keynote - Day 2
Page 63: DockerCon 15 Keynote - Day 2

800+

Page 64: DockerCon 15 Keynote - Day 2

https://flic.kr/p/dERZT6 - m01229

Page 65: DockerCon 15 Keynote - Day 2

Current State – Monolithic, Stand alone application

IAM

RDMS

API

Analytics

App-Business

Logic

LB

IAM

RDMS

API

Report

IAM

RDMS

API

Search

IAM

RDMS

API

Analytics

Application 1 Application 2 Application 3 Application 4

Bus

ines

s Lo

gic

App-Business

Logic

LB

App-Business

Logic

LB

App-Business

Logic

LB

Ser

vice

s

Page 66: DockerCon 15 Keynote - Day 2

Target State –Business focused

abstracted from the common platform IAM

API

Analytics

Data Services

Search/Reports

Security

Cloud Infrastructure

Business Logic

Platform

Application 1

Bus

ines

s Lo

gic

Ser

vice

s

Business Logic

Application 2

Business Logic

Application 3

Business Logic

Application 4

Page 67: DockerCon 15 Keynote - Day 2

Demo Flow

Github Enterprise

Jenkins

Project Jellyfish/Po

rtal

ChefAWS/EC2RHEL 7.1SWARM

InterlockHAPROXY

Container(s)

Consul

Git Push

Docker Trusted Registry

Docker Trusted Registry

Page 68: DockerCon 15 Keynote - Day 2

Demo

Page 69: DockerCon 15 Keynote - Day 2

Benefits

• Improved customer-centric services • Increased time-to-market• Reduced cost• Creates opportunities for new business• Target state of 2 week production

sprints for platform and new applications

• Decrease time for security review

Page 70: DockerCon 15 Keynote - Day 2

Next Steps

• Image governance through provenance• Inserting secrets in containers with Keywhiz

https://square.github.io/keywhiz/• Container networking• Plugins for Interlock (nginx, external, stats)• API for Interlock for deeper integration

• “Docker Security”11:45am @ Yerba Buena 9Diogo Monica and Nathan McCauley

Page 71: DockerCon 15 Keynote - Day 2

“Which capabilities are required to run Docker in production?”

1. Support2. On-premise registry3. Networking4. Security5. Directory integration

Page 72: DockerCon 15 Keynote - Day 2

Docker Engines Image Registry

Docker Trusted Registry

Docker HubRegistry

Commercial Support

Subscription

Page 73: DockerCon 15 Keynote - Day 2

$150 per month

Page 74: DockerCon 15 Keynote - Day 2
Page 75: DockerCon 15 Keynote - Day 2

docker.com/solutions

Page 76: DockerCon 15 Keynote - Day 2

Distributed Apps: What’s Next?

Page 77: DockerCon 15 Keynote - Day 2

Distributed Apps: What’s Next?

Michael FarberEVP Innovation, Booz-

Allen@BoozAllen

Jason McGeeCloud CTO, IBM

@jrmcgee

Mark RussinovichCTO, Microsoft Azure@markrussinovich

Page 78: DockerCon 15 Keynote - Day 2

The Road Ahead

Page 79: DockerCon 15 Keynote - Day 2

2012 2013 2014 2015 2016 2017 2018 20190M

2M

4M

6M

8M

10M

12MWin-dowsLinuxUNIX

Worldwide x86 Server Unit Shipments

Page 80: DockerCon 15 Keynote - Day 2

2012 2013 2014 2015 2016 2017 2018 20190M

2M

4M

6M

8M

10M

12MWin-dowsLinuxUNIX

Worldwide x86 Server Unit Shipments

Page 81: DockerCon 15 Keynote - Day 2

Openness Innovation

Docker | Microsoft

Since last year at DockerCon…Docker extensions in Microsoft Azure

Docker client for Windows

Docker VM image in Azure

ASP.NET 5 Preview Docker image

Orchestration in Azure

Visual Studio 2015 tools for Docker: Preview

Windows Server Containers showcase

Libswarm support

Page 82: DockerCon 15 Keynote - Day 2

Windows Server Containers

Page 83: DockerCon 15 Keynote - Day 2

Demo

Page 84: DockerCon 15 Keynote - Day 2

“As a sysadmin, how should I manage Dockerized apps in prod?”

“What tools can help me easily scale-up my apps?”

“What’s the Docker-recommended way to use Engine, Swarm, Compose, and other technologies in production?”

“How can Ops make it easy – and secure - to give Devs self-serve access to approved images?”

“I need better visibility into where my containers are running and how they’re performing…”

Page 85: DockerCon 15 Keynote - Day 2

Project Orca

http://voices.suntimes.com

Page 86: DockerCon 15 Keynote - Day 2

A Top-to-Bottom Integrated Stack

Docker Engine

Networking

Docker Compose

Docker Swarm

GUI

Security

… plus tools for installation, deployment, configuration, and updates

Page 87: DockerCon 15 Keynote - Day 2

Hosts

Project OrcaDocker Hub Registry

Docker Trusted Registry

Ship Run

Page 88: DockerCon 15 Keynote - Day 2

Demo

Hosts

Docker Swarm

GUI & Control

Project Orca

Docker Engines

Docker Hub Registry

Docker Trusted Registry

Docker Compose

Page 89: DockerCon 15 Keynote - Day 2

Demo

Page 90: DockerCon 15 Keynote - Day 2

Everything You Need To “Run”

Hosts

Docker Swarm

GUI & Control

Project Orca

Docker Engines

Docker Hub Registry

Docker Trusted Registry

Docker Compose

Page 91: DockerCon 15 Keynote - Day 2

bit.ly/project-orca

Page 92: DockerCon 15 Keynote - Day 2

Docker: Ready for Production

Page 93: DockerCon 15 Keynote - Day 2

Docker: Ready for Production

Docker Hub

Docker Trusted Registry

ProjectOrca

CommercialSolutions

Page 94: DockerCon 15 Keynote - Day 2

Docker: Ready for Production

Ecosystem Partners

Page 95: DockerCon 15 Keynote - Day 2

Docker: Ready for Production

Page 96: DockerCon 15 Keynote - Day 2

Have A Great DockerCon Day 2!

Page 97: DockerCon 15 Keynote - Day 2

Thank you