Windows containers deep dive
-
Upload
diego-martinez-gil -
Category
Technology
-
view
60 -
download
6
Transcript of Windows containers deep dive
Containers deliver speed, flexibility, and savings
Agility
13X More software releases
65% Reduction in developer
onboarding time
Hyper-scale
Eliminate“works on my machine” issues
41%Move workloads across
private/public clouds
State of App development Survey: Q1 2016, Cornell
University case study
Availability
62%Report reduction in MTTR
10X Cost reduction in maintaining
existing applications
Process
Server CoreNano Server
Container operating system environments
Traditional applications
Highly compatible
Highly optimized
Born-in-the-cloud applications
Uncompressed container image ~1GB
Components not relevant in containers
Optional components not layers
1Containerize Legacy Applications
Lift and shift for portability and efficiency
2
3
Transform Legacy to Microservices
Look for shared services to transform
Accelerate New Applications
Greenfield innovation
Image2DockerConvert WIM/VHD to Dockerfile
Written in PowerShell
Open Source
Discover
• Find Installed Programs
• Show Roles & Features
• IIS Sites & Configurations
• Common applications
• SQL, Apache
Generate
• Dockerfile
Mapping named pipes into containers
Hot-add of network interfaces
Initial support for sharing network interfaces between containers
Network overlay support (shipped!)
License.txt PerfLogs Program Files
Program Files (x86)
Users Windows
C: D:
<Path>
Container Host
License.txt PerfLogs Program Files
Program Files (x86)
Users Windows
<container path>
License.txt PerfLogs Program Files
Program Files (x86)
Users Windows
<Path>
Container Host
License.txt PerfLogs Program Files
Program Files (x86)
Users Windows
<container path>
FileServer
\\fileserver\shareC:
Host User Mode
Container Runtime
Hyper-V Isolation
Virtual MachineSpecifically Optimized To
Run a Container
Hyper-V Isolation
Virtual MachineSpecifically Optimized To
Run a Container
One Docker engine
Choice of Linux kernels
Preview on Win10!
One container host
Any container, regardless of OS
IntegrateEmbrace leading Open
Source ecosystems and
integrate Microsoft products
with agility and consistency
ReleaseRelease key Microsoft
technologies into the
Open Source domain to
build a strong ecosystem
ParticipateMicrosoft engineers to
participate in communities
and contribute to key
Open Source projects
EnableEnable Linux and Open
Source technology to be first
class citizens on Microsoft
Platforms
Open Source Partners & Ecosystem
opensource.microsoft.com
Integrated web management portal
Role Based and LDAP/AD Access Control
Self-healing and rolling app deploy/upgrade
Image scanning, signing & E2E security
Beta Support for Windows Server Containers
Control plane runs on Linux nodes,Kubelet/kube-proxy run on Windows
Network is achieved using L3 routing
Only One Container Per Pod
https://kubernetes.io/docs/getting-started-guides/windows/
Support for Windows Server Containers and Hyper-V isolation
Image deployment and activation
Volume driver support
Networking and DNS discovery
Resource governance
Azure Other CloudsOn Premise
Service FabricAny OS, Any Cloud
Dev Box
Service Fabric on
Linux in Azure
Preview
Service Fabric for
Linux
Available Preview
Service Fabric
Windows SDK
Available
Service Fabric on
Windows in Azure
Available
Service Fabric in
Azure Stack
Coming
Service Fabric for
Windows Server
Available
Service Fabric on
Linux in Azure
Available Preview
Service Fabric Programming Models & CI/CD
Other CloudsAzureDev Box On Premise
SQL DatabaseMillions of Databases
CosmosDBBillions transactions/day
Cortana Power BI
Event Hubs640bn events/day
IoT HubMillions of devices
Skype
for Business
Intune Dynamics 365
30% of Azure cores run Service Fabric
per-
High memoryNew generation of D family
Dv3
ACS
Traditional Linux workloads
Some windows workloads
Understand open source model
Service Fabric
Traditional Windows workloads
Some Linux workloads
Microsoft support
ACI
Short running jobs
Linux or Windows
Serverless compute
Windows containers in production
Alaska Airlines Tyco Security
Products
Containerd + runC
REST Interface
libcontainerd graphlibnetwork plugins
Control Groupscgroups
NamespacesPid, net, ipc, mnt, uts
Layer CapabilitiesUnion Filesystems
AUFS, btrfs, vfs, zfs*, DeviceMapper
Other OS Functionality
Docker Client Docker RegistryDocker Compose Docker Swarm
REST Interface
libcontainerd graphlibnetwork plugins
Control GroupsJob objects
NamespacesObject Namespace,
Process Table, Networking
Layer CapabilitiesRegistry, Union like
filesystem extensions
Other OS Functionality
Compute Services
Docker ClientDockerRegistry
Docker Compose Docker Swarm
Control Groupscgroups
NamespacesPid, net, ipc, mnt, uts
Layer CapabilitiesUnion Filesystems: AUFS,
btrfs, vfs, zfs*,DeviceMapper
Other OS Functionality
Containerd + runC
REST Interface
libcontainerd graphlibnetwork plugins
Control GroupsJob objects
NamespacesObject Namespace, Process
Table, Networking
Layer CapabilitiesRegistry, Union like
filesystem extensions
Other OS Functionality
Compute Services
Docker Client Docker SwarmDocker Compose Docker Registry
Host User Mode
Container Management
System Processes
Application Processes
System Processes
System Processes
Application Processes
System Processes
Application Processes
Ho
st U
ser
Mo
de
Container Management
System Processes
Ho
st U
ser
Mo
de
Virtual MachineSpecifically Optimized To Run a Container
Container Management
System Processes
System Processes
Application Processes