introduction to microsoft windows containers

22
In Depth Introduction to Containers On Microsoft Platforms Dave Strebel Cloud 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

Upload: david-strebel

Post on 10-Jan-2017

320 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: 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

Page 2: Introduction To Microsoft Windows Containers

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

Page 3: Introduction To Microsoft Windows Containers

Old model was to deploy apps on VM’s and use this as scale model

Page 4: Introduction To Microsoft Windows Containers

VM

App

Scale up or scale out?

Page 5: Introduction To Microsoft Windows Containers

Scale out: increased complexity for management, deployment, DevOps

App App App

Page 6: Introduction To Microsoft Windows Containers

Next: Break application into components

Web API Web API Web API

Page 7: Introduction To Microsoft Windows Containers

What if I only want to scale parts of my app? Added complexity for DevOps

Web API API API

Page 8: Introduction To Microsoft Windows Containers

How about even more?

Cache

Web2

API

API2

Web

Cache

Web2

API

API2

Web

Cache

Web2

API

API2

Web

Page 9: Introduction To Microsoft Windows Containers

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.

Page 10: Introduction To Microsoft Windows Containers

Fast deployment, instant startupDensity, partitioning, density Reusable and portable codeReduce developer friction

“Build, Ship, and Run”

Diverse developer framework support

Why containers & microservices?

Page 11: Introduction To Microsoft Windows Containers

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

Page 12: Introduction To Microsoft Windows Containers

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

Page 13: Introduction To Microsoft Windows Containers

Let’s go over some Docker basics

Page 14: Introduction To Microsoft Windows Containers

API DBWeb

Docker Hub/Repository

Update, customize, add code

Pullimages

Create

images

(docker

build)PublishDeploy containers

WebWeb Web

API

API

DB

Page 15: Introduction To Microsoft Windows Containers

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

Page 16: Introduction To Microsoft 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

Page 17: Introduction To Microsoft Windows Containers
Page 18: Introduction To Microsoft Windows Containers

How are customers managing these production environments?

Page 19: Introduction To Microsoft Windows Containers

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

Page 20: Introduction To Microsoft Windows Containers

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

Page 21: Introduction To Microsoft Windows Containers

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

Page 22: Introduction To Microsoft Windows Containers

© 2015 Microsoft Corporation. All rights reserved.