31

Know Gain Learn enough about containers to be dangerous insights on where you would use containers what Microsoft is doing with containers

Embed Size (px)

Citation preview

2-704

Windows Server Containers: What, Why, and How

Mathew John & Taylor Brown (@taylorb_msft)Program Managers for Containers and Hyper-VMicrosoft Operating System Group

Agenda/Objectives

Know Gain Learnenough

about containers

to be dangerous

insights on where you would use

containers

what Microsoft

is doing with containers

Datacenter inflection points

Physical Machines

Machine Virtualization

Infrastructure hosting – early cloud

Services – IaaS, PaaS, SaaS

Containers - DevOps

Container Ecosystem

Container Images

Image Repository

Container Run-Time

Linux

Demo

Local Repository

Development Process Using Containers

Central Repository

Application

Framework

Local Repository

Development Process Using Containers

Central Repository

Application

Framework

Application

Framework

Developers can easily identify application

frameworks and pull them locally from central

repositories

Local Repository

Development Process Using Containers

Central Repository

Application

Framework

Application

Framework

Developers can easily identify application

frameworks and pull them locally from central

repositories

Required dependencies are automatically identified and

pulled locally

Local Repository

Development Process Using Containers

using System;class Program{ static void Main() {

}}

Central Repository

Application

Framework

Application

Framework

Developers use the same programming languages

and environments they are accustomed to

Local Repository

Development Process Using Containers

using System;class Program{ static void Main() {

}}

Central Repository

Application

Framework

Application

Framework

Applications are compiled and assembled in the same

way developers are accustomed to

Local Repository

Development Process Using Containers

using System;class Program{ static void Main() {

}}

Central Repository

Application

Framework

Application

Framework

A new container images is built containing the

application written by the developer

Local Repository

Development Process Using Containers

using System;class Program{ static void Main() {

}}

The new application container image can now

be pushed to a central repository

Central Repository

Application

Framework

Application

Framework

Local Repository

Development Process Using Containers

using System;class Program{ static void Main() {

}}

The new application container image can now

be pushed to a central repository

Central Repository

Application

Framework

Application

Framework

Development Process Using Containers

Central Repository

Application

Framework

Development Process Using Containers

Central Repository

Application

Framework

Share with other developers

Used for unit testing

Development Process Using Containers

Central Repository

Application

Framework

Staged for integration or

QA

Share with other developers

Used for unit testing

Dev/Ops Process with Containers

Developers build and test apps in containers,

using development environment

i.e. Visual Studio

Operations automates

deployment and monitors deployed apps from central

repository

1 2

2

3

Operations collaborates with developers to provide app metrics and insights

Developers update, iterate, and deploy updated containers

Central Reposito

ry

Containers pushed to

central repository

Demo

Containers Offer

Fast Iteration

Resource Controls

Rapid Deployment

Defined State

SeparationImmutability

Making Them Ideal For

Distributed Compute

𝑓 (𝑥 )Database Web

TasksScale Out

Container Operating System Environments

Server CoreNano Server

Born in the cloud applications

Traditional Applications

Highly CompatibleHighly Optimized

Microsoft’s Container Run-Times

Windows Server Container

MOREMOBILITY

HIGHLY AUTOMATED

EFFICIENTSCALABLE

AND ELASTICEASY TO

IMPLEMENT

Hyper-V Container

MOREMOBILITY

HIGHLY AUTOMATED

EFFICIENTSCALABLE

AND ELASTICEASY TO

IMPLEMENT

MULTI-TENANCY

SHARED HOSTING

SECURE

SECURE

Container Run-Times

Modern App Development, Flexible Isolation

ApplicationFramework

Hyper-V Container

Windows Server Container

Write once, deploy anywhere

Container Management

PowerShell

Others

Docker

Windows Container Images

Application

Framework

Deploying Containers

Physical Machine

Hyper-V Virtual Machine(s)

Hyper-VContainer(s)

Windows ServerContainer(s)

Requires Hyper-V Hypervisor

Deploying Containers

Physical Machine

Virtual Machines

Hyper-VContainer(s)

Windows ServerContainer(s)

Requires Hyper-V Hypervisor

Microsoft Cloud

Azure On Premises Service Provider

Container ManagementPowerShell OthersDocker

Development Environments

Others…

The right tools for you.

Container Technologies

Linux

The right tools for you.

Virtual Machines

Linux

Microsoft Cloud

Azure On Premises Service Provider

Service FabricDevelopment Frameworks

and Languages

.Net

PHP Node

C++

JavaRuby Win32

Go PerlPhython

JavaScript

Container Technologies

Linux

In conclusion

Know Gain Learnenough

about containers

to be dangerous

insights on where you would use

containers

what Microsoft

is doing with containers

• Preview of Windows Server Containers – this summer.

• Preview of Hyper-V Containers – planned for this year

• How can you stay up to date?• Follow me on Twitter @taylorb_msft• Windows Container’s site goes live on Monday• https://msdn.microsoft.com/virtualization/windowscontainers• http://aka.ms/windowscontainers

What’s Next?

© 2015 Microsoft Corporation. All rights reserved.