introduction to microsoft windows containers

Post on 10-Jan-2017

321 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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.

top related