© 2015 IBM Corporation
Docking DevOps
Daniel Berg @dancberg
IBM Distinguished Engineer
Robbie Minshall rjminsha@us.ibm.com
DevOps Technologist
3962A
An Open Platform to Build, Ship, and Run Distributed Applications
Explosion of the docker community
Static website
Web frontend
User DB
Queue Analytics DB
Background workers
API endpoint
nginx 1.5 + modsecurity + openssl +
bootstrap 2
postgresql + pgv8 + v8
hadoop + hive + thrift + OpenJDK
Ruby + Rails + sass + Unicorn
Redis + redis-sentinel
Python 3.0 + celery + pyredis + libcurl + ffmpeg +
libopencv + nodejs + phantomjs
Python 2.7 + Flask + pyredis + celery + psycopg +
postgresql-client
Development VM
QA server
Public Cloud
Disaster recovery
Contributor’s laptop
Production Servers
The Challenge
MultiplicityofStacks
Multiplicityof
hardware
environments
Production Cluster
Customer Data Center
Doservicesandapps
interact
appropriately?
CanImigrate
smoothlyand
quickly?
MultiplicityofGoods
Multipilicityof
methodsfor
transporting/storing
DoIworryabout
howgoodsinteract
(e.g.coffeebeans
nexttospices)
CanItransportquickly
andsmoothly
(e.g.fromboattotrain
totruck)
Cargo Transport Pre-1960
Intermodal Shipping Container
Static website Web frontendUser DB Queue Analytics DB
Developm
ent VM
QA server Public Cloud Contributor’
s laptop
The heart of Docker is a container for code
MultiplicityofStacks
Multiplicityof
hardware
environments
Production
Cluster
Customer
Data Center
Doservicesandapps
interact
appropriately?
CanImigrate
smoothlyandquickly
http://youtu.be/UFLCdmfGs7E
9
Why it works—separation of concerns
Dan the Developer
Worries about what’s
“inside” the container
• His code
• His Libraries
• His Package
Manager
• His Apps
• His Data
All Linux servers look the
same
Oscar the Ops Guy
Worries about what’s
“outside” the container
• Logging
• Remote access
• Monitoring
• Network config
All containers start, stop,
copy, attach, migrate, etc.
the same way
Docker made containers easy
11
Simple APIs and readable Dockerfiles promote forking and sharing of code
GIT/maven style repositories
Layered images promote Continuous Delivery processes and sharing
Light weight images lend themselves to productive local environments to test distributed scenarios
Why are containers lightweight?
Bins/
Libs
App
A
Original App
AppΔ
Bins/
App
A
Bins/
Libs
App
A’
Guest
OS
Bins/
Libs
Modified App
VMs
Every modification = new package
App
A
Guest
OS
Bins/
Libs
Copy of App
App
A
Guest
OS
Guest
OS
VMs Containers
Save the diffs between container A and
container A’ with Layers
IBM and Docker
• Partnership –Docker Hub Enterprise
• IBM Cloud
• Container Service
• IBM Image Build Service
• Delivery Pipeline for Containers
• Hyrbid Cloud
• UrbanCode Deploy and Docker
16
Docker Hub Enterprise
• Turn-key, on-premise
installation behind an
enterprise firewall
• Store and manage
Docker images
• Flexible storage options
• Architected for future
expansion
17
IBM Container Service
 Automate the build of
Docker images
 Manage and
distribute Docker
images in private
image registries
 Easily host
containers in the
cloud
 Scale and auto-
recovery built-in
 Logging and
Monitoring built-in
18
http://youtu.be/jxJJ1Tgqz_s
19
IBM Container
Image Build Service
Image
Registry
https://www.youtube.com/watch?v=HaSmJYtQQJM
https://developer.ibm.com/bluemix/docs/set-up-
continuous-delivery-ibm-containers/
22
Building Cloud Applications
23
Micro-ServicesMonolith
UrbanCode Deploy for Hybrid Cloud
application deployments
24
Visibility and automated control of your application deployment process
25
Composite Applications
Components
Re-usable Workflows
Environment
Management
SIT
PROD
The “What”
The “How”
The “Where”
Deployment
Automation
UrbanCode Deploy and Containers
Images from
image registry Deploy containers from
image component
Deploy to docker hosts or
IBM Container Service
Dev/Test with Hybrid Cloud
https://hub.jazz.net/project/pquiring/ucddockerpluginspublic/overview
26
Off-PremOn-Prem
Image Registry
IBM Bluemix
IBM UrbanCode Deploy
PRODSTAGING
Summary
• Docker has changed the way that
software is packaged, distributed,
and deployed
• IBM has partnered with Docker to
provide enterprise services for
Docker
• IBM Container Service
• Docker Hub Enterprise
• Delivery Pipeline for IBM
Container Service
• Hybrid Cloud deployment
automation with Docker and
UrbanCode Deploy
27
Notices and Disclaimers
Copyright © 2015 by International Business Machines Corporation (IBM). No part of this document may be reproduced or
transmitted in any form without written permission from IBM.
U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with
IBM.
Information in these presentations (including information relating to products that have not yet been announced by IBM) has been
reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors. IBM
shall have no responsibility to update this information. THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY,
EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF
THIS INFORMATION, INCLUDING BUT NOT LIMITED TO, LOSS OF DATA, BUSINESS INTERRUPTION, LOSS OF PROFIT
OR LOSS OF OPPORTUNITY. IBM products and services are warranted according to the terms and conditions of the
agreements under which they are provided.
Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without
notice.
Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are
presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual
performance, cost, savings or other results in other operating environments may vary.
References in this document to IBM products, programs, or services does not imply that IBM intends to make such products,
programs or services available in all countries in which IBM operates or does business.
Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not
necessarily reflect the views of IBM. All materials and discussions are provided for informational purposes only, and are neither
intended to, nor shall constitute legal or other guidance or advice to any individual participant or their specific situation.
It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal
counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customer’s
business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or
represent or warrant that its services or products will ensure that the customer is in compliance with any law.
Notices and Disclaimers (con’t)
Information concerning non-IBM products was obtained from the suppliers of those products, their published
announcements or other publicly available sources. IBM has not tested those products in connection with this
publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM
products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products.
IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to
interoperate with IBM’s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED,
INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE.
The provision of the information contained herein is not intended to, and does not, grant any right or license under any
IBM patents, copyrights, trademarks or other intellectual property right.
• IBM, the IBM logo, ibm.com, Bluemix, Blueworks Live, CICS, Clearcase, DOORS®, Enterprise Document
Management System™, Global Business Services ®, Global Technology Services ®, Information on Demand,
ILOG, Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™,
PureApplication®, pureCluster™, PureCoverage®, PureData®, PureExperience®, PureFlex®, pureQuery®,
pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, SoDA, SPSS, StoredIQ, Tivoli®, Trusteer®,
urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and System z® Z/OS, are trademarks of
International Business Machines Corporation, registered in many jurisdictions worldwide. Other product and
service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on
the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.
Thank You
Your Feedback is
Important!
Access the InterConnect 2015
Conference CONNECT Attendee
Portal to complete your session
surveys from your smartphone,
laptop or conference kiosk.

Docking DevOps 2015-03-01

  • 1.
    © 2015 IBMCorporation Docking DevOps Daniel Berg @dancberg IBM Distinguished Engineer Robbie Minshall rjminsha@us.ibm.com DevOps Technologist 3962A
  • 2.
    An Open Platformto Build, Ship, and Run Distributed Applications
  • 3.
    Explosion of thedocker community
  • 4.
    Static website Web frontend UserDB Queue Analytics DB Background workers API endpoint nginx 1.5 + modsecurity + openssl + bootstrap 2 postgresql + pgv8 + v8 hadoop + hive + thrift + OpenJDK Ruby + Rails + sass + Unicorn Redis + redis-sentinel Python 3.0 + celery + pyredis + libcurl + ffmpeg + libopencv + nodejs + phantomjs Python 2.7 + Flask + pyredis + celery + psycopg + postgresql-client Development VM QA server Public Cloud Disaster recovery Contributor’s laptop Production Servers The Challenge MultiplicityofStacks Multiplicityof hardware environments Production Cluster Customer Data Center Doservicesandapps interact appropriately? CanImigrate smoothlyand quickly?
  • 5.
  • 6.
  • 7.
    Static website WebfrontendUser DB Queue Analytics DB Developm ent VM QA server Public Cloud Contributor’ s laptop The heart of Docker is a container for code MultiplicityofStacks Multiplicityof hardware environments Production Cluster Customer Data Center Doservicesandapps interact appropriately? CanImigrate smoothlyandquickly
  • 8.
  • 9.
    Why it works—separationof concerns Dan the Developer Worries about what’s “inside” the container • His code • His Libraries • His Package Manager • His Apps • His Data All Linux servers look the same Oscar the Ops Guy Worries about what’s “outside” the container • Logging • Remote access • Monitoring • Network config All containers start, stop, copy, attach, migrate, etc. the same way
  • 10.
    Docker made containerseasy 11 Simple APIs and readable Dockerfiles promote forking and sharing of code GIT/maven style repositories Layered images promote Continuous Delivery processes and sharing Light weight images lend themselves to productive local environments to test distributed scenarios
  • 11.
    Why are containerslightweight? Bins/ Libs App A Original App AppΔ Bins/ App A Bins/ Libs App A’ Guest OS Bins/ Libs Modified App VMs Every modification = new package App A Guest OS Bins/ Libs Copy of App App A Guest OS Guest OS VMs Containers Save the diffs between container A and container A’ with Layers
  • 12.
    IBM and Docker •Partnership –Docker Hub Enterprise • IBM Cloud • Container Service • IBM Image Build Service • Delivery Pipeline for Containers • Hyrbid Cloud • UrbanCode Deploy and Docker 16
  • 13.
    Docker Hub Enterprise •Turn-key, on-premise installation behind an enterprise firewall • Store and manage Docker images • Flexible storage options • Architected for future expansion 17
  • 14.
    IBM Container Service Automate the build of Docker images  Manage and distribute Docker images in private image registries  Easily host containers in the cloud  Scale and auto- recovery built-in  Logging and Monitoring built-in 18
  • 15.
  • 16.
    IBM Container Image BuildService Image Registry https://www.youtube.com/watch?v=HaSmJYtQQJM
  • 17.
  • 18.
  • 19.
    UrbanCode Deploy forHybrid Cloud application deployments 24 Visibility and automated control of your application deployment process
  • 20.
    25 Composite Applications Components Re-usable Workflows Environment Management SIT PROD The“What” The “How” The “Where” Deployment Automation UrbanCode Deploy and Containers Images from image registry Deploy containers from image component Deploy to docker hosts or IBM Container Service
  • 21.
    Dev/Test with HybridCloud https://hub.jazz.net/project/pquiring/ucddockerpluginspublic/overview 26 Off-PremOn-Prem Image Registry IBM Bluemix IBM UrbanCode Deploy PRODSTAGING
  • 22.
    Summary • Docker haschanged the way that software is packaged, distributed, and deployed • IBM has partnered with Docker to provide enterprise services for Docker • IBM Container Service • Docker Hub Enterprise • Delivery Pipeline for IBM Container Service • Hybrid Cloud deployment automation with Docker and UrbanCode Deploy 27
  • 23.
    Notices and Disclaimers Copyright© 2015 by International Business Machines Corporation (IBM). No part of this document may be reproduced or transmitted in any form without written permission from IBM. U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM. Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors. IBM shall have no responsibility to update this information. THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION, INCLUDING BUT NOT LIMITED TO, LOSS OF DATA, BUSINESS INTERRUPTION, LOSS OF PROFIT OR LOSS OF OPPORTUNITY. IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided. Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without notice. Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual performance, cost, savings or other results in other operating environments may vary. References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in which IBM operates or does business. Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not necessarily reflect the views of IBM. All materials and discussions are provided for informational purposes only, and are neither intended to, nor shall constitute legal or other guidance or advice to any individual participant or their specific situation. It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customer’s business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law.
  • 24.
    Notices and Disclaimers(con’t) Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to interoperate with IBM’s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. The provision of the information contained herein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other intellectual property right. • IBM, the IBM logo, ibm.com, Bluemix, Blueworks Live, CICS, Clearcase, DOORS®, Enterprise Document Management System™, Global Business Services ®, Global Technology Services ®, Information on Demand, ILOG, Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™, PureApplication®, pureCluster™, PureCoverage®, PureData®, PureExperience®, PureFlex®, pureQuery®, pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, SoDA, SPSS, StoredIQ, Tivoli®, Trusteer®, urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and System z® Z/OS, are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.
  • 25.
    Thank You Your Feedbackis Important! Access the InterConnect 2015 Conference CONNECT Attendee Portal to complete your session surveys from your smartphone, laptop or conference kiosk.

Editor's Notes

  • #4 http://cto.vmware.com/vmware-containers-containers-without-compromise/ http://googlecloudplatform.blogspot.co.uk/2014/08/mesosphere-collaborates-with-kubernetes-and-google-cloud-platform.html https://zapier.com/engineering/continuous-integration-jenkins-docker-github/
  • #8 A standard container that is loaded with virtually any goods, and stays sealed until it reaches final delivery. …in between, can be loaded and unloaded, stacked, transported efficiently over long distances, and transferred from one mode of transport to another
  • #9 An engine that enables any payload to be encapsulated as a lightweight, portable, self-sufficient container… …that can be manipulated using standard operations and run consistently on virtually any hardware platform
  • #27 Application Top level structure to bind process, properties, and component versions together Components Tiers or services of the application Each with distinct process and properties Environments Target servers Environment specific configurations Processes Coordinates component level processes Same processes used across environments