Define, bundle, deployDefine, bundle, deploy Working with Windows Server Containers and Docker James...
-
Upload
elinor-watson -
Category
Documents
-
view
231 -
download
0
Transcript of Define, bundle, deployDefine, bundle, deploy Working with Windows Server Containers and Docker James...
Define, bundle, deployWorking with Windows Server Containers and Docker
James [email protected]
David O’Brien@david_obrienwww.david-obrien.net
#MMSMOA
@jamesbannan
Solution Architect, Ensyst
TechEd, Blog, Book, Courses
Pre-Windows 2000 ;-)
Cloud & Datacenter Management MVP
Melbourne, Australia
James Bannan
#MMSMOA
@david_obrien
Microsoft MVP for Windows PowerShell
MMS 2014
TechEd AU 2014
Melbourne UG
• Automation
• xPlatform
• DevOps
Melbourne, Australia
David O’Brien
Container Ecosystem
Container Images
Container Run-Time
Linux
Image Repository
Applications
Application
Frameworks
Container Run-time
Operating System
Physical Host
Image
Container Run-time
Operating System
Operating System
Image
Virtual machine(s)
Operating System
Hardware Virtualization
Container Run-time
Operating SystemContainer(s)
Operating System
Hardware Virtualization
Image Creation
Local Repository
Application
Framework
Container Run-Time
Container OSImageC:\Windows\*
Image Creation
Local Repository
Application
Framework
Container View
Container OSImage C:\Windows\*
C:\Windows\*Sandbox empty
Image Creation
Local Repository
Application
Framework
Container View
Container OSImage C:\Windows\*
C:\Windows\*Sandbox empty
C:\nodeJS
Image Creation
Local Repository
Application
Framework
Container View
Container OSImage C:\Windows\*
C:\Windows\*C:\nodeJSSandbox C:\nodeJs
C:\nodeJS
Image Creation
Local Repository
Container View
Container OSImage C:\Windows\*
Sandbox C:\nodeJs
Image Creation
Local Repository
Application
Framework
Container View
Container OSImage C:\Windows\*
C:\nodeJsApplicationFramework
Image Creation
Local Repository
Application
Framework
Container View
Container OSImage C:\Windows\*
C:\Windows\*C:\nodeJSC:\nodeJs
ApplicationFramework
Sandbox Empty
Image Creation
Local Repository
Application
Framework
Container View
Container OSImage C:\Windows\*
C:\Windows\*C:\nodeJSC:\nodeJs
ApplicationFramework
Sandbox Empty
C:\myApp
Image Creation
Local Repository
Application
Framework
Container View
Container OSImage C:\Windows\*
C:\Windows\*C:\nodeJSC:\myApp
C:\nodeJsApplicationFramework
Sandbox C:\myApp
C:\myApp
Image Creation
Local Repository
Application
Framework
Container View
Container OSImage C:\Windows\*
C:\nodeJsApplicationFramework
Sandbox C:\myApp
Image Creation
Local Repository
Application
Framework
Container View
Container OSImage C:\Windows\*
C:\nodeJsApplicationFramework
C:\myAppApplicationImage
DemoWindows Server Containers
Local Repository
Development Process Using Containers
Central Repository
Application
Framework
Local Repository
Development Process Using Containers
Application
Framework
Developers can choose desired application frameworks
and pull them locally from central repositories
Central Repository
Application
Framework
Required dependencies are automatically identified and pulled
locallyLocal
Repository
Development Process Using Containers
Application
Framework
Central Repository
Application
Framework
Developers can choose desired application frameworks
and pull them locally from central repositories
Local Repository
Development Process Using Containers
Central Repository
using System;class Program{ static void Main() {
}}
Developers use the same programming languages
and environments they are accustomed to
Application
Framework
Application
Framework
Local Repository
Development Process Using Containers
Applications are compiled and assembled in the same
way developers are accustomed to
Application
Framework
Central Repository
using System;class Program{ static void Main() {
}}
Application
Framework
Local Repository
Development Process Using Containers
Application
Framework
A new container image is
built containing the
application written by
the developer
Central Repository
using System;class Program{ static void Main() {
}}
Application
Framework
Local Repository
Development Process Using Containers
Application
Framework
The new application container image can now be pushed to a central repository
Central Repository
using System;class Program{ static void Main() {
}}
Application
Framework
Development Process Using Containers
Central Repository
Application
Framework
Development Process Using Containers
Share with other developers
Used for unit testing
Central Repository
Application
Framework
Development Process Using Containers
Share with other developers
Used for unit testing
Central Repository
Application
Framework
Staged for integration or
QA
Dev/Ops Process with Containers
Developers build and test apps in containers,
using development environment
i.e. Visual Studio
Operations automates
deployment and monitors deployed apps from central
repository
1 2
2
3
Operations collaborates with developers to provide app metrics and insights
Developers update, iterate, and deploy updated containers
Central Reposito
ry
Containers pushed to
central repository
DemoContainer image development
Containers Offer
Fast Iteration
Resource Controls
Rapid Deployment
Defined State
SeparationImmutability
Making Them Ideal For
Distributed Compute
𝑓 (𝑥 )Databases Web
TasksScale Out
Container Operating System Environments
Server CoreNano Server
Born in the cloud applications
Traditional Applications
Highly CompatibleHighly Optimized
Microsoft’s Container Runtimes
Windows Server Container
HIGHLY AUTOMATED
EFFICIENTSCALABLE
AND ELASTIC
Hyper-V Container
HIGHLY AUTOMATED
EFFICIENTSCALABLE
AND ELASTIC
PUBLIC MULTI-TEANCY
SHARED HOSTING
SECURE
SECURE
HOSTINGTRUSTED
MULTI-TENANCY
REGULATED WORKLOADS
Modern App Development, Flexible Isolation
Container Management
PowerShell
Others
Docker
Windows Container Images
Application
Framework
Container Run-Times
Hyper-V Container
Windows Server Container
Write once, deploy anywhere
Deploying Containers
Physical Machine
Hyper-V Virtual Machine(s)
Hyper-VContainer(s)
Windows ServerContainer(s)
Deploying Containers
Physical Machine
Hyper-V Virtual Machine(s)
Hyper-VContainer(s)
Windows ServerContainer(s)
Requires Hyper-V Hypervisor
Hyper-V Hypervisor
Deploying Containers
Physical Machine
Virtual Machines
Hyper-VContainer(s)
Windows ServerContainer(s)
Deploying Containers
Physical Machine
Virtual Machines
Hyper-V Container(s)
Windows Server
Container(s)
Requires Hyper-V
Hypervisor
Hyper-V Hypervisor
Microsoft Cloud
Azure On Premises Service Provider
Container ManagementPowerShell OthersDocker
Development Environments
Others…
The right tools for you.
Container Technologies
Linux
The right tools for you.
Virtual Machines
Linux
Service FabricDevelopment Frameworks
and Languages
.Net
PHP Node
C++
JavaRuby Win32
Go PerlPhython
JavaScript
Container Technologies
Linux
Microsoft Cloud
Azure On Premises Service Provider
Evaluations: Please provide session feedback by clicking the EVAL button in the scheduler app (also download slides). One lucky winner will receive a free ticket to the next MMS!Session Title:
Discuss…
Ask your questions-real world answers!Plenty of time to engage, share knowledge.
SPO
NSO
RS