35
Blue whale, jail and Microsoft Łukasz Kałużny, Cloud Architect @ ITMAGINATION, MVP: Microsoft Azure [email protected] @ kaluzaaa blog.kaluzny.pro

Blue whale, jail and Microsoft

Embed Size (px)

Citation preview

Page 1: Blue whale, jail and Microsoft

Blue whale, jail and Microsoft

Łukasz Kałużny, Cloud Architect @ ITMAGINATION, MVP: Microsoft [email protected] @kaluzaaa blog.kaluzny.pro

Page 2: Blue whale, jail and Microsoft

• Jail?• chroot?• zones?• App-V Server?• LCX?

Page 3: Blue whale, jail and Microsoft

Frontend

Node.js

SASS

API

Python

Flask

Celery

Database

MySql

Proxy

Nginx

Cache

Memcached

Redis

MyDevelopment

YourDevelopment Acceptance ProductionPre-production

STACK DELIVERY TODAY SCENARIO

Page 4: Blue whale, jail and Microsoft

App A App B

Libs

Guest OS

Libs

Guest OS

HypervisorHost OS

Server

VMApp B

Docker EngineHost OS

Server

App A

Libs LibsContainer

HYPERVISOR VS. CONTAINER

Page 5: Blue whale, jail and Microsoft

DOCKER

Page 6: Blue whale, jail and Microsoft

Frontend

Node.js

SASS

API

Python

Flask

Celery

Database

MySql

Proxy

Nginx

Cache

Redis

Redis

MyDevelopment

YourDevelopment Acceptance ProductionPre-production

DOCKER STACK DELIVERY

Page 7: Blue whale, jail and Microsoft

DOCKER ECOSYSTEM

Official Repos & 14K+ Dockerized Apps

Community640+ Contributors250+ Meetups on Docker38M Downloads16K Projects on GitHub

SupportEnterprise SupportRobust DocumentationImplementation, Integration, Training Network of Partners

The Docker Platform Docker Engine Docker Hub

Build, Ship, and Run

Partners

Content

Users

Official Repos &35 K Dockerized Apps

Page 8: Blue whale, jail and Microsoft

Microsoft

♥Linux

Page 9: Blue whale, jail and Microsoft

COMBINING WINDOWS AND LINUX

Background

Workers

SQL Server

Nginx

Windows Server Linux

Docker Engine (Daemon)

Windows Server Container Support

Linux Container Support

Docker Engine (Daemon)

Page 10: Blue whale, jail and Microsoft

Containers in WS2016 TP3Can still change a lot!!!

Page 11: Blue whale, jail and Microsoft

• Windows Server 2016 TP3 + feature Containers• Windows Server Container Preview = Windows Server

2016 TP3 with Containers pre installed

Page 12: Blue whale, jail and Microsoft

CONTAINER OPERATING SYSTEM ENVIRONMENTS

Server CoreNano Server

Born in the cloud applications Traditional Applications

Highly CompatibleHighly Optimized

Page 13: Blue whale, jail and Microsoft

DEPLOYING CONTAINERS

Physical Machine

Hyper-V Virtual Machine(s)

Hyper-VContainer(s)

Windows ServerContainer(s)

Page 14: Blue whale, jail and Microsoft

DEPLOYING CONTAINERS

Physical Machine

Hyper-V Virtual Machine(s)

Hyper-VContainer(s)

Windows ServerContainer(s)

Requires Hyper-V Hypervisor

Hyper-V Hypervisor

Page 15: Blue whale, jail and Microsoft

DEPLOYING CONTAINERS

Physical Machine

Virtual Machines

Hyper-VContainer(s)

Windows ServerContainer(s)

Page 16: Blue whale, jail and Microsoft

DEPLOYING CONTAINERS

Physical Machine

Virtual Machines

Hyper-V Container(s)

Windows Server

Container(s)

Requires Hyper-V

Hypervisor

Hyper-V Hypervisor

Page 17: Blue whale, jail and Microsoft

MICROSOFT’S CONTAINER RUNTIMES

Windows Server Container

HIGHLY AUTOMATED EFFICIENTSCALABLE

AND ELASTIC

Hyper-V Container

HIGHLY AUTOMATED EFFICIENTSCALABLE

AND ELASTICPUBLIC

MULTI-TEANCYSHARED HOSTING

SECURE

SECURE

HOSTINGTRUSTED

MULTI-TENANCY

REGULATED WORKLOADS

Page 18: Blue whale, jail and Microsoft

IMAGE CREATION

Local Repository

Application

Framework

Container Run-Time

Container OSImageC:\Windows\*

Page 19: Blue whale, jail and Microsoft

IMAGE CREATION

Local Repository

Application

Framework

Container View

Container OSImage C:\Windows\*

C:\Windows\*Sandbox empty

Page 20: Blue whale, jail and Microsoft

IMAGE CREATION

Local Repository

Application

Framework

Container View

Container OSImage C:\Windows\*

C:\Windows\*Sandbox empty

C:\nodeJS

Page 21: Blue whale, jail and Microsoft

IMAGE CREATION

Local Repository

Application

Framework

Container View

Container OSImage C:\Windows\*

C:\Windows\*C:\nodeJSSandbox C:\nodeJs

C:\nodeJS

Page 22: Blue whale, jail and Microsoft

IMAGE CREATION

Local Repository Container

ViewContainer OS

Image C:\Windows\*

Sandbox C:\nodeJs

Page 23: Blue whale, jail and Microsoft

IMAGE CREATION

Local Repository

Application

Framework

Container View

Container OSImage C:\Windows\*

C:\nodeJsApplicationFramework

Page 24: Blue whale, jail and Microsoft

IMAGE CREATION

Local Repository

Application

Framework

Container View

Container OSImage C:\Windows\*

C:\Windows\*C:\nodeJSC:\nodeJs

ApplicationFramework

Sandbox Empty

Page 25: Blue whale, jail and Microsoft

IMAGE CREATION

Local Repository

Application

Framework

Container View

Container OSImage C:\Windows\*

C:\Windows\*C:\nodeJSC:\nodeJs

ApplicationFramework

Sandbox Empty

C:\myApp

Page 26: Blue whale, jail and Microsoft

IMAGE CREATION

Local Repository

Application

Framework

Container View

Container OSImage C:\Windows\*

C:\Windows\*C:\nodeJSC:\myApp

C:\nodeJsApplicationFramework

Sandbox C:\myApp

C:\myApp

Page 27: Blue whale, jail and Microsoft

IMAGE CREATION

Local Repository

Application

Framework

Container View

Container OSImage C:\Windows\*

C:\nodeJsApplicationFramework

Sandbox C:\myApp

Page 28: Blue whale, jail and Microsoft

IMAGE CREATION

Local Repository

Application

Framework

Container View

Container OSImage C:\Windows\*

C:\nodeJsApplicationFramework

C:\myAppApplicationImage

Page 29: Blue whale, jail and Microsoft

DEMO – POWERSHELL – NEW CONTAINER• Get-Command -Module containers• Get-ContainerImage• Get-VMSwitch• $container = New-Container -Name ”MyContainer" –ContainerImageName

WindowsServerCore -SwitchName "Virtual Switch"• Start-Container -Name "MyContainer”• Enter-PSSession -ContainerId $container.ContainerId -RunAsAdministrator• Stop-Container -Name "MyContainer"

Page 30: Blue whale, jail and Microsoft

ADD NGINX• wget -uri 'http://nginx.org/download/nginx-1.9.3.zip' -OutFile "c:\nginx-

1.9.3.zip"• Expand-Archive -Path C:\nginx-1.9.3.zip -DestinationPath c:\ -Force

Page 31: Blue whale, jail and Microsoft

DEMO – POWERSHELL – NEW CONTAINER IMAGE• $newimage = New-ContainerImage -ContainerName MyContainer -Publisher

Demo -Name newimage -Version 1.0

Page 32: Blue whale, jail and Microsoft

DEMO – POWERSHELL – NEW CONTAINER FROM IMAGE• $newcontainer = New-Container -Name "newcontainer" -ContainerImageName

newimage -SwitchName "Virtual Switch„• Start-Container $newcontainer• Enter-PSSession -ContainerId $newcontainer.ContainerId –RunAsAdministrator• cd c:\nginx-1.9.3\ & start nginx

Networking• Add-NetNatStaticMapping -NatName "ContainerNat" -Protocol TCP -

ExternalIPAddress 0.0.0.0 -InternalIPAddress 172.16.0.2 -InternalPort 80 -ExternalPort 80

• if (!(Get-NetFirewallRule | where {$_.Name -eq "TCP80"})) { New-NetFirewallRule -Name "TCP80" -DisplayName "HTTP on TCP/80" -Protocol tcp -LocalPort 80 -Action Allow -Enabled True}

Page 33: Blue whale, jail and Microsoft

Microsoft CloudAzure On Premises Service Provider

Container ManagementPowerShell OthersDocker

Development Environments

Others…

Container Technologies

Linux

THE RIGHT TOOLS FOR YOU

Page 34: Blue whale, jail and Microsoft

THE RIGHT TOOLS FOR YOU

Virtual MachinesLinux

Service FabricDevelopment Frameworks

and Languages

.NetPHP Node

C++JavaRuby Win32

Go PerlPhython

JavaScript

Container TechnologiesLinux

Microsoft CloudAzure On Premises Service Provider