windows containers deep dive

38

Upload: diego-martinez-gil

Post on 24-Jan-2018

60 views

Category:

Technology


6 download

TRANSCRIPT

Page 1: Windows containers deep dive
Page 2: Windows containers deep dive
Page 3: Windows containers deep dive

Containers deliver speed, flexibility, and savings

Agility

13X More software releases

65% Reduction in developer

onboarding time

Hyper-scale

Eliminate“works on my machine” issues

41%Move workloads across

private/public clouds

State of App development Survey: Q1 2016, Cornell

University case study

Availability

62%Report reduction in MTTR

10X Cost reduction in maintaining

existing applications

Page 4: Windows containers deep dive
Page 5: Windows containers deep dive

Process

Page 6: Windows containers deep dive

Server CoreNano Server

Container operating system environments

Traditional applications

Highly compatible

Highly optimized

Born-in-the-cloud applications

Page 7: Windows containers deep dive

Uncompressed container image ~1GB

Components not relevant in containers

Optional components not layers

Page 8: Windows containers deep dive

1Containerize Legacy Applications

Lift and shift for portability and efficiency

2

3

Transform Legacy to Microservices

Look for shared services to transform

Accelerate New Applications

Greenfield innovation

Page 9: Windows containers deep dive
Page 10: Windows containers deep dive

Image2DockerConvert 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

Page 11: Windows containers deep dive
Page 12: Windows containers deep dive

Mapping named pipes into containers

Hot-add of network interfaces

Initial support for sharing network interfaces between containers

Network overlay support (shipped!)

Page 13: Windows containers deep dive

License.txt PerfLogs Program Files

Program Files (x86)

Users Windows

C: D:

<Path>

Container Host

License.txt PerfLogs Program Files

Program Files (x86)

Users Windows

<container path>

Page 14: Windows containers deep dive

License.txt PerfLogs Program Files

Program Files (x86)

Users Windows

<Path>

Container Host

License.txt PerfLogs Program Files

Program Files (x86)

Users Windows

<container path>

FileServer

\\fileserver\shareC:

Page 15: Windows containers deep dive

Host User Mode

Container Runtime

Hyper-V Isolation

Virtual MachineSpecifically Optimized To

Run a Container

Hyper-V Isolation

Virtual MachineSpecifically Optimized To

Run a Container

One Docker engine

Choice of Linux kernels

Preview on Win10!

One container host

Any container, regardless of OS

Page 16: Windows containers deep dive
Page 17: Windows containers deep dive

IntegrateEmbrace leading Open

Source ecosystems and

integrate Microsoft products

with agility and consistency

ReleaseRelease key Microsoft

technologies into the

Open Source domain to

build a strong ecosystem

ParticipateMicrosoft engineers to

participate in communities

and contribute to key

Open Source projects

EnableEnable Linux and Open

Source technology to be first

class citizens on Microsoft

Platforms

Open Source Partners & Ecosystem

opensource.microsoft.com

Page 18: Windows containers deep dive

Integrated web management portal

Role Based and LDAP/AD Access Control

Self-healing and rolling app deploy/upgrade

Image scanning, signing & E2E security

Page 19: Windows containers deep dive

Beta Support for Windows Server Containers

Control plane runs on Linux nodes,Kubelet/kube-proxy run on Windows

Network is achieved using L3 routing

Only One Container Per Pod

https://kubernetes.io/docs/getting-started-guides/windows/

Page 20: Windows containers deep dive

Support for Windows Server Containers and Hyper-V isolation

Image deployment and activation

Volume driver support

Networking and DNS discovery

Resource governance

Page 21: Windows containers deep dive

Azure Other CloudsOn Premise

Service FabricAny OS, Any Cloud

Dev Box

Service Fabric on

Linux in Azure

Preview

Service Fabric for

Linux

Available Preview

Service Fabric

Windows SDK

Available

Service Fabric on

Windows in Azure

Available

Service Fabric in

Azure Stack

Coming

Service Fabric for

Windows Server

Available

Service Fabric on

Linux in Azure

Available Preview

Page 22: Windows containers deep dive

Service Fabric Programming Models & CI/CD

Other CloudsAzureDev Box On Premise

Page 23: Windows containers deep dive

SQL DatabaseMillions of Databases

CosmosDBBillions transactions/day

Cortana Power BI

Event Hubs640bn events/day

IoT HubMillions of devices

Skype

for Business

Intune Dynamics 365

30% of Azure cores run Service Fabric

Page 24: Windows containers deep dive

per-

High memoryNew generation of D family

Dv3

Page 25: Windows containers deep dive
Page 26: Windows containers deep dive
Page 27: Windows containers deep dive
Page 28: Windows containers deep dive
Page 29: Windows containers deep dive

ACS

Traditional Linux workloads

Some windows workloads

Understand open source model

Service Fabric

Traditional Windows workloads

Some Linux workloads

Microsoft support

ACI

Short running jobs

Linux or Windows

Serverless compute

Page 30: Windows containers deep dive

Windows containers in production

Alaska Airlines Tyco Security

Products

Page 31: Windows containers deep dive
Page 32: Windows containers deep dive
Page 33: Windows containers deep dive

Containerd + runC

REST Interface

libcontainerd graphlibnetwork plugins

Control Groupscgroups

NamespacesPid, net, ipc, mnt, uts

Layer CapabilitiesUnion Filesystems

AUFS, btrfs, vfs, zfs*, DeviceMapper

Other OS Functionality

Docker Client Docker RegistryDocker Compose Docker Swarm

Page 34: Windows containers deep dive

REST Interface

libcontainerd graphlibnetwork plugins

Control GroupsJob objects

NamespacesObject Namespace,

Process Table, Networking

Layer CapabilitiesRegistry, Union like

filesystem extensions

Other OS Functionality

Compute Services

Docker ClientDockerRegistry

Docker Compose Docker Swarm

Page 35: Windows containers deep dive

Control Groupscgroups

NamespacesPid, net, ipc, mnt, uts

Layer CapabilitiesUnion Filesystems: AUFS,

btrfs, vfs, zfs*,DeviceMapper

Other OS Functionality

Containerd + runC

REST Interface

libcontainerd graphlibnetwork plugins

Control GroupsJob objects

NamespacesObject Namespace, Process

Table, Networking

Layer CapabilitiesRegistry, Union like

filesystem extensions

Other OS Functionality

Compute Services

Docker Client Docker SwarmDocker Compose Docker Registry

Page 36: Windows containers deep dive

Host User Mode

Container Management

System Processes

Application Processes

System Processes

System Processes

Application Processes

Page 37: Windows containers deep dive

System Processes

Application Processes

Ho

st U

ser

Mo

de

Container Management

System Processes

Page 38: Windows containers deep dive

Ho

st U

ser

Mo

de

Virtual MachineSpecifically Optimized To Run a Container

Container Management

System Processes

System Processes

Application Processes