© 2015 IBM Corporation
Docking DevOps
Daniel Berg @dancberg IBM Distinguished Engineer
Robbie Minshall @kiwitarheel IBM Senior Engineer
3962A
Explosion of the docker community
Microso' plans support for both Kubernetes & Docker on the Microso' Azure pla9orm
Vmware plans 5 sessions and keynote content on containers at VMWorld US
Google and Mesosphere join to bring together Mesosphere, Kubernetes and GCP
The community and vendors are quickly developing tooling. FIG consumed by docker, Atlassian automated builds, Travis CI automated builds and Chef supported images
AWS ElasPc Beanstalk adds Docker support for building and deploying containers
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 Mul$p
licity
of S
tacks
Mul$p
licity
of
hardware
environm
ents Production Cluster
Customer Data Center
Do services and apps interact
appropriately?
Can I migrate
smoothly and quickly?
Mul$p
licity
of G
oods
Mul$p
ilicity of
metho
ds fo
r tran
spor$n
g/storing
Do I worry about
how goods interact
(e.g. coffee beans next to spices)
Can I transport quickly and sm
oothly (e.g. from
boat to train to truck)
Cargo Transport Pre-1960
Mul$p
licity
of G
oods
Mul$p
licity
of
metho
ds fo
r transpor$n
g/storing
Do I worry about
how goods interact
(e.g. coffee beans next to spices)
Can I transport quickly and sm
oothly (e.g. from
boat to train to truck)
Solution: Intermodal Shipping Container
…in between, can be loaded and unloaded, stacked, transported efficiently over long distances, and transferred from one mode of transport to another
A standard container that is loaded with virtually any goods, and stays sealed until it reaches final delivery.
Static website Web frontend User DB Queue Analytics DB
Development VM
QA server Public Cloud Contributor’s laptop
Docker is a shipping container system for code Mul$p
licity
of Stacks
Mul$p
licity
of
hardware
environm
ents
Production Cluster
Customer Data Center
Do services and apps interact
appropriately?
Can I migrate
smoothly and quickly
…that can be manipulated using standard operations and run consistently on virtually any hardware platform
An engine that enables any payload to be encapsulated as a lightweight, portable, self-sufficient container…
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
What is Docker
8
Simple APIs and readable Dockerfiles promote forking and sharing of code GIT/maven style repositories Layered images promote ConPnuous Delivery processes and sharing Light weight images lend themselves to producPve local environments to test distributed scenarios
Why are Docker containers lightweight?
Bins/ Libs
App A
Original App
App Δ
B
ins/
App A
Bins/ Libs
App A’
Guest OS
Bins/ Libs
Modified App
VMs Every modifica$on = 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
Managing Change with Images and Containers
Develop Test/QA Build Run Scale Hyper scale
DockerFile
Source Code Repository
TEST
TEST
TEST
TEST
TEST
CI/CD
Physical
Virtual
Cloud
Search, Pull Push
Search, Pull Push
Search, Pull Push
Mac/Win Dev Machine
Boot 2 Docker
Docker Registry
USERS
PROVENANCE
MGMT UI
POLICY
Registries
DockerHub API Fl
eeth
ub
APP CREATION
APP DEPLOYMENT
2)Flexible and efficient app deployment, update, and migra$on
APP MANAGEMENT
Dev Machine
Docker
Linux OS
PROD BOX
Linux OS
Doc
ker
PROD BOX
Linux OS
Doc
ker
PROD BOX
Linux OS
Doc
ker
GCE RACK IBM
VM
Doc
ker
VM
Doc
ker
VM
Doc
ker
DaaS DaaS DaaS
Infrastructure Mgt
Infrastructure Mgt
Public Private Curated
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
11
Docker Hub Enterprise
• Turn-key, on-premise installation behind an enterprise firewall
• Store and manage Docker images
• Flexible storage options • Architected for future
expansion
12
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
13
UrbanCode Deploy for Hybrid Cloud application deployments
16
Visibility and automated control of your application deployment process
17
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
18
Off-
Pre
m
On-
Pre
m
Image Registry
IBM Bluemix
IBM UrbanCode Deploy PROD STAGING
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
19
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.
Top Related