DockerCon Day 2
Welcome
Ben Golub – CEO
@golubbe
• 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
The Layers
Open Standards
Plumbing
Developer Platform
Business Solutions
Implement
Integrate
Augment
The Layers
Open Standards
Plumbing
Developer Platform
Business Solutions
OCF, OCP
1.7 , Swarm (+ Mesos, ECS), Compose,
Machine, Plugins (Weave, ClusterHQ),++
runC, Notary
Today
3 Broad Categories of Commercial Solutions
Build/
Create
Ship/
Store
Run/
Manage
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
• +++
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
((Ben introduces Marianna here)
Since launching Docker Hub
12 months ago …
150,000
repos
500+ million
pulls
240,000
users
-
50,000
100,000
150,000
200,000
250,000
-
40,000
80,000
120,000
160,000
-
100,000,000
200,000,000
300,000,000
400,000,000
500,000,000
2014 2015 2014 2015 2014 2015
60+ million
pulls
Docker Hub
Dev & QA
ColleaguesDevelopers
QA
Build & Ship
13,000
organizations
Laptop to the World w/ Docker
Chris Buckley
Director of DevOps
Business Insider
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
The Journey
Business Insider’s beginnings with Docker
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
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
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…
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)
- Business Insider DevOps
“Let’s give it a shot…”
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
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...
The Lessons
Business Insider’s lessons with Docker
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
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)
• 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
• 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
• 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
An example Puppet class, using the
Docker Puppet Forge module, showing
several containers, linking,
environment options, and
dependencies on other containers
services starting first.
Dev + Ops Workflow Pre-Docker
DevOps Workflow Post-Docker
The Future
Business Insider’s roadmap with Docker
• 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?
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?
Thank you
Chris Buckley
Twitter: @ChrisBuckleySA
Today
Quality
Docker Hub
Faster Pulls
60% Less
Bandwidth
0%
25%
50%
75%
100%
v1 v2
0%
25%
50%
75%
100%
v1 v2
80% Fewer
Requests
Docker Hub
Dashboard: 2.0x Speedup Search: 1.6x Speedup
0
6,000
12,000
Current New
0
3,000
6,000
9,000
Current New
Docker Hub
More Reliable
Docker Hub Security
Authentication microservice
One-time use Build hosts
Content-addressable images
On-going scanning & audits
Public Beta
hub-beta.docker.com
5 FREE Private Repos
Only for DockerCon Attendees
Coupon Code:
dockercon2015
“Which capabilities are required to run Docker
in production?”
1. Support
2. On-premise registry
3. Networking
4. Security
5. Directory integration
Open Source Registry Downloads
6.5 million
Docker Trusted Registry
On-premise registry server
LDAP/Active Directory integration
Role-based access control
Audit & events logging
Easy deploy, upgrade, & rollback
https://flic.kr/p/dERZT6 - m012
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
BusinessLogic
App-Business
Logic
LB
App-Business
Logic
LB
App-Business
Logic
LB
Services
Target State –
Business focused
abstracted from
the common
platform
IAM
API
Analytics
Data Services
Search/Reports
Security
Cloud Infrastructure
Business
Logic
Platform
Application 1
BusinessLogicServices
Business
Logic
Application 2
Business
Logic
Application 3
Business
Logic
Application 4
Demo Flow
Github
Enterprise
Jenkins
Project
Jellyfish/Po
rtal
Chef
AWS/EC2
RHEL 7.1
SWARM
Interlock
HAPROXY
Container(s)
Consul
Git Push
Docker
Trusted
Registry
Docker
Trusted
Registry
Demo
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
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 9
Diogo Monica and Nathan McCauley
“Which capabilities are required to run Docker
in production?”
1. Support
2. On-premise registry
3. Networking
4. Security
5. Directory integration
Docker Engines Image Registry
Docker Trusted
Registry
Docker Hub
Registry
Commercial Support
Subscription
$150 per month
docker.com/solutions
Distributed Apps: What’s Next?
Distributed Apps: What’s Next?
Michael Farber
EVP Innovation, Booz-Allen
@BoozAllen
Jason McGee
Cloud CTO, IBM
@jrmcgee
Mark Russinovich
CTO, Microsoft Azure
@markrussinovich
The Road Ahead
0M
2M
4M
6M
8M
10M
12M
2012 2013 2014 2015 2016 2017 2018 2019
Linux
UNIX
Other
Worldwide x86 Server Unit Shipments
0M
2M
4M
6M
8M
10M
12M
2012 2013 2014 2015 2016 2017 2018 2019
Windows
Linux
UNIX
Other
Worldwide x86 Server Unit Shipments
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
Windows Server Containers
Demo
“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…”
http://voices.suntimes.com
A Top-to-Bottom Integrated Stack
Docker Engine
Networking
Docker Compose
Docker Swarm
GUI
Security
… plus tools for installation, deployment,
configuration, and updates
Hosts
Project OrcaDocker Hub Registry
Docker Trusted Registry
Ship Run
Demo
Hosts
Docker
Swarm
GUI & Control
Project Orca
Docker Engines
Docker Hub Registry
Docker Trusted Registry
Docker
Compose
Demo
Everything You Need To “Run”
Hosts
Docker
Swarm
GUI & Control
Project Orca
Docker Engines
Docker Hub Registry
Docker Trusted Registry
Docker
Compose
bit.ly/project-orca
Docker: Ready for Production
Docker: Ready for Production
Docker
Hub
Docker
Trusted
Registry
Project
Orca
Commercial
Solutions
Docker: Ready for Production
Ecosystem Partners
Docker: Ready for Production
Have A Great DockerCon Day 2!
Thank you

DockerCon 15 Keynote - Day 2

  • 1.
    DockerCon Day 2 Welcome BenGolub – CEO @golubbe
  • 4.
    • Works foreveryone (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
  • 5.
    The Layers Open Standards Plumbing DeveloperPlatform Business Solutions Implement Integrate Augment
  • 6.
    The Layers Open Standards Plumbing DeveloperPlatform Business Solutions OCF, OCP 1.7 , Swarm (+ Mesos, ECS), Compose, Machine, Plugins (Weave, ClusterHQ),++ runC, Notary Today
  • 7.
    3 Broad Categoriesof Commercial Solutions Build/ Create Ship/ Store Run/ Manage
  • 8.
    Built by assemblingbest 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 • +++
  • 9.
    Delivered in mannerthat 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
  • 10.
  • 14.
    Since launching DockerHub 12 months ago …
  • 15.
  • 17.
  • 18.
    Docker Hub Dev &QA ColleaguesDevelopers QA Build & Ship
  • 19.
  • 22.
    Laptop to theWorld w/ Docker Chris Buckley Director of DevOps Business Insider
  • 23.
    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
  • 24.
    The Journey Business Insider’sbeginnings with Docker
  • 25.
    Why Docker atBusiness 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
  • 26.
    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
  • 27.
    First long runningapplication… • Several applications were utilizing the same infrastructure - Memcached keys being overwritten & APC clashes caused issues in several applications • Isolated containers could fix this…
  • 28.
    Shipping infrastructure… somany 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)
  • 29.
    - Business InsiderDevOps “Let’s give it a shot…”
  • 30.
    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
  • 31.
    It works! Sortof... • 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...
  • 32.
  • 33.
    Lesson Learned: Buildfor 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
  • 34.
    ConFIGuration • Fig (nowDocker 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)
  • 35.
    • Previous generationsof 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
  • 36.
    • 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
  • 37.
    • We wentback 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
  • 38.
    An example Puppetclass, using the Docker Puppet Forge module, showing several containers, linking, environment options, and dependencies on other containers services starting first.
  • 39.
    Dev + OpsWorkflow Pre-Docker
  • 40.
  • 41.
  • 42.
    • Current systemis 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?
  • 43.
    Summary • Leverage whatyou 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?
  • 44.
  • 45.
  • 46.
  • 47.
    Docker Hub Faster Pulls 60%Less Bandwidth 0% 25% 50% 75% 100% v1 v2 0% 25% 50% 75% 100% v1 v2 80% Fewer Requests
  • 48.
    Docker Hub Dashboard: 2.0xSpeedup Search: 1.6x Speedup 0 6,000 12,000 Current New 0 3,000 6,000 9,000 Current New
  • 49.
  • 50.
    Docker Hub Security Authenticationmicroservice One-time use Build hosts Content-addressable images On-going scanning & audits
  • 55.
  • 56.
    5 FREE PrivateRepos Only for DockerCon Attendees Coupon Code: dockercon2015
  • 57.
    “Which capabilities arerequired to run Docker in production?” 1. Support 2. On-premise registry 3. Networking 4. Security 5. Directory integration
  • 58.
    Open Source RegistryDownloads 6.5 million
  • 59.
  • 60.
    On-premise registry server LDAP/ActiveDirectory integration Role-based access control Audit & events logging Easy deploy, upgrade, & rollback
  • 64.
  • 65.
    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 BusinessLogic App-Business Logic LB App-Business Logic LB App-Business Logic LB Services
  • 66.
    Target State – Businessfocused abstracted from the common platform IAM API Analytics Data Services Search/Reports Security Cloud Infrastructure Business Logic Platform Application 1 BusinessLogicServices Business Logic Application 2 Business Logic Application 3 Business Logic Application 4
  • 67.
  • 68.
  • 69.
    Benefits • Improved customer-centricservices • 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
  • 70.
    Next Steps • Imagegovernance 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 9 Diogo Monica and Nathan McCauley
  • 71.
    “Which capabilities arerequired to run Docker in production?” 1. Support 2. On-premise registry 3. Networking 4. Security 5. Directory integration
  • 72.
    Docker Engines ImageRegistry Docker Trusted Registry Docker Hub Registry Commercial Support Subscription
  • 73.
  • 75.
  • 76.
  • 77.
    Distributed Apps: What’sNext? Michael Farber EVP Innovation, Booz-Allen @BoozAllen Jason McGee Cloud CTO, IBM @jrmcgee Mark Russinovich CTO, Microsoft Azure @markrussinovich
  • 78.
  • 79.
    0M 2M 4M 6M 8M 10M 12M 2012 2013 20142015 2016 2017 2018 2019 Linux UNIX Other Worldwide x86 Server Unit Shipments
  • 80.
    0M 2M 4M 6M 8M 10M 12M 2012 2013 20142015 2016 2017 2018 2019 Windows Linux UNIX Other Worldwide x86 Server Unit Shipments
  • 81.
    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
  • 82.
  • 83.
  • 84.
    “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…”
  • 85.
  • 86.
    A Top-to-Bottom IntegratedStack Docker Engine Networking Docker Compose Docker Swarm GUI Security … plus tools for installation, deployment, configuration, and updates
  • 87.
    Hosts Project OrcaDocker HubRegistry Docker Trusted Registry Ship Run
  • 88.
    Demo Hosts Docker Swarm GUI & Control ProjectOrca Docker Engines Docker Hub Registry Docker Trusted Registry Docker Compose
  • 89.
  • 90.
    Everything You NeedTo “Run” Hosts Docker Swarm GUI & Control Project Orca Docker Engines Docker Hub Registry Docker Trusted Registry Docker Compose
  • 91.
  • 92.
  • 93.
    Docker: Ready forProduction Docker Hub Docker Trusted Registry Project Orca Commercial Solutions
  • 94.
    Docker: Ready forProduction Ecosystem Partners
  • 95.
  • 96.
    Have A GreatDockerCon Day 2!
  • 97.