Introduction to Windows Containers

Post on 16-Apr-2017

169 views 5 download

Transcript of Introduction to Windows Containers

WINDOWS CONTAINERSIntroduction to

❤+ =

ASP.NET Application structure

Hardware

OS

.NET Platform

IIS

User Content

Disk SpaceCPU RAMHardware

IO/NetworkProcessesOS Permissions

CompilerFramework.NET Platform Runtime

App PoolSettingsIIS Website

Source CodeUser Content Dependencies

Disk SpaceCPU RAMHardware

Disk SpaceCPU RAMHardware

IO/NetworkProcessesOS Permissions

CompilerFramework.NET Platform Runtime

App PoolSettingsIIS Website

Source CodeUser Content Dependencies

IO/NetworkProcessesOS Permissions

Disk SpaceCPU RAMHardware

IO/NetworkProcessesOS Permissions

CompilerFramework.NET Platform Runtime

App PoolSettingsIIS Website

Source CodeUser Content Dependencies

CompilerFramework.NET Platform Runtime

Disk SpaceCPU RAMHardware

IO/NetworkProcessesOS Permissions

CompilerFramework.NET Platform Runtime

App PoolSettingsIIS Website

Source CodeUser Content Dependencies

App PoolSettingsIIS Website

Disk SpaceCPU RAMHardware

IO/NetworkProcessesOS Permissions

CompilerFramework.NET Platform Runtime

App PoolSettingsIIS Website

Source CodeUser Content Dependencies

Source CodeUser Content Dependencies

Disk SpaceCPU RAMHardware

IO/NetworkProcessesOS Permissions

CompilerFramework.NET Platform Runtime

App PoolSettingsIIS Website

Source CodeUser Content Dependencies

Disk SpaceCPU RAMHardware

IO/NetworkProcessesOS Permissions

CompilerFramework.NET Platform Runtime

App PoolSettingsIIS Website

Source CodeUser Content Dependencies

Provisioning

CI/CD

VM

Hardware

OS

.NET Platform

IIS

User Content

Provisioning

CI/CD

VM

VM

Provisioning

CI/CD

VM

Provisioning

CI/CD

VM

Provisioning

CI/CD 🔒

VM

Provisioning

CI/CD 🔒

Container

Container Benefits

Isolation

Resource control

Portability

Container Fundamentals

HostImage

DockerfileContainer

Client

Registry (Repository)Compose

Client

Docker.exe

Container Fundamentals

HostImage

DockerfileContainer

Client

Registry (Repository)Compose

Host

Physical Machine

Docker ServiceWindows Containers

Virtual Machine

Docker ServiceWindows Containers

Container Fundamentals

HostImage

DockerfileContainer

Client

Registry (Repository)Compose

Image

OS

.NET PlatformIIS

User Content

8.0GB0.4GB

0.7GB

0.2GB

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

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

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

Container Fundamentals

HostImage

DockerfileContainer

Client

Registry (Repository)Compose

DockerfileFROM microsoft/windowsservercore

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

ENV CREDENTIALS provision-key.json

RUN powershell ./install-packages.ps1

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

Container Fundamentals

HostImage

DockerfileContainer

Client

Registry (Repository)Compose

Container

Container 1OS

.NET Platform

IISUser Content

Container

Container 1OS

.NET Platform

IISUser Content

Container 2OS

.NET Platform

IISUser Content

Container

Container 1OS

.NET Platform

IISUser Content

Container 2OS

.NET Platform

IISUser Content

Container 3OS

.NET Platform

IISUser Content

Container Fundamentals

HostImage

DockerfileContainer

Client

Registry (Repository)Compose

Registry (Repository)Docker Hub

Internal Registry

Registry (Repository)Docker Hub

Registry (Repository)

Compose

lodgify/app

MSSQL

lodgify/app lodgify/app

MSSQL

nginx

x3

x2

x1

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

networks: default: external: name: nat

Windows Containers

Windows Container Types

Windows Server Containers

Hyper-V Containers

Windows Server Containers

Windows Server Containers

Windows Kernel

Windows Server Containers

Windows Kernel

Host User Mode

Container Management

System Processes

Windows Server Containers

Windows Kernel

Host User Mode

Container Management

System Processes

Windows Server Container

System Processes

Application Processes

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

Hyper-V Containers

Hyper-V Containers

🙈

Demo time!

Some links

Get 3x100$ Azure for testing

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

How to deploy Containers

http://bit.ly/2fEiG8O

Container Internals

Questions?http://dmitry.js.org

@dmitryzaetsdmitry-zaets