CI/CD with Docker Cloud
Overview and Demo
Ryan	Kennedy
ryan.kennedy@docker.com
@pkennedyr
Bryan	Lee
bryan.lee@docker.com
@kickingthetv
Alberto	Megia
alberto@docker.com
@sr_naranja
2
Build, Ship, Run Distributed Applications Anywhere
Containers as a Service
• Integrated platform for IT and developers
• Commercial technical support provider (Docker, IBM)
Docker Project Sponsor
• Primary contributor and maintainer to Docker project
• 2B+ Image pulls, 1500+ Contributors, 200,000+
DockerizedApplications
Docker Inc.
Gerber, Anna. “The State of Containers and the
Docker Ecosystem: 2015” O’Reilly, September 2015
Docker users running
in production
40%
Docker CaaS Overview
Developers IT Operations
BUILD
DevelopmentEnvironments
SHIP
Create & Store Images
RUN
Deploy,Manage,Scale
3
Docker Cloud
A SaaS service, hosted in the cloud by Docker, that enables enterprise
teams to build, test, deploy, and manage their dockerized distributed
applications in any cloud environment.
Build & test distributed apps
• Autobuild images
• Automated repository tests
• Store images in DockerHub &
external registries
• Point and click GUI, CLI and
RESTfulAPI experience
• Easily create simple single service or
complex multi-service apps
5
Deploy & manage anywhere
• Infrastructure flexibility for dev and
ops teams
• Securely link to any cloud provider
• Bring your own infrastructure
• One step to provision, install
configure and cluster Docker
Engines
• Automated redeploymentof images
• Point and click to scale & manage
your Docker environment
6
Manage distributed apps anywhere
• Intuitive dashboards provide holistic
visibility
• Gain insight with logs and service
history
• One click create, start, terminate,
deploy and redeploy
• Point and click to change
configurations and scale containers
7
Continuous Integration
• Development practice where members of a team integrate their work
frequently, usually each person integrates at least daily - leading to
multiple integrations per day.
• Each integration is verified by an automated build (including tests) to
detect integration errors as quickly as possible.
• Leads to significantly reduced integration problems (via smaller code
changes) and allows a team to develop cohesive software more rapidly
8 http://martinfowler.com/articles/continuousIntegration.html
Continuous Delivery
• Software development discipline where software is built in such a way
that the software can be released to production at any time
• To achieve continuous delivery you need:
– extensive automation of all possible parts of the delivery process, usually
using a deployment pipeline
– a close, collaborative working relationship between everyone involved in
delivery
9 http://martinfowler.com/bliki/ContinuousDelivery.html
Benefits of CI/CD
• Reduce Risk
– Deploying smaller changes means there's less to go wrong and it's easier to
fix should a problem appear
– Smaller changes make it easier to find problems -> Integration becomes
easier
• User Feedback (via faster iteration cycles)
– Biggest risk to any software effort is that you end up building something that
isn't useful
– Earlier and more frequently you get working software in front of real users,
the quicker you get feedback to find out how valuable it really is
10 http://martinfowler.com/bliki/ContinuousDelivery.html
CI/CD via Docker Cloud
11
Developer
Version
control
1. Development 2. Test 3. Stage / Production
QA / QE
Sysadmin
Autobuilds Auto redeploy
Demo Time!
THANK YOU

Docker Meetup at Docker HQ: Docker Cloud

  • 1.
    CI/CD with DockerCloud Overview and Demo Ryan Kennedy ryan.kennedy@docker.com @pkennedyr Bryan Lee bryan.lee@docker.com @kickingthetv Alberto Megia alberto@docker.com @sr_naranja
  • 2.
    2 Build, Ship, RunDistributed Applications Anywhere Containers as a Service • Integrated platform for IT and developers • Commercial technical support provider (Docker, IBM) Docker Project Sponsor • Primary contributor and maintainer to Docker project • 2B+ Image pulls, 1500+ Contributors, 200,000+ DockerizedApplications Docker Inc. Gerber, Anna. “The State of Containers and the Docker Ecosystem: 2015” O’Reilly, September 2015 Docker users running in production 40%
  • 3.
    Docker CaaS Overview DevelopersIT Operations BUILD DevelopmentEnvironments SHIP Create & Store Images RUN Deploy,Manage,Scale 3
  • 4.
    Docker Cloud A SaaSservice, hosted in the cloud by Docker, that enables enterprise teams to build, test, deploy, and manage their dockerized distributed applications in any cloud environment.
  • 5.
    Build & testdistributed apps • Autobuild images • Automated repository tests • Store images in DockerHub & external registries • Point and click GUI, CLI and RESTfulAPI experience • Easily create simple single service or complex multi-service apps 5
  • 6.
    Deploy & manageanywhere • Infrastructure flexibility for dev and ops teams • Securely link to any cloud provider • Bring your own infrastructure • One step to provision, install configure and cluster Docker Engines • Automated redeploymentof images • Point and click to scale & manage your Docker environment 6
  • 7.
    Manage distributed appsanywhere • Intuitive dashboards provide holistic visibility • Gain insight with logs and service history • One click create, start, terminate, deploy and redeploy • Point and click to change configurations and scale containers 7
  • 8.
    Continuous Integration • Developmentpractice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. • Each integration is verified by an automated build (including tests) to detect integration errors as quickly as possible. • Leads to significantly reduced integration problems (via smaller code changes) and allows a team to develop cohesive software more rapidly 8 http://martinfowler.com/articles/continuousIntegration.html
  • 9.
    Continuous Delivery • Softwaredevelopment discipline where software is built in such a way that the software can be released to production at any time • To achieve continuous delivery you need: – extensive automation of all possible parts of the delivery process, usually using a deployment pipeline – a close, collaborative working relationship between everyone involved in delivery 9 http://martinfowler.com/bliki/ContinuousDelivery.html
  • 10.
    Benefits of CI/CD •Reduce Risk – Deploying smaller changes means there's less to go wrong and it's easier to fix should a problem appear – Smaller changes make it easier to find problems -> Integration becomes easier • User Feedback (via faster iteration cycles) – Biggest risk to any software effort is that you end up building something that isn't useful – Earlier and more frequently you get working software in front of real users, the quicker you get feedback to find out how valuable it really is 10 http://martinfowler.com/bliki/ContinuousDelivery.html
  • 11.
    CI/CD via DockerCloud 11 Developer Version control 1. Development 2. Test 3. Stage / Production QA / QE Sysadmin Autobuilds Auto redeploy
  • 12.
  • 13.