Docker and Microsoft: How Azure is Bringing the World

advertisement
CDP-B382 Docker and Microsoft: How Azure is Bringing the
World of Windows and Linux Together
TechEd Europe
Nick Stinemates / Corey Sanders
Agenda
•
•
•
•
•
•
•
Introduction
The growing technology challenge
An analogy: the shipping industry
Docker Engine Overview
Docker Hub Overview
Microsoft and Docker: partnership
Azure and Docker
Nick Stinemates
•
•
•
•
•
•
Head of Business Development & Technical Alliances at Docker, Inc
or: PARTNERS!
Open Source Fanatic
Programming most of my life: started on VB3 for Windows 3.1
I love to talk, so.. please get in touch
nick@docker.com | @nickstinemates | github.com/keeb | keeb on
Freenode
Corey Sanders
•
•
•
•
•
•
•
Partner Group Program Manager at Microsoft
IaaS on Azure
Former Windows Developer
Re-learning Open Source
Programming most of my life: started on Visual Basic on Apple IIE
I like making jokes…
corey.sanders@Microsoft.com @ CoreySandersWA
Agenda
•
•
•
•
•
•
•
Introduction
The growing technology challenge
An analogy: the shipping industry
Docker Engine Overview
Docker Hub Overview
Microsoft and Docker: partnership
Azure and Docker
Applications Have Fundamentally Changed
~2000
2014
Long lived
Development is iterative and constant
Monolithic and built on a single stack
Built from loosely coupled
components
Deployed to a single server
Deployed to a multitude of servers
User
DB
postgresql
+ pgv8 +
Static
website
Queu
e
Analytics
DB
hadoop
+ hive + thrift +
Redis + redis-sentinel
OpenJDK
v8
nginx 1.5 + modsecurity + openssl + bootstrap 2
Web
frontend
Background
workers
Python 3.0 + celery + pyredis + libcurl + ffmpeg + libopencv + nodejs
+ phantomjs
Ruby + Rails + sass + Unicorn
API
endpoint
Do services and
apps interact
appropriately?
Multiplicity of
Stacks
The Problem in 2014: Distributed Applications
Development
VM
Public
Cloud
Production
Cluster
QA
server
Disaster
recovery
Customer Data
Center
Production
Servers
Contributor’s
laptop
Can I migrate
smoothly and
quickly?
Multiplicity of
hardware
environments
Python 2.7 + Flask + pyredis + celery + psycopg + postgresql-client
The Matrix From Hell
Static website
?
?
?
?
?
?
?
Web frontend
?
?
?
?
?
?
?
Background workers
?
?
?
?
?
?
?
User DB
?
?
?
?
?
?
?
Analytics DB
?
?
?
?
?
?
?
Queue
?
?
?
?
?
?
?
Single Prod
Server
Onsite
Cluster
Public
Cloud
Contributor’
s laptop
Customer
Servers
Developmen
QA Server
t VM
Multiplicity of
Goods
Do I worry about
how goods interact
(e.g. coffee beans
next to spices)
Can I transport
quickly and smoothly
(e.g. from boat to
train to truck)
Multipilicity of
methods for
transporting/storin
g
An Inspiration: Cargo Transport Pre-1960
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
Can I transport
quickly and
smoothly
(e.g. from boat to
train to truck)
Multiplicity of
methods for
transporting/storing
Do I worry about
how goods interact
(e.g. coffee beans
next to spices)
Multiplicity of
Goods
Solution: Intermodal Shipping Container
Ecosystem
The Intermodal Shipping Container Ecosystem
•
•
•
•
•
•
90% of all cargo now shipped in a standard container
Order of magnitude reduction in cost and time to load and unload ships
Massive reduction in losses due to theft or damage
Huge reduction in freight cost as percent of final goods (from >25% to <3%)
massive globalization
5000 ships deliver 200M containers per year
Static
website
User
DB
Queu
e
Web
frontend
Analytics
DB
An engine that enables any
payload to be encapsulated
as a lightweight, portable,
self-sufficient container…
Multiplicity of
hardware
environments
Development VM
QA
server
Customer Data Center
Public
Cloud
Production Cluster
Contributor’s laptop
Can I migrate
smoothly and
quickly
…that can be manipulated using
standard operations and run
consistently on virtually any
hardware platform
Do services and
apps interact
appropriately?
Multiplicity of
Stacks
Let’s create an ecosystem for distributed
applications
And eliminate the matrix from Hell
Static website
Web frontend
Background workers
User DB
Analytics DB
Queue
Developmen
QA Server
t VM
Single Prod
Server
Onsite
Cluster
Public
Cloud
Contributor’
s laptop
Customer
Servers
Importance of an Ecosystem
•
•
•
•
Container technology has been around for a while ( LXC, Solaris
Zones, BSD Jails)
Analogy: Shipping containers are not just steel boxes
With Docker, low level containers get the following:
Re-usable components
Ability to run on any Linux server today: physical, virtual,
VM, cloud, OpenStack, +++
Ability to move between any of the above in a matter of
seconds-no modification or delay
Ability to share containerized components
Self contained environment—no dependency hell
Tools for how containers work together: linking, nesting,
discovery, orchestration
“Containerization” is really “Dockerization”
Snapshot: The Docker Ecosystem
Community
Partners
640+ Contributors
250+ Meetups on Docker
38M Downloads
16K Projects on GitHub
The Docker Platform
Support
Enterprise Support
Docker Engine
Docker Hub
Robust Documentation
Implementation, Integration, Training
Network of Partners
Users
Content
Official
Repos&&35
DockerizedApps
Apps
Official Repos
14K+KDockerized
Build, Ship, and Run
Agenda
•
•
•
•
•
•
•
Introduction
The growing technology challenge
An analogy: the shipping industry
Docker Engine Overview
Docker Hub Overview
Microsoft and Docker
Azure and Docker
Docker Engine
• Open Source Project written in Go
• Released March, 2013
• Provides the Docker Container - Repeatable Runtimes, Sandboxing,
Network, and Storage
• Linux and (soon) Windows CLI tools for Developers
• Local and Remote REST API for further integration
• Low level API for Runtime, Storage, and Network extension
Docker Engine: Demo
Comparison: Containers vs. VMs
App
A
App
A’
App
B
Bins/
Libs
Bins/
Libs
Bins/
Libs
Guest
OS
Guest
OS
Guest
OS
VM
Containers are isolated,
but share OS kernel and, where
appropriate, bins/libraries
…result is significantly faster
deployment, much less overhead,
easier migration, faster restart
Guest
OS
Guest
OS
Bins/Libs
Host OS
Host OS
Server
Server
App B’
App B’
App B’
Bins/Libs
App B
App A’
Hypervisor (Type 2)
App A
Container
Agenda
•
•
•
•
•
•
•
Introduction
The growing technology challenge
An analogy: the shipping industry
Docker Engine Overview
Docker Hub Overview
Microsoft and Docker
Azure and Docker
Docker Hub
•
•
•
•
•
Launched June, 2014
Enables any Docker Host to run any application in seconds
Provides Official, Public, and Private Docker Application Repositories
Workflow management: Automated Builds, Webhooks
Distribution Channel: Get vendor supported and provided Software
Source
Linux OS
Prod
Machine
DockerFile
Policy
Build
Ship
Registries
Public
Curated
Private
Docker
VM
QA
Docker
Docker
Mac/Win Dev
Machine
Provenance
Docker
Docker
Boot2Docker
Physical
Docker
Docker
Docker
Dev
Collab
Linux OS
Prod
Machine
Infrastructure Management
Docker Hub
Users
Linux OS
Prod
Machine
Docker
Docker
Analytics
DB
Source Code
Repository
Docker
Docker Hub: Build, Ship, Run Applications
VM
VM
Infrastructure Management
Virtual
Linux OS
Docker Hub API
QA Machine
Third Party Tools
TEST
Staging
TEST
TEST
TEST
TEST
Run
GCE
RAX
Azure
Cloud
++
Any App
+ 45K apps
+ 16K projects
API
Engine
Hub
open source software at the heart
of the Docker platform
cloud-based platform services for
distributed applications
API
Any infrastructure
• Physical
• Virtual cloud
Agenda
•
•
•
•
•
•
•
Introduction
The growing technology challenge
An analogy: the shipping industry
Docker Engine Overview
Docker Hub Overview
Microsoft and Docker
Azure and Docker
Recent News: Docker for Windows
• Bring Docker and Containers to
Windows
• Contribute to open source Docker
Engine to support Windows
• Local box support on Hyper-V
Bringing Communities Together
Linux
Community
Windows
Community
Distributed Applications With Both Linux and Windows
Components
Queu
e
Web
Fronten
d
Use
r
DB
API
Endpoin
t
Dat
a
Analytic
s
DB
Backgroun
d
Workers
Dat
a
Production
Cluster
Development
VM
Public
Cloud
QA
Server
Disaster
Recovery
Customer Data
Center
Production
Servers
Contributor’s
Laptop
Agenda
•
•
•
•
•
•
•
Introduction
The growing technology challenge
An analogy: the shipping industry
Docker Engine Overview
Docker Hub Overview
Microsoft and Docker
Azure and Docker
Extension Model and Docker
• DockerCon Announce
• Curated Extensions
• Updated with latest
Agent
Demo: Docker Client on Windows
Docker Hub Integration
Docker Hub
Azure Marketplace
Combining Windows and Linux on Azure
SQL Server
Background
Workers
nginx
Recap
• Docker has great momentum building an ecosystem to build, ship, and
run applications
• Docker and Microsoft have partnered to bring the success of Docker on
Linux to Windows
• Now, virtually any workload can be deployed and run anywhere
Learn More
• All Videos and Talks from DockerCon: http://bit.ly/1AnvHFz
• Demo of DockerHub: see Ben Golub keynote from DockerCon, http://bit.ly/1xHqUL8
demo starts at 29:00
• Sign up for a DockerHub account: https://hub.docker.com/
• Security & Isolation: see above, also blog.docker.io
• Use Cases: https://docker.com/resources/usecases/
• Docker project: www.docker.com/
• Follow Docker on Twitter: twitter.com/docker
• Take the Docker interactive tutorial: https://docker.com/tryit/
• Join Docker on IRC: botbot.me/freenode/docker/
• Go to the Docker repository on GitHub: github.com/docker/docker/
• Go to a meetup: https://www.docker.com/community/meetups/
http://technet.microsoft.com/library/dn765472.aspx
http://technet.microsoft.com/en-us/library/hh546785.aspx
http://www.microsoft.com/en-us/server-cloud/products/
windows-azure-pack
http://azure.microsoft.com/en-us/
http://channel9.msdn.com/Events/TechEd
www.microsoft.com/learning
http://microsoft.com/technet
http://developer.microsoft.com
Download