docker and microsoft - windows server 2016 technical deep dive

19
Docker and Windows Server 2016 Webinar, October 2016 Michael Friis - @friism - [email protected]

Upload: docker-inc

Post on 06-Jan-2017

3.886 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Docker and Microsoft - Windows Server 2016 Technical Deep Dive

Docker and Windows Server 2016Webinar, October 2016Michael Friis - @friism - [email protected]

Page 2: Docker and Microsoft - Windows Server 2016 Technical Deep Dive

Docker on Windows Server 2016• Now 98% of enterprise workloads supported by Docker• Proven benefits of Docker on Linux available to Windows Server

developers and IT Pros• One Docker platform and one adoption journey for all enterprise

applications and infrastructure• Docker CS Engine with Windows Server 2016 at no additional cost

Page 3: Docker and Microsoft - Windows Server 2016 Technical Deep Dive

Docker on Windows Server 2016• Microsoft and Docker formed partnership in 2014• Windows kernel (both 2016 and Windows 10) now has

containerization primitives• Microsoft and Docker worked to port Docker Engine to Windows, all

in the open on https://github.com/docker/docker• Ancillary services like registry, Hub, etc. have multi-arch support,

maintain Linux and Windows Docker images side by side

Page 4: Docker and Microsoft - Windows Server 2016 Technical Deep Dive
Page 5: Docker and Microsoft - Windows Server 2016 Technical Deep Dive

Choice of base image

windowsservercore: Runs most Windows Server apps, eg. IIS, SQL Server, full .NET Framework

nanoserver: New minimal Windows version, runs IIS and .NET Core

Choice of isolation

Windows Server Containers

Hyper-V Containers

Windows Server 2016 technical details

Infrastructure

Windows Server 2016

Bins/Libs

App

CS Docker Engine

Bins/Libs

AppBins/Libs

App

Windows Kernel

Page 6: Docker and Microsoft - Windows Server 2016 Technical Deep Dive

DockerPlatformSpecific

PlatformIndependent

Comparing OS Architectures

Linux Control Groupscgroups

NamespacesPid, net, ipc, mnt, uts

Layer Capabilities

Union Filesystems: AUFS, btrfs, vfs,

zfs*,DeviceMapper

Other OS Functionality

Containerd + runC

Docker EngineREST Interface

libcontainerd graphlibnetwork plugins

Windows Control GroupsJob objects

NamespacesObject Namespace,

Process Table, Networking

Layer Capabilities

Registry, Union like filesystem extensions

Other OS Functionality

Compute Services

Docker Client Docker SwarmDocker Compose

Docker Registry

Page 7: Docker and Microsoft - Windows Server 2016 Technical Deep Dive

Virtual MachineSpecifically Optimized To

Run a Container

Windows and Hyper V Containers

Hyper-V Hypervisor

Host User Mode

Container Managemen

t

Windows Kernel

Compute Services

Docker Engine Windows Server

Container

System Processes

Application

Process(es)

System Processes

Session Manager

Local Security Authority

Etc…

Hyper-V Container

Windows Kernel

Windows Server Container

System Processes

Application

Process(es)

Page 8: Docker and Microsoft - Windows Server 2016 Technical Deep Dive

Windows Server 2016 and Docker for IT pros

• Eliminate “works on my machine” problem• Makes maintaining CI machines much simpler• Docker images and bundles are great interface with Ops

Page 9: Docker and Microsoft - Windows Server 2016 Technical Deep Dive

DEVELOPERS IT PRO

BUILDDevelopment Environments

SHIPSecure Content & Collaboration

Use Case: Development and test in the cloud

Developers

Versioncontrol

DockerTrusted Registry

QA / QE

Staging

Page 10: Docker and Microsoft - Windows Server 2016 Technical Deep Dive

Use Case: Lift & Shift• Application Agility and Flexibility

• Standardize: Docker abstracts away the infrastructure and virtualization layers– No custom-configuring servers - Apps ship

with their dependencies (IIS, .NET, Node, etc.)

• Isolation: Two dockerized apps with different .NET versions will run happily side by side

• Portability: Containers move without friction from one environment to another – no recoding from virtual, on-prem, cloud

Bins/Libs

App

Windows Server

Bins/Libs

App

Windows Server

CS Docker Engine

Bins/Libs

App

Physical or Virtual

Virtualized workloads running on premises

Containerized and moved to virtual or bare

metal on cloud

Lift and Shift: Containerize legacy and microservices to gain portability

Page 11: Docker and Microsoft - Windows Server 2016 Technical Deep Dive

Docker DatacenterManage Linux, Windows, x86

11

Developers IT Operations

BUILDDevelopment Environments

SHIPSecure Content & Collaboration

RUNDeploy, Manage, Scale

Page 12: Docker and Microsoft - Windows Server 2016 Technical Deep Dive

Docker Datacenter for Windows

Client

Compose

Partner IntegrationsDocker Interfaces

VolumePlug-ins

Monitoring Logging

NetworkPlug-ins

Docker Universal Control Plane

Docker Trusted Registry

Windows Server 2016

Commercially supported Docker Engines

Docker Swarm

Docker Datacenter

Content SecurityStorage Drivers

LDAP/ AD

Docker for Windows

Plug-in for Visual Studio & VS Code

Linux Any Application

Anywhere

Page 13: Docker and Microsoft - Windows Server 2016 Technical Deep Dive

Windows Server 2016 & Docker CS Engine

• Enterprise Class Support for Docker Engine with SLAs and hotfixes

– 1yr/3yr support– 5x8 or 24x7– Full support for Docker API

• Purchased bundled with Windows Server 2016– Windows Server 2016 Datacenter– Windows Server 2016 Standard– Windows Server 2016 Essentials

Commercial Relationship

Page 14: Docker and Microsoft - Windows Server 2016 Technical Deep Dive

Demo Time

Page 15: Docker and Microsoft - Windows Server 2016 Technical Deep Dive

Get Started with Docker Windows Containers1.Windows 10 with Anniversary Edition update

– Install Docker for Windows (public beta channel)– Run Windows Server 2016 in VM

2.Azure– Windows Server 2016 RTM– Nanoserver 2016

3.Other (macOS, Linux, older Windows)– Windows Server 2016 in VM (VirtualBox, VMWare)

Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -ForceInstall-Module -Name DockerMsftProvider -ForceInstall-Package -Name docker -ProviderName DockerMsftProvider -ForceRestart-Computer -Force

https://blog.docker.com/2016/09/build-your-first-docker-windows-server-container/

Page 16: Docker and Microsoft - Windows Server 2016 Technical Deep Dive

Docker on Azure

Docker for Azure

• Simple setup of Docker 1.12 swarm-mode on Azure

• Integrates with Azure load balancing etc. to make deploying apps smooth and fast

• DDC is an install-time option, or you can install it later on

Docker Datacenter Azure Templates

• Pre-built template in Azure Marketplace

• Various VM deployment options• BYOL Docker Datacenter license

Page 17: Docker and Microsoft - Windows Server 2016 Technical Deep Dive

Additional Work with Microsoft• .NET Core works great in Docker Linux containers• Microsoft .NET team maintains base images• .NET Core also for Nano Server and Windowsservercore Docker containers• To lift and shift older .NET apps, use .NET on windowsservercore Docker

images

.NET Core

• Docker Windows SQL Server container images already available and Linux in private betaSQL Server

• Plugins for both Visual Studio Code and Visual Studio• Help with Docker project setup• Line-by-line debugging

Visual Studio Tooling

Page 18: Docker and Microsoft - Windows Server 2016 Technical Deep Dive

Next Steps…• Resources:

– https://www.docker.com/microsoft– https://blog.docker.com/2016/09/dockerforws2016/– https://blog.docker.com/2016/09/docker-microsoft-partnership/

• Try Windows Server 2016– https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-2016

– https://blog.docker.com/2016/09/build-your-first-docker-windows-server-container/– Run on Azure

• See what others have built– http://blog.alexellis.io/– https://blog.sixeyed.com/– http://stefanscherer.github.io/

• Show us what you’ve built, tweet at @friism and @docker• Register for our upcoming Webinar, October 25th, 10AM PST

– Containerize Windows Workloads with Image2Docker Tool

Page 19: Docker and Microsoft - Windows Server 2016 Technical Deep Dive

THANK YOU