Top Banner
Microsoft Windows Containers
48

[FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

Mar 20, 2017

Download

Engineering

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

Microsoft Windows Containers

Page 2: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

Hi !

Programmer A little bit of DevOps MS Technology Stack

Page 3: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

So, what is a container?

„Operating-system-level virtualization is a server virtualization method in which the kernel of an operating system allows the existence of multiple isolated user-space instances, instead of just one. Such instances, which are sometimes called containers, software containers,[1] virtualization engines (VEs) or jails [...]”

https://en.wikipedia.org/wiki/Operating-system-level_virtualization

Page 4: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

And why should I care…

Classic virtualization vs physical machine Portability

Trending (well, not Windows Containers…yet)

Page 5: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

Containers and Docker

Runtime

Image Repository

Page 6: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

Windows Containers - Example

Page 7: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów
Page 8: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

\

ASP MVC 5 (.NET 4.6)

Page 9: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

\

ASP MVC 5 (.NET 4.6)

Page 10: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

ASP MVC 5 (.NET 4.6)

Page 11: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów
Page 12: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów
Page 13: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów
Page 14: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów
Page 15: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów
Page 16: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

> docker build –t aspmvc-demo2 .

Page 17: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

WindowsServerCore [10 GB]

WebServer [100 MB]

WebApp1 [10 MB] WebApp1 [20 MB]

Page 18: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

Let’s look for an example layer

Page 19: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

Example layer

Page 20: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

Example layer

Page 21: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

Example layer

Page 22: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

Example layer

Page 23: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

Example layer

This folder is empty

Page 24: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

> docker run –d aspmvc-demo2

Page 25: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

> docker run –d aspmvc-demo2 x2

Page 26: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

> docker run –d aspmvc-demo2 x7

Page 27: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

> docker ps

Page 28: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

Memory per container

~ 1 GB / Container (not under load)

Page 29: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów
Page 30: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów
Page 31: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

Repository

Page 32: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

Runtime

Native support Windows Server 2016 (CTP3+) Windows 10 (Anniversary update)

Docker port for Windows Open Container Initiative

Page 33: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

But how?

Architecture Internals

Page 34: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

Architecture on Linux…

Operating System

File System Other

containerd + runc

libcontainerd

API

libnetwork graph plugins

Docker Engine

Docker Client Docker Compose Docker Swarm Registry

Namespaces/Cgroups

Page 35: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

Architecture on Linux… and …

Operating System

Namespaces/Cgroups File System Other

containerd + runc

libcontainerd

API

libnetwork graph plugins

Docker Engine

Docker Client Docker Compose Docker Swarm Registry

Page 36: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

... And on Windows

Operating System

File System Other

Compute Service

libcontainerd

API

libnetwork graph plugins

Docker Engine

Docker Client Docker Compose Docker Swarm Registry

Namespaces/Cgroups

Page 37: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

Namespaces on Linux

http://www.howtogeek.com/117435/htg-explains-the-linux-directory-structure-explained/

Page 38: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

Namespaces on Windows

Page 39: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

From JobObject to Silos

Page 40: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

File System: UnionFS vs NTFS

A.txt B.txt A.txtB.txt A.txt[Link]

B.txt[Link]A.txtB.txt

Page 41: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

File System: UnionFS vs NTFS

A.txt B.txt A.txtB.txt A.txt

B.txt[Link]A.txtB.txt

Page 42: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

When container is running

Windows Kernel

Session Manager

Security Manager

Other

Docker Engine

ComputeService

Host User Mode

SystemProcesses

ContainerManagement

Job Object Network Storage

SystemProcesses

ApplicationProcesses

Windows Container

Page 43: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

Hyper-V isolation mode

Windows Kernel

Session Manager

Security Manager

Other

Docker Engine

ComputeService

Host User Mode

SystemProcesses

ContainerManagement

Job Object Network Storage

SystemProcesses

ApplicationProcesses

Windows Container

Windows Kernel

System Processes

GuestComputeService

Virtual Machine

Page 44: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

Windows Server – which one to use?

Windows Server

Windows Server Nano

Windows Server Core

Page 45: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

In summary

Should I learn it? Yes

Page 46: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

In summary

Should I learn it? Yes Should I use it in production? Not really

Page 47: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

In summary

Should I learn it? Yes Should I use it in production? Not really

Links https://msdn.microsoft.com/en-us/virtualization/windowscontainers/about/about_overview https://hub.docker.com https://github.com/MSledzinski/FDDDemo

Page 48: [FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów

Marek Śledziński

Microsoft Windows Containers

[email protected]