introduction to windows containers

57
WINDOWS CONTAINERS Introduction to + =

Upload: dmitry-zaets

Post on 16-Apr-2017

172 views

Category:

Engineering


5 download

TRANSCRIPT

Page 1: Introduction to Windows Containers

WINDOWS CONTAINERSIntroduction to

❤+ =

Page 2: Introduction to Windows Containers

ASP.NET Application structure

Page 3: Introduction to Windows Containers

Hardware

OS

.NET Platform

IIS

User Content

Page 4: Introduction to Windows Containers

Disk SpaceCPU RAMHardware

IO/NetworkProcessesOS Permissions

CompilerFramework.NET Platform Runtime

App PoolSettingsIIS Website

Source CodeUser Content Dependencies

Page 5: Introduction to Windows Containers

Disk SpaceCPU RAMHardware

Page 6: Introduction to Windows Containers

Disk SpaceCPU RAMHardware

IO/NetworkProcessesOS Permissions

CompilerFramework.NET Platform Runtime

App PoolSettingsIIS Website

Source CodeUser Content Dependencies

Page 7: Introduction to Windows Containers

IO/NetworkProcessesOS Permissions

Page 8: Introduction to Windows Containers

Disk SpaceCPU RAMHardware

IO/NetworkProcessesOS Permissions

CompilerFramework.NET Platform Runtime

App PoolSettingsIIS Website

Source CodeUser Content Dependencies

Page 9: Introduction to Windows Containers

CompilerFramework.NET Platform Runtime

Page 10: Introduction to Windows Containers

Disk SpaceCPU RAMHardware

IO/NetworkProcessesOS Permissions

CompilerFramework.NET Platform Runtime

App PoolSettingsIIS Website

Source CodeUser Content Dependencies

Page 11: Introduction to Windows Containers

App PoolSettingsIIS Website

Page 12: Introduction to Windows Containers

Disk SpaceCPU RAMHardware

IO/NetworkProcessesOS Permissions

CompilerFramework.NET Platform Runtime

App PoolSettingsIIS Website

Source CodeUser Content Dependencies

Page 13: Introduction to Windows Containers

Source CodeUser Content Dependencies

Page 14: Introduction to Windows Containers

Disk SpaceCPU RAMHardware

IO/NetworkProcessesOS Permissions

CompilerFramework.NET Platform Runtime

App PoolSettingsIIS Website

Source CodeUser Content Dependencies

Page 15: Introduction to Windows Containers

Disk SpaceCPU RAMHardware

IO/NetworkProcessesOS Permissions

CompilerFramework.NET Platform Runtime

App PoolSettingsIIS Website

Source CodeUser Content Dependencies

Provisioning

CI/CD

VM

Page 16: Introduction to Windows Containers

Hardware

OS

.NET Platform

IIS

User Content

Provisioning

CI/CD

VM

Page 17: Introduction to Windows Containers

VM

Provisioning

CI/CD

Page 18: Introduction to Windows Containers

VM

Provisioning

CI/CD

Page 19: Introduction to Windows Containers

VM

Provisioning

CI/CD 🔒

Page 20: Introduction to Windows Containers

VM

Provisioning

CI/CD 🔒

Page 21: Introduction to Windows Containers

Container

Page 22: Introduction to Windows Containers
Page 23: Introduction to Windows Containers
Page 24: Introduction to Windows Containers

Container Benefits

Isolation

Resource control

Portability

Page 25: Introduction to Windows Containers

Container Fundamentals

HostImage

DockerfileContainer

Client

Registry (Repository)Compose

Page 26: Introduction to Windows Containers

Client

Docker.exe

Page 27: Introduction to Windows Containers

Container Fundamentals

HostImage

DockerfileContainer

Client

Registry (Repository)Compose

Page 28: Introduction to Windows Containers

Host

Physical Machine

Docker ServiceWindows Containers

Virtual Machine

Docker ServiceWindows Containers

Page 29: Introduction to Windows Containers

Container Fundamentals

HostImage

DockerfileContainer

Client

Registry (Repository)Compose

Page 30: Introduction to Windows Containers

Image

OS

.NET PlatformIIS

User Content

8.0GB0.4GB

0.7GB

0.2GB

Page 31: Introduction to Windows Containers

microsoft/aspnet:4.6.0

Image

microsoft/windowsservercore:TP5OS

microsoft/iis:7.5.NET Platform

IISlodgify/app:1.4.2User Content

8.0GB0.4GB

0.7GB

0.2GB

Page 32: Introduction to Windows Containers

microsoft/aspnet:4.6.2

Image

microsoft/windowsservercore:TP5OS

microsoft/iis:7.5.NET Platform

IISlodgify/app:1.4.2User Content

8.0GB0.4GB

0.7GB

0.2GB

Page 33: Introduction to Windows Containers

microsoft/aspnet:4.6.2

Image

microsoft/windowsservercore:TP5OS

microsoft/iis:7.5.NET Platform

IIS

User Content lodgify/app:1.4.3

8.0GB0.4GB

0.7GB

0.2GB

Page 34: Introduction to Windows Containers

Container Fundamentals

HostImage

DockerfileContainer

Client

Registry (Repository)Compose

Page 35: Introduction to Windows Containers

DockerfileFROM microsoft/windowsservercore

ADD ./scripts /scripts WORKDIR c:\\scripts

ENV CREDENTIALS provision-key.json

RUN powershell ./install-packages.ps1

ENTRYPOINT ["ServiceMonitor.exe", “w3svc"]

Page 36: Introduction to Windows Containers

Container Fundamentals

HostImage

DockerfileContainer

Client

Registry (Repository)Compose

Page 37: Introduction to Windows Containers

Container

Container 1OS

.NET Platform

IISUser Content

Page 38: Introduction to Windows Containers

Container

Container 1OS

.NET Platform

IISUser Content

Container 2OS

.NET Platform

IISUser Content

Page 39: Introduction to Windows Containers

Container

Container 1OS

.NET Platform

IISUser Content

Container 2OS

.NET Platform

IISUser Content

Container 3OS

.NET Platform

IISUser Content

Page 40: Introduction to Windows Containers

Container Fundamentals

HostImage

DockerfileContainer

Client

Registry (Repository)Compose

Page 41: Introduction to Windows Containers

Registry (Repository)Docker Hub

Page 42: Introduction to Windows Containers

Internal Registry

Registry (Repository)Docker Hub

Page 43: Introduction to Windows Containers

Registry (Repository)

Page 44: Introduction to Windows Containers

Compose

lodgify/app

MSSQL

lodgify/app lodgify/app

MSSQL

nginx

x3

x2

x1

Page 45: Introduction to Windows Containers

Composeservices: app: image: lodgify/app depends_on: - "db" ports: - “80:80"

networks: default: external: name: nat

Page 46: Introduction to Windows Containers

Windows Containers

Page 47: Introduction to Windows Containers

Windows Container Types

Windows Server Containers

Hyper-V Containers

Page 48: Introduction to Windows Containers

Windows Server Containers

Page 49: Introduction to Windows Containers

Windows Server Containers

Windows Kernel

Page 50: Introduction to Windows Containers

Windows Server Containers

Windows Kernel

Host User Mode

Container Management

System Processes

Page 51: Introduction to Windows Containers

Windows Server Containers

Windows Kernel

Host User Mode

Container Management

System Processes

Windows Server Container

System Processes

Application Processes

Page 52: Introduction to Windows Containers

Windows Server Containers

Windows Kernel

Host User Mode

Container Management

System Processes

Windows Server Container

System Processes

Application Processes

Windows Server Container

System Processes

Application Processes

Windows Server Container

System Processes

Application Processes

Windows Server Container

System Processes

Application Processes

Page 53: Introduction to Windows Containers

Hyper-V Containers

Page 54: Introduction to Windows Containers

Hyper-V Containers

🙈

Page 55: Introduction to Windows Containers

Demo time!

Page 56: Introduction to Windows Containers

Some links

Get 3x100$ Azure for testing

http://bit.ly/2enCJqehttp://bit.ly/2enCZ8F

How to deploy Containers

http://bit.ly/2fEiG8O

Container Internals

Page 57: Introduction to Windows Containers

Questions?http://dmitry.js.org

@dmitryzaetsdmitry-zaets