Download - Introduction To Microsoft Windows Containers
In Depth Introduction to Containers On Microsoft Platforms
Dave StrebelCloud Technical Specialist
Microsoft @HybridCloud_Guy
blogs.technet.com/hybridguy
About Me:• Mixture of infrastructure and app\dev• Love technology and beer• Converted Windows fan• Docker Meetup Organizer
Containers
The tension between developers and IT
How do you empower developers to create innovative applications at a competitive rate without disrupting IT’s ability to manage servers and maintain control?
Developers need to create applications at a competitive rate without worrying about IT New applications run smoothly on developer’s machines, but malfunction in traditional IT server Developer productivity and application innovation become suspended
IT needs to manage servers and maintain compliance with little disruptionIT unsure of how to integrate unfamiliar applications, require help from developersIT is unable to focus on server protection and application compliance
Developers IT
Old model was to deploy apps on VM’s and use this as scale model
VM
App
Scale up or scale out?
Scale out: increased complexity for management, deployment, DevOps
App App App
Next: Break application into components
Web API Web API Web API
What if I only want to scale parts of my app? Added complexity for DevOps
Web API API API
How about even more?
Cache
Web2
API
API2
Web
Cache
Web2
API
API2
Web
Cache
Web2
API
API2
Web
What is a container anyway?
Is it a lightweight Virtual Machine?
Shared kernel, very fast start-up, and repeatable execution.
Containers run on: Linux, Windows (soon), VM’s, physical servers, Azure, hosted clouds, private clouds, etc.
Fast deployment, instant startupDensity, partitioning, density Reusable and portable codeReduce developer friction
“Build, Ship, and Run”
Diverse developer framework support
Why containers & microservices?
Virtual MachinesEach VM has independent, full OSFull isolationSeparate app frameworksSupport features such as live migration
ContainersShared Host OSNear instant start-upProcesses in containers are isolatedDependent app services and libraries are tied to container (layers)All containers on a host will share the same guest OS version
Containers vs. VM’s
Physical Server
Guest OS w/ Docker
AppFramework
AppA
AppA
AppFramework
AppB
AppB Container
Guest OS Guest OS
AppFramework
AppFramework
AppA
AppA
Guest OS
AppFramewo
rk
AppB
VM
Hypervisor
AppFramework
AppC
AppC
Guest OS
AppFramewo
rk
AppC
Physical ServerHypervisor
Container tied to dependenciesBase imageAdded files, binaries, librariesApp platforms. Eg – MongoDB, apache, node.js, etc.Configuration changesNetworkingCustom code
Can think of these as “layers”One can build new layers on top of an existing containerDocker will pull these required dependencies to install/run
Constructing a container
Let’s go over some Docker basics
API DBWeb
Docker Hub/Repository
Update, customize, add code
Pullimages
Create
images
(docker
build)PublishDeploy containers
WebWeb Web
API
API
DB
Windows Server 2016 will provide 2 container types:
Windows Server ContainersHyper-V Containers
Both provide high degree of Windows Server application compatibility
Both integrated with Docker Engine so compatible with Docker Client and Docker APIs
Windows Containers
Install manually on supported Linux VM’sDocker VM ExtensionBuilt-in to Windows Server 2016 TPMarketplace
Pre-installed on UbuntuMulti-container composed apps (eg – Wordpress+mySQL) Docker Trusted Registry, Jenkins, etc.
Azure Container Service
Containers and Azure
How are customers managing these production environments?
Container Management in the Enterprise
Cluster deployment
and management
Scheduling and
automationService
Discovery
Container placement and
resource mgmt
Security
ContainerRegistry
Continuous deployment/ integration
Monitoring and Logging
MesosOpen source cluster manager platformNot just for containers (Hadoop, Spark, Elastic Search, etc.)Scales to 10,000’s of nodesUsed by Twitter, AirBnB, AppleMaster/Slave with standby Masters (Zookeeper quorum)
MarathonFramework for long running apps on Mesos clustersCan be combined with other frameworks such as Chronos, Aurora, or StormOne scheduler watching the other
Apache Mesos / Marathon
Streamlined provisioning of Apache Mesos ClustersVM Scale SetsLayered support of Swarm, Marathon, and ChronosDocker tooling and API supportIntegrated app management and scalingLinux and Windows Server containersPublic and private cloud
Azure Container Service
© 2015 Microsoft Corporation. All rights reserved.