Industry analysts agree
“By 2020, more than 50% of enterprises will run
mission-critical, containerized cloud-native applications
in production, up from less than 5% today.”
Build/CI,
Integrate,
Test
3.
1.
Outer-Loop
Push
code
Production
environments
Run, Manage
5.
Container Service
Service Fabric
Container Instance
Azure Batch
Partner solutions
Docker EE
Code
Run
Validate
Debug
Inner-Loop
CD, Deploy
4.
Source Code
Control
(SCC)
2.
App Services
6.
Azure
Container
Registry
Azure Monitoring
Multiplicityof
Goods
Multipilicityof
methodsfor
transporting/storing
DoIworryabout
howgoodsinteract
(e.g.coffeebeans
nexttospices)
CanItransport
quicklyandsmoothly
(e.g.fromboatto
traintotruck)
An Inspiration: Cargo Transport Pre-1960
Multiplicityof
Goods
Multiplicityof
methodsfor
transporting/storing
DoIworryabout
howgoodsinteract
(e.g.coffeebeans
nexttospices)
CanItransport
quicklyand
smoothly
(e.g.fromboatto
traintotruck)
Solution: Intermodal Shipping Container
Ecosystem
…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.
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
Web
frontend
User
DB
Queu
e
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 Problem in 2017: Distributed Applications
Multiplicityof
Stacks
Multiplicityof
hardware
environments
Production
Cluster
Customer Data
Center
Doservicesand
appsinteract
appropriately?
CanImigrate
smoothlyand
quickly?
Static
website
Web
frontend
User
DB
Queu
e
Analytics
DB
Development VM
QA
server
Public
Cloud Contributor’s laptop
Let’s create an ecosystem for distributed
applications
Multiplicityof
Stacks
Multiplicityof
hardware
environments
Production ClusterCustomer Data Center
Doservicesand
appsinteract
appropriately?
CanImigrate
smoothlyand
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…
App
A
Comparison: Containers vs. VMs
Hypervisor
Host OS
Server
Guest
OS
Bins/
Libs
App
A’
Guest
OS
Bins/
Libs
App
B
Guest
OS
Bins/
Libs
AppA’
Host OS
Server
Bins/Libs
AppA
Bins/Libs
AppB
AppB’
AppB’
AppB’
VM
Container
Containers are isolated,
but share OS kernel and, where
appropriate, bins/libraries
Guest
OS
Guest
OS
…result is significantly faster
deployment, much less overhead,
easier migration, faster restart
Build/CI,
Integrate,
Test
3.
1.
Outer-Loop
Push
code
Production
environments
Run, Manage
5.
Container Service
Service Fabric
Container Instance
Azure Batch
Partner solutions
Docker EE
Code
Run
Validate
Debug
Inner-Loop
CD, Deploy
4.
Source Code
Control
(SCC)
2.
App Services
6.
Azure
Container
Registry
Azure Monitoring
1.
Code
Run
Validate
Debug
Inner-Loop
Visual Studio Docker Tools
aka.ms/DockerToolsForVS
Build/CI,
Integrate,
Test
3.
CD, Deploy
4.
Source Code
Control
(SCC)
2.
Azure
Container
Registry
TFS
Develop
Developer Workstation
Team Collaboration
Build&Test
Build/CI
Test
Deploy
Release
Monitor&Learn
Monitor
Microsoft
Ecosystem
Workstations - On-Premises| Hybrid | Cloud Monitoring- On-Premises | Hybrid | CloudALMServices - On-Premises| Hybrid | Cloud
DEV TEST QA
Environments - On-Premises| Hybrid | Cloud
Develop
Developer Workstation
Team Collaboration
Build&Test
Build/CI
Test
Deploy
Configuration
Monitor&Learn
Monitor
This graphic shows OSS and partner products that are
integrated with the Microsoft DevOps solution
Mixed
Ecosystem
Release
Azure Container Registry
Manage images for all types of containers
One registry across multiple regions
Keep container images close
Use Native Docker CLI tools
Production
environments
Run, Manage
5.
Container Service
Service Fabric
Container Instance
Azure Batch
Partner solutions
Docker EE
App Services
Azure Container offerings
Container Service – Container hosting environment optimized for Azure that lets you deploy, scale, and
orchestrate container-based applications using containers using Kubernetes, DC/OS or Docker Swarm.
Container Instance – Easily run containers with a single command. No container orchestration tools to
learn—just an application, in a container, running in the cloud.
Container Registry – Store and manage container images across all types of Azure deployments
Web App for Containers – Deploy web applications on App Service using Linux containers.
Service Fabric – Develop microservices and orchestrate containers on Windows or Linux.
Docker EE – Build, ship and run business critical applications in production at scale.
•
•
•
•
•
•
•
•
•
•
•
•
•
6.
Azure Monitoring
Rewrite
• Re-implement using
container- and
cloud-optimized
framework
(e.g. ASP.NET Core)
• Lots of work
• Option to change
architecture
Lift and shift
• Migrate existing VMs
to container
• Extract essentials
from VM image
• Benefit from sharing
resources at kernel
Containerize
• Host existing app in
Docker image
• Deploy app in image
• Applies mostly to
ASP.NET and WCF
services
• Some rework
required
 Convert WIM/VHD to Dockerfile
 Written in PowerShell
 Open Source
Discover
•Find Installed Programs
•Show Roles & Features
•IIS Sites & Configurations
•Common applications
•SQL, Apache
Generate
•Dockerfile
https://github.com/docker/communitytools-image2docker-win
https://aka.ms/containersebook
https://aka.ms/dockerlifecycleebook
https://aka.ms/MicroservicesEbook
https://aka.ms/liftandshiftwithcontainersebook
Build/CI,
Integrate,
Test
3.
1.
Outer-Loop
Push
code
Production
environments
Run, Manage
5.
Container Service
Service Fabric
Container Instance
Azure Batch
Partner solutions
Docker EE
Code
Run
Validate
Debug
Inner-Loop
CD, Deploy
4.
Source Code
Control
(SCC)
2.
App Services
6.
Azure
Container
Registry
Azure Monitoring
The container ecosystem @ MicrosoftA story of developer productivity

The container ecosystem @ Microsoft A story of developer productivity