TRANSFORM MONOLITHS TO MICROSERVICES
New code and transforming existing code
CONTAINERIZE EXISTING APPLICATIONS
Containerize for portability, efficiency and reliability
ACCELERATE NEW APPLICATIONS
Agile cloud native app development
Modernize Traditional
Applications at
Fox MediaCloud
Part of Fox Entertainment Group
Dmitry Erman
Executive Director, Development and
Architecture
Ghosted
Premiering Sunday, October 1
Using Docker Enterprise Edition
1 Billion +
Subscribers
500 +
Channels
170 +
Countries
That Level Of Demand Means
Constant Innovation
● Speed to market
● Elasticity and reliability
● Improving CI/CD
Cloud is critical to our success moving
forward.
Challenges to overcome
● A majority of our budget goes towards
maintaining the status quo.
● Limited resources to port everything
quickly
● Architecture constraints
Existing
Application
Convert to a
container
with Docker
EE
The quickest way to cut into that budget
Modern
Infrastructure
Built on premise, in the
cloud, or as part of a
hybrid environment.
App
What’s Included
• 1 week onsite support /3 weeks remote
• Deploy Docker EE to cloud or on prem
infrastructure
• Containerize one application
• End-to-end app deploy using Docker EE
• App operations using Docker EE
Accomplishments in 3 Days
• Portability across multiple infrastructures
• Reduce/Eliminate deployment downtime
• Improve application density
• Embrace DevOps/CICD
• Baked in DR strategy
By Docker, Avanade, Microsoft
MTA was the quickest way to cut into that budget
and accelerate our path to the cloud
The Broadcast Affiliate Portal App allows Fox affiliate TV
stations around the country to pick the promotional content they
would like to air.
App Details
FMC Portal Load Balancer
HTTP
HTTP
FMC Portal FMC Portal
FMC
Portal
DB
Okta &
other
services
Redis
● N-tier ASP.NET 3.5+ applications / MSSQL
2012
● 25% Max CPU Utilization on these servers
● 2 vm’s running 5-6 IIS Apps
● Windows Server 2012
Challenges
● Deploying and maintaining this application
involves lots of manual process
● DR isn’t part of the overall structure, app just gets
rebuilt and redeployed. Downtime required.
FMC Portal Load Balancer
Worker_0
10.X.X.2
Worker_1
10.X.X.3
Worker_2
10.X.X.4
FMC Portal
DB
Web Redis
Okta &
other
services
Load Balancer
Manager_0
10.X.X.5 UCP
DTR
Overlay
Network
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
App went from running on prem on
Windows Server 2012, To fully
containerized application running in
Azure on Windows Server 2016
With no changes to
the application code
● Portal is now containerized
as is the redis instance
attached to it
● DB and Auth still remains
external.
● DR is no longer concern as
the app is now containerized
an orchestrated by Docker
Swarm.
RedisWeb RedisWeb Redis
Using Docker EE
FMC
Portal
Before After
• 3 weeks to get code into
production
• No app redundancy or DR
• Security fixes are
resolved same day but
require downtime
• Time to Scale is 1+ weeks
Completed in 3 Days
• Deploy in minutes
• Built in redundancy easily into
design/architecture
• Groundwork for CI/CD built
into the platform
• No downtime for security
fixes
• Time to Scale now takes
minutes
What’s Next For
Fox
• Build production multi-cloud with Azure
• Deploy POC app to new environment
• Identify additional app targets
The path is pretty straight forward…
THANK YOU :)
Existing
Application
Convert to
container
Move to cloud
or refresh HW
Modern
Infrastructure
Modern
Methodologies
Integrate with
DevOps and Agile
programming
Modern
Microservices
Add new services
or start peeling
off services from
monolith code base
ConvertTo-Dockerfile `
-RemotePath 192.168.1.5c$ `
-OutputPath c:newDockerFile `
-Artifact IIS
# escape=`
FROM microsoft/aspnet:windowsservercore-10.0.14393.693
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
RUN Remove-Website 'Default Web Site';
# Set up website: iis-env
RUN New-Item -Path 'C:iisiis-env' -Type Directory -Force;
RUN New-Website -Name 'iis-env' -PhysicalPath 'C:iisiis-env' -Port 8090 -Force;
EXPOSE 8090
COPY ["iis-env", "/iis/iis-env"]
https://www.powershellgallery.com/packages/Image2Docker/
https://github.com/docker/communitytools-image2docker-win
Visual Studio 2017 Container tools
aka.ms/ACR/Roadmap
Popular Container Runtimes:
• Windows
• Linux
Popular Container Management Layers:
• Docker
• Linux Containers (LXC)
 Container Orchestrator
Popular Container Orchestrators:
• Docker Swarm
• Kubernetes
• Service Fabric
• OpenShift
What do container orchestrators provide?
 High reliability Declarative model for multi-host apps
 Desired state reconciliation  Health monitoring
 Security features Dynamic scaling (And more!)
But these concepts apply to other
orchestration solutions, too.
Host 1 (Windows) Host 2 (Windows) Host 3 (Linux)
Host 2 (Windows) Host 3 (Linux)Host 1 (Windows)
[HOST 1] C:> docker swarm init
Host 2 (Windows) Host 3 (Linux)Host 1 (Windows)
[HOST 1] C:> docker swarm join <JOIN-TOKEN>
Front-end Service: web
Host 2 (Windows) Host 3 (Linux)Host 1 (Windows)
Back-end
Service: db
Overlay Network: hello-net
Let’s take a look…
Front-end Service: web
Host 2 (Windows) Host 3 (Linux)Host 1 (Windows)
Back-end
Service: db
Overlay Network: hello-net
Front-end Service: web
Host 2 (Windows) Host 3 (Linux)Host 1 (Windows)
Back-end
Service: db
Overlay Network: hello-net
Front-end Service: web
Host 2 (Windows) Host 3 (Linux)Host 1 (Windows)
Back-end
Service: db
Front-end Service: web
Host 2 (Windows) Host 3 (Linux)Host 1 (Windows)
Back-end
Service: db
[HOST 1] C:> docker service scale web=3
Front-end Service: web
Host 2 (Windows) Host 3 (Linux)Host 1 (Windows)
Back-end
Service: db
http://swarm.host2/http://swarm.host1/ http://swarm.host3/
http://swarm.host2/http://swarm.host1/ http://swarm.host3/
1. Host mode publishing
2. Ingress routing mesh
 Optimal for production
 Optimal for developer scenarios
http://swarm.host2/http://swarm.host1/ http://swarm.host3/
Host mode service publishing
Publishing info for web:
http://swarm.host1:5032/
http://swarm.host1:8233/
http://swarm.host2:6001/
http://swarm.host2/
Host mode service publishing
http://swarm.host1/ http://swarm.host3/
Publishing info for web:
http://swarm.host1:5032/
http://swarm.host1:8233/
http://swarm.host2:6001/
http://swarm.host2/
Host mode service publishing
http://swarm.host1/ http://swarm.host3/
Publishing info for web:
http://swarm.host1:5032/
http://swarm.host1:8233/
http://swarm.host2:6001/
http://swarm.host2/
Host mode service publishing
http://swarm.host1/ http://swarm.host3/
Publishing info for web:
http://swarm.host1:5032/
http://swarm.host1:8233/
http://swarm.host2:6001/
http://swarm.host2/
Host mode service publishing
http://swarm.host1/ http://swarm.host3/
Publishing info for web:
http://swarm.host1:5032/
http://swarm.host1:8233/
http://swarm.host2:6001/
http://swarm.host2/
Host mode service publishing
http://swarm.host1/ http://swarm.host3/
Publishing info for web:
http://swarm.host1:5032/
http://swarm.host1:8233/
http://swarm.host2:6001/
http://swarm.host2/
Host mode service publishing
http://swarm.host1/ http://swarm.host3/
Publishing info for web:
http://swarm.host1:5032/
http://swarm.host1:8233/
http://swarm.host2:6001/
What if a container or host fails?
http://swarm.host2/
Host mode service publishing
http://swarm.host1/ http://swarm.host3/
Publishing info for web:
http://swarm.host1:5032/
http://swarm.host1:8233/
http://swarm.host2:6001/
1. Host mode publishing
2. Ingress routing mesh*
 Optimal for production
 Optimal for developer scenarios
*New! With Windows Server version 1709
1. Host mode publishing
2. Ingress routing mesh*
 Optimal for production
 Optimal for developer scenarios
*New! With Windows Server version 1709
http://swarm.host2/http://swarm.host1/ http://swarm.host3/
http://swarm.host2/http://swarm.host1/ http://swarm.host3/
ingress network
Ingress routing mesh
Publishing info for web:
http://swarm.host1:8000/
http://swarm.host2:8000/
http://swarm.host3:8000/
http://swarm.host2/http://swarm.host1/ http://swarm.host3/
ingress network
Ingress routing mesh
Publishing info for web:
http://swarm.host1:8000/
http://swarm.host2:8000/
http://swarm.host3:8000/
http://swarm.host2/http://swarm.host1/ http://swarm.host3/
ingress network
Ingress routing mesh
Publishing info for web:
http://swarm.host1:8000/
http://swarm.host2:8000/
http://swarm.host3:8000/
http://swarm.host2/http://swarm.host1/ http://swarm.host3/
ingress network
Ingress routing mesh
Publishing info for web:
http://swarm.host1:8000/
http://swarm.host2:8000/
http://swarm.host3:8000/
http://swarm.host2/http://swarm.host1/ http://swarm.host3/
ingress network
Ingress routing mesh
Publishing info for web:
http://swarm.host1:8000/
http://swarm.host2:8000/
http://swarm.host3:8000/
http://swarm.host2/http://swarm.host1/ http://swarm.host3/
ingress network
Ingress routing mesh
Publishing info for web:
http://swarm.host1:8000/
http://swarm.host2:8000/
http://swarm.host3:8000/
http://swarm.host2/http://swarm.host1/ http://swarm.host3/
ingress network
Ingress routing mesh
Publishing info for web:
http://swarm.host1:8000/
http://swarm.host2:8000/
http://swarm.host3:8000/
What if a container or host fails?
http://swarm.host2/http://swarm.host1/ http://swarm.host3/
Ingress routing mesh
Publishing info for web:
http://swarm.host1:8000/
http://swarm.host2:8000/
http://swarm.host3:8000/
ingress network
1. Host mode publishing
2. Ingress routing mesh*
 Optimal for production
 Optimal for developer scenarios
Let’s take one
more look…
*New! With Windows Server version 1709
What do container orchestrators provide?
 High reliability Declarative model for multi-host apps
 Desired state reconciliation  Health monitoring
 Security features Dynamic scaling (And more!)
…
networking platform additions
• Multiple network drivers; NAT, Transparent, L2-Bridge, L2-Tunnel, Overlay
• Virtualized network components; Host Network Service
• Networking plugins: LibNetwork Plugin (Docker), CNI Plugin (Kubernetes)
• Support for orchestration abstractions:
• Container/service port publishing
• [Swarm mode] Routing mesh
• [Kubernetes] Pods
• And more!
Thank you!
sdn_feedback@microsoft.com
Windows Server, Linux and mainframe
on-prem and cloud
Self healing, rolling updates and health checks
E2E security, image scanning, signing, secrets
Granular role based and LDAP/AD access
control
Frictionless deployment experience
https://dockertrial.com
Preview 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://aka.ms/ignite17/acs-k8-win
https://aka.ms/ignite17/k8-gettingstarted
BRK3147 - Kubernetes on Windows
BRK3181 - Modernizing application delivery and agility with containers, Kubernetes, and Microsoft Azure
Support for Windows Server containers,
Hyper-V isolation and Linux containers!
Image deployment and activation
Volume driver support
Networking and DNS discovery
Resource governance
BRK2190 - Orchestrating one million containers with Azure Service Fabric
One more thing…
Preview of Azure Functions Runtime
https://aka.ms/azafr
http://myignite.microsoft.com
https://aka.ms/ignite.mobileapp
Time Session Speaker Code Location
9:00 AM – 10:00 AM Vision Keynote Satya Nadella KEY01 OCCC South Building Hall B
1:15 PM - 1:35 PM Accelerate your DevOps with OpenShift by
Red Hat
Nicholas Gerasimatos THR4001 OCCC South – Expo Theater #2
2:15 PM - 3:30 PM Cloud infrastructure: Enabling new
possibilities together
Jason Zander GS05 OCCC West Hall C
4:00 PM - 5:15 PM Azure Compute: New features and
roadmap
Corey Sanders BRK3085 OCCC Valencia W415 CD
4:00 PM - 5:15 PM From source to production: The latest in
open source container dev tools
Brendan Burns,
Matt Butcher
BRK3336 OCCC W307
4:00 PM - 5:15 PM DevOps for any language Donovan Brown,
Damian Brady
BRK3278 OCCC S210
4:00 PM - 5:15 PM Tips and tricks: Build, deploy, and manage
web apps powered by containers *
Ahmed Elnably THR3052 OCCC South – Expo Theater #11
5:30 PM – 7:30 PM Welcome Reception N/A N/A OCCC South Building Hall A
Time Session Speaker Code Location
9:50 AM – 10:10 AM Tips and tricks: Build, deploy, and manage
web apps powered by containers (repeat)
Ahmed Elnably THR3052
R
OCCC Hyatt Regency Theater –
Level 1
10:45 AM - 12:00 PM Modern .NET: Cloud, Containers,
Microservices and Mobile all in Visual
Studio 2017
Scott Hunter, Kasey
Uhlenhuth
BRK3304 OCCC S230
10:45 AM - 12:00 PM An overview of Web Apps for Containers
on Linux
Sunitha Muthukrishna,
James Christianson
BRK2187 OCCC S331
12:45 PM - 1:30 PM Thinking inside the box: Container Services
in Azure*
Rich Ross BRK2409 OCCC South – Expo Theater:
MTC
1:05 PM - 1:25 PM Cloud native application management at
scale with Azure Container Service,
Kubernetes, and Helm
Gabe Monroy THR2108 OCCC South – Expo Theater
#10
2:15 PM - 3:30 PM SQL Server 2017 containers on Kubernetes,
OpenShift, and Docker Swarm
Travis Wright, Nicholas
Gerasimatos
BRK3141 OCCC W207 AB
Time Session Speaker Code Location
2:50 PM - 3:10 PM Azure Container Instances: Get containers
up and running in seconds
Corey Sanders THR2128 OCCC West - Microsoft Ignite
Studios
3:35 PM - 3:55 PM Learning about containers in the real world Miklos Cari THR2148 OCCC South – Expo Theater #2
4:00 PM - 5:15 PM ASP.NET Core: Web apps, cloud apps, and
containers
Maria Naggaga, Daniel
Roth
BRK3195 OCCC S230
4:30 PM - 5:15 PM Modernizing application delivery and
agility with containers, Kubernetes, and
Microsoft Azure
Brendan Burns BRK3138 OCCC S210
4:30 PM - 5:15 PM Thinking inside the box: Container Services
in Azure (repeat)
Rich Ross BRK2409 OCCC South – Expo Theater:
MTC
5:00PM – 6:00PM Social Hour Na Na OCCC South Building Hall A
Time Session Speaker Code Location
9:00 AM - 10:15 AM Windows Server: What’s new and what’s
next
Erin Chapple, Chris Van
Wesep
BRK1038 OCCC West Hall E1
10:50 AM – 11:10AM Containers as infrastructure: Getting
started with Azure Container Instances
Sean McKenna THR2217 OCCC South – Expo Theater #11
10:50 AM – 11:10AM Building and deploying existing ASP.NET
applications using VSTS and Docker on
Windows
Marcel de Vries THR2175 OCCC South – Expo Theater #2
11:30 AM - 12:15 PM Implement microservices patterns with
.NET Core and Docker containers
Cesar De La Torre BRK3317 OCCC S210
12:30 PM – 1:45 PM Modernizing your .NET enterprise without
a rewrite: WinForms, WCF and SQL to
cloud and .Net Core
Taylor Brown, Scott
Hunter, Adam Braden
BRK3318 OCCC W230
12:30 PM – 1:45 PM Continuous delivery on Microsoft Azure
using Visual Studio Team Services
Gopinath Chigakkagari BRK3276 OCCC S310
12:30 PM – 1:45 PM DevOps: CI/CD with Microsoft SQL Server
2017
Eric Kang, Michael
Mattsson
BRK3101 Hyatt Regency Windermere Z
Time Session Speaker Code Location
12:45 PM - 1:30 PM Advanced application patterns with Azure
Container Service
Jason Hansen, Aaron
Schlesinger
BRK4027 OCCC S210
1:05 PM - 1:25 PM ASP.NET in Linux and Windows containers Rob Richardson THR1056 OCCC South – Expo Theater #5
2:15 PM - 3:30 PM Windows Server feature release: How to
maximize developer efficiency today and
tomorrow
Taylor Brown BRK3322 OCCC W414
2:15 PM - 3:30 PM Modernizing existing .NET applications
with Windows Containers and Azure cloud
Cesar De La Torre,
Ankit Asthana
BRK3189 OCCC S310
2:15 PM - 3:30 PM Orchestrating one million containers with
Azure Service Fabric
Mani Ramaswamy BRK2190 OCCC W208 AB
3:15 PM - 4:00 PM Everything you need to know about the
new Windows Server release cadence
Jeff Woolsey, Chris Van
Wesep
BRK2279 OCCC West Hall F3-4
5:00 PM -6:00 PM Expo Social Hour NA NA OCCC South Building Hall A
5:35 PM - 5:55 PM WCF and .NET Framework microservices in
containers
Jeffrey Fritz NA OCCC South – Expo Theater #9
Time Session Speaker Code Location
9:00 AM - 9:45 AM Containers: From infrastructure to
applications
Gabe Monroy, Jeff
Murr
BRK3214 Hyatt Regency Windermere W
10:20 AM - 10:40 AM Real-world experience with Windows
Server containers*
Rodrigo Immaginario THR2050 OCCC South – Expo Theater #11
1:40 PM - 2:00 PM Containers as infrastructure: Getting
started with Azure Container Instances
Sean McKenna THR2217R OCCC Hyatt Regency Theater –
Level 1
2:50 PM - 3:10 PM Real-world experience with Windows
Server containers (repeat)
Rodrigo Immaginario THR2050
R
OCCC Hyatt Regency Theater –
Level 1
3:20 PM - 3:40 PM WCF and .NET Framework microservices in
containers (repeat)
Jeffrey Fritz THR3077
R
OCCC West Building Theater -
Level 2
4:00 PM - 5:15 PM The Azure open source app platform:
OpenShift, Cloud Foundry, and more
Jason Hansen, Aaron
Schlesinger
BRK3256 OCCC S230
7:30 PM – 11:59 PM Microsoft Ignite Celebration NA NA
Time Session Speaker Code Location
12:30 PM - 1:45 PM Kubernetes on Windows Patrick Lang BRK3147 OCCC W230
Ignite 2017 - Windows Server Feature Release

Ignite 2017 - Windows Server Feature Release

  • 5.
    TRANSFORM MONOLITHS TOMICROSERVICES New code and transforming existing code CONTAINERIZE EXISTING APPLICATIONS Containerize for portability, efficiency and reliability ACCELERATE NEW APPLICATIONS Agile cloud native app development
  • 6.
    Modernize Traditional Applications at FoxMediaCloud Part of Fox Entertainment Group Dmitry Erman Executive Director, Development and Architecture Ghosted Premiering Sunday, October 1 Using Docker Enterprise Edition
  • 7.
    1 Billion + Subscribers 500+ Channels 170 + Countries That Level Of Demand Means Constant Innovation ● Speed to market ● Elasticity and reliability ● Improving CI/CD Cloud is critical to our success moving forward. Challenges to overcome ● A majority of our budget goes towards maintaining the status quo. ● Limited resources to port everything quickly ● Architecture constraints
  • 8.
    Existing Application Convert to a container withDocker EE The quickest way to cut into that budget Modern Infrastructure Built on premise, in the cloud, or as part of a hybrid environment. App What’s Included • 1 week onsite support /3 weeks remote • Deploy Docker EE to cloud or on prem infrastructure • Containerize one application • End-to-end app deploy using Docker EE • App operations using Docker EE Accomplishments in 3 Days • Portability across multiple infrastructures • Reduce/Eliminate deployment downtime • Improve application density • Embrace DevOps/CICD • Baked in DR strategy By Docker, Avanade, Microsoft MTA was the quickest way to cut into that budget and accelerate our path to the cloud
  • 9.
    The Broadcast AffiliatePortal App allows Fox affiliate TV stations around the country to pick the promotional content they would like to air. App Details FMC Portal Load Balancer HTTP HTTP FMC Portal FMC Portal FMC Portal DB Okta & other services Redis ● N-tier ASP.NET 3.5+ applications / MSSQL 2012 ● 25% Max CPU Utilization on these servers ● 2 vm’s running 5-6 IIS Apps ● Windows Server 2012 Challenges ● Deploying and maintaining this application involves lots of manual process ● DR isn’t part of the overall structure, app just gets rebuilt and redeployed. Downtime required.
  • 10.
    FMC Portal LoadBalancer Worker_0 10.X.X.2 Worker_1 10.X.X.3 Worker_2 10.X.X.4 FMC Portal DB Web Redis Okta & other services Load Balancer Manager_0 10.X.X.5 UCP DTR Overlay Network HTTP HTTP HTTP HTTP HTTP HTTP App went from running on prem on Windows Server 2012, To fully containerized application running in Azure on Windows Server 2016 With no changes to the application code ● Portal is now containerized as is the redis instance attached to it ● DB and Auth still remains external. ● DR is no longer concern as the app is now containerized an orchestrated by Docker Swarm. RedisWeb RedisWeb Redis Using Docker EE
  • 11.
    FMC Portal Before After • 3weeks to get code into production • No app redundancy or DR • Security fixes are resolved same day but require downtime • Time to Scale is 1+ weeks Completed in 3 Days • Deploy in minutes • Built in redundancy easily into design/architecture • Groundwork for CI/CD built into the platform • No downtime for security fixes • Time to Scale now takes minutes
  • 12.
    What’s Next For Fox •Build production multi-cloud with Azure • Deploy POC app to new environment • Identify additional app targets The path is pretty straight forward…
  • 13.
  • 14.
    Existing Application Convert to container Move tocloud or refresh HW Modern Infrastructure Modern Methodologies Integrate with DevOps and Agile programming Modern Microservices Add new services or start peeling off services from monolith code base
  • 19.
    ConvertTo-Dockerfile ` -RemotePath 192.168.1.5c$` -OutputPath c:newDockerFile ` -Artifact IIS # escape=` FROM microsoft/aspnet:windowsservercore-10.0.14393.693 SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] RUN Remove-Website 'Default Web Site'; # Set up website: iis-env RUN New-Item -Path 'C:iisiis-env' -Type Directory -Force; RUN New-Website -Name 'iis-env' -PhysicalPath 'C:iisiis-env' -Port 8090 -Force; EXPOSE 8090 COPY ["iis-env", "/iis/iis-env"]
  • 20.
  • 21.
    Visual Studio 2017Container tools
  • 25.
  • 33.
  • 34.
    Popular Container ManagementLayers: • Docker • Linux Containers (LXC)
  • 35.
     Container Orchestrator PopularContainer Orchestrators: • Docker Swarm • Kubernetes • Service Fabric • OpenShift What do container orchestrators provide?  High reliability Declarative model for multi-host apps  Desired state reconciliation  Health monitoring  Security features Dynamic scaling (And more!)
  • 37.
    But these conceptsapply to other orchestration solutions, too.
  • 39.
    Host 1 (Windows)Host 2 (Windows) Host 3 (Linux)
  • 40.
    Host 2 (Windows)Host 3 (Linux)Host 1 (Windows) [HOST 1] C:> docker swarm init
  • 41.
    Host 2 (Windows)Host 3 (Linux)Host 1 (Windows) [HOST 1] C:> docker swarm join <JOIN-TOKEN>
  • 42.
    Front-end Service: web Host2 (Windows) Host 3 (Linux)Host 1 (Windows) Back-end Service: db Overlay Network: hello-net
  • 43.
  • 46.
    Front-end Service: web Host2 (Windows) Host 3 (Linux)Host 1 (Windows) Back-end Service: db Overlay Network: hello-net
  • 47.
    Front-end Service: web Host2 (Windows) Host 3 (Linux)Host 1 (Windows) Back-end Service: db Overlay Network: hello-net
  • 48.
    Front-end Service: web Host2 (Windows) Host 3 (Linux)Host 1 (Windows) Back-end Service: db
  • 49.
    Front-end Service: web Host2 (Windows) Host 3 (Linux)Host 1 (Windows) Back-end Service: db [HOST 1] C:> docker service scale web=3
  • 52.
    Front-end Service: web Host2 (Windows) Host 3 (Linux)Host 1 (Windows) Back-end Service: db
  • 53.
  • 54.
  • 55.
    1. Host modepublishing 2. Ingress routing mesh  Optimal for production  Optimal for developer scenarios
  • 56.
    http://swarm.host2/http://swarm.host1/ http://swarm.host3/ Host modeservice publishing Publishing info for web: http://swarm.host1:5032/ http://swarm.host1:8233/ http://swarm.host2:6001/
  • 57.
    http://swarm.host2/ Host mode servicepublishing http://swarm.host1/ http://swarm.host3/ Publishing info for web: http://swarm.host1:5032/ http://swarm.host1:8233/ http://swarm.host2:6001/
  • 58.
    http://swarm.host2/ Host mode servicepublishing http://swarm.host1/ http://swarm.host3/ Publishing info for web: http://swarm.host1:5032/ http://swarm.host1:8233/ http://swarm.host2:6001/
  • 59.
    http://swarm.host2/ Host mode servicepublishing http://swarm.host1/ http://swarm.host3/ Publishing info for web: http://swarm.host1:5032/ http://swarm.host1:8233/ http://swarm.host2:6001/
  • 60.
    http://swarm.host2/ Host mode servicepublishing http://swarm.host1/ http://swarm.host3/ Publishing info for web: http://swarm.host1:5032/ http://swarm.host1:8233/ http://swarm.host2:6001/
  • 61.
    http://swarm.host2/ Host mode servicepublishing http://swarm.host1/ http://swarm.host3/ Publishing info for web: http://swarm.host1:5032/ http://swarm.host1:8233/ http://swarm.host2:6001/
  • 62.
    http://swarm.host2/ Host mode servicepublishing http://swarm.host1/ http://swarm.host3/ Publishing info for web: http://swarm.host1:5032/ http://swarm.host1:8233/ http://swarm.host2:6001/ What if a container or host fails?
  • 63.
    http://swarm.host2/ Host mode servicepublishing http://swarm.host1/ http://swarm.host3/ Publishing info for web: http://swarm.host1:5032/ http://swarm.host1:8233/ http://swarm.host2:6001/
  • 64.
    1. Host modepublishing 2. Ingress routing mesh*  Optimal for production  Optimal for developer scenarios *New! With Windows Server version 1709
  • 65.
    1. Host modepublishing 2. Ingress routing mesh*  Optimal for production  Optimal for developer scenarios *New! With Windows Server version 1709
  • 66.
  • 67.
    http://swarm.host2/http://swarm.host1/ http://swarm.host3/ ingress network Ingressrouting mesh Publishing info for web: http://swarm.host1:8000/ http://swarm.host2:8000/ http://swarm.host3:8000/
  • 68.
    http://swarm.host2/http://swarm.host1/ http://swarm.host3/ ingress network Ingressrouting mesh Publishing info for web: http://swarm.host1:8000/ http://swarm.host2:8000/ http://swarm.host3:8000/
  • 69.
    http://swarm.host2/http://swarm.host1/ http://swarm.host3/ ingress network Ingressrouting mesh Publishing info for web: http://swarm.host1:8000/ http://swarm.host2:8000/ http://swarm.host3:8000/
  • 70.
    http://swarm.host2/http://swarm.host1/ http://swarm.host3/ ingress network Ingressrouting mesh Publishing info for web: http://swarm.host1:8000/ http://swarm.host2:8000/ http://swarm.host3:8000/
  • 71.
    http://swarm.host2/http://swarm.host1/ http://swarm.host3/ ingress network Ingressrouting mesh Publishing info for web: http://swarm.host1:8000/ http://swarm.host2:8000/ http://swarm.host3:8000/
  • 72.
    http://swarm.host2/http://swarm.host1/ http://swarm.host3/ ingress network Ingressrouting mesh Publishing info for web: http://swarm.host1:8000/ http://swarm.host2:8000/ http://swarm.host3:8000/
  • 73.
    http://swarm.host2/http://swarm.host1/ http://swarm.host3/ ingress network Ingressrouting mesh Publishing info for web: http://swarm.host1:8000/ http://swarm.host2:8000/ http://swarm.host3:8000/ What if a container or host fails?
  • 74.
    http://swarm.host2/http://swarm.host1/ http://swarm.host3/ Ingress routingmesh Publishing info for web: http://swarm.host1:8000/ http://swarm.host2:8000/ http://swarm.host3:8000/ ingress network
  • 75.
    1. Host modepublishing 2. Ingress routing mesh*  Optimal for production  Optimal for developer scenarios Let’s take one more look… *New! With Windows Server version 1709
  • 78.
    What do containerorchestrators provide?  High reliability Declarative model for multi-host apps  Desired state reconciliation  Health monitoring  Security features Dynamic scaling (And more!) …
  • 80.
    networking platform additions •Multiple network drivers; NAT, Transparent, L2-Bridge, L2-Tunnel, Overlay • Virtualized network components; Host Network Service • Networking plugins: LibNetwork Plugin (Docker), CNI Plugin (Kubernetes) • Support for orchestration abstractions: • Container/service port publishing • [Swarm mode] Routing mesh • [Kubernetes] Pods • And more! Thank you! sdn_feedback@microsoft.com
  • 81.
    Windows Server, Linuxand mainframe on-prem and cloud Self healing, rolling updates and health checks E2E security, image scanning, signing, secrets Granular role based and LDAP/AD access control Frictionless deployment experience https://dockertrial.com
  • 82.
    Preview Support for WindowsServer 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://aka.ms/ignite17/acs-k8-win https://aka.ms/ignite17/k8-gettingstarted BRK3147 - Kubernetes on Windows BRK3181 - Modernizing application delivery and agility with containers, Kubernetes, and Microsoft Azure
  • 84.
    Support for WindowsServer containers, Hyper-V isolation and Linux containers! Image deployment and activation Volume driver support Networking and DNS discovery Resource governance BRK2190 - Orchestrating one million containers with Azure Service Fabric
  • 85.
  • 86.
    Preview of AzureFunctions Runtime https://aka.ms/azafr
  • 90.
  • 91.
    Time Session SpeakerCode Location 9:00 AM – 10:00 AM Vision Keynote Satya Nadella KEY01 OCCC South Building Hall B 1:15 PM - 1:35 PM Accelerate your DevOps with OpenShift by Red Hat Nicholas Gerasimatos THR4001 OCCC South – Expo Theater #2 2:15 PM - 3:30 PM Cloud infrastructure: Enabling new possibilities together Jason Zander GS05 OCCC West Hall C 4:00 PM - 5:15 PM Azure Compute: New features and roadmap Corey Sanders BRK3085 OCCC Valencia W415 CD 4:00 PM - 5:15 PM From source to production: The latest in open source container dev tools Brendan Burns, Matt Butcher BRK3336 OCCC W307 4:00 PM - 5:15 PM DevOps for any language Donovan Brown, Damian Brady BRK3278 OCCC S210 4:00 PM - 5:15 PM Tips and tricks: Build, deploy, and manage web apps powered by containers * Ahmed Elnably THR3052 OCCC South – Expo Theater #11 5:30 PM – 7:30 PM Welcome Reception N/A N/A OCCC South Building Hall A
  • 92.
    Time Session SpeakerCode Location 9:50 AM – 10:10 AM Tips and tricks: Build, deploy, and manage web apps powered by containers (repeat) Ahmed Elnably THR3052 R OCCC Hyatt Regency Theater – Level 1 10:45 AM - 12:00 PM Modern .NET: Cloud, Containers, Microservices and Mobile all in Visual Studio 2017 Scott Hunter, Kasey Uhlenhuth BRK3304 OCCC S230 10:45 AM - 12:00 PM An overview of Web Apps for Containers on Linux Sunitha Muthukrishna, James Christianson BRK2187 OCCC S331 12:45 PM - 1:30 PM Thinking inside the box: Container Services in Azure* Rich Ross BRK2409 OCCC South – Expo Theater: MTC 1:05 PM - 1:25 PM Cloud native application management at scale with Azure Container Service, Kubernetes, and Helm Gabe Monroy THR2108 OCCC South – Expo Theater #10 2:15 PM - 3:30 PM SQL Server 2017 containers on Kubernetes, OpenShift, and Docker Swarm Travis Wright, Nicholas Gerasimatos BRK3141 OCCC W207 AB
  • 93.
    Time Session SpeakerCode Location 2:50 PM - 3:10 PM Azure Container Instances: Get containers up and running in seconds Corey Sanders THR2128 OCCC West - Microsoft Ignite Studios 3:35 PM - 3:55 PM Learning about containers in the real world Miklos Cari THR2148 OCCC South – Expo Theater #2 4:00 PM - 5:15 PM ASP.NET Core: Web apps, cloud apps, and containers Maria Naggaga, Daniel Roth BRK3195 OCCC S230 4:30 PM - 5:15 PM Modernizing application delivery and agility with containers, Kubernetes, and Microsoft Azure Brendan Burns BRK3138 OCCC S210 4:30 PM - 5:15 PM Thinking inside the box: Container Services in Azure (repeat) Rich Ross BRK2409 OCCC South – Expo Theater: MTC 5:00PM – 6:00PM Social Hour Na Na OCCC South Building Hall A
  • 94.
    Time Session SpeakerCode Location 9:00 AM - 10:15 AM Windows Server: What’s new and what’s next Erin Chapple, Chris Van Wesep BRK1038 OCCC West Hall E1 10:50 AM – 11:10AM Containers as infrastructure: Getting started with Azure Container Instances Sean McKenna THR2217 OCCC South – Expo Theater #11 10:50 AM – 11:10AM Building and deploying existing ASP.NET applications using VSTS and Docker on Windows Marcel de Vries THR2175 OCCC South – Expo Theater #2 11:30 AM - 12:15 PM Implement microservices patterns with .NET Core and Docker containers Cesar De La Torre BRK3317 OCCC S210 12:30 PM – 1:45 PM Modernizing your .NET enterprise without a rewrite: WinForms, WCF and SQL to cloud and .Net Core Taylor Brown, Scott Hunter, Adam Braden BRK3318 OCCC W230 12:30 PM – 1:45 PM Continuous delivery on Microsoft Azure using Visual Studio Team Services Gopinath Chigakkagari BRK3276 OCCC S310 12:30 PM – 1:45 PM DevOps: CI/CD with Microsoft SQL Server 2017 Eric Kang, Michael Mattsson BRK3101 Hyatt Regency Windermere Z
  • 95.
    Time Session SpeakerCode Location 12:45 PM - 1:30 PM Advanced application patterns with Azure Container Service Jason Hansen, Aaron Schlesinger BRK4027 OCCC S210 1:05 PM - 1:25 PM ASP.NET in Linux and Windows containers Rob Richardson THR1056 OCCC South – Expo Theater #5 2:15 PM - 3:30 PM Windows Server feature release: How to maximize developer efficiency today and tomorrow Taylor Brown BRK3322 OCCC W414 2:15 PM - 3:30 PM Modernizing existing .NET applications with Windows Containers and Azure cloud Cesar De La Torre, Ankit Asthana BRK3189 OCCC S310 2:15 PM - 3:30 PM Orchestrating one million containers with Azure Service Fabric Mani Ramaswamy BRK2190 OCCC W208 AB 3:15 PM - 4:00 PM Everything you need to know about the new Windows Server release cadence Jeff Woolsey, Chris Van Wesep BRK2279 OCCC West Hall F3-4 5:00 PM -6:00 PM Expo Social Hour NA NA OCCC South Building Hall A 5:35 PM - 5:55 PM WCF and .NET Framework microservices in containers Jeffrey Fritz NA OCCC South – Expo Theater #9
  • 96.
    Time Session SpeakerCode Location 9:00 AM - 9:45 AM Containers: From infrastructure to applications Gabe Monroy, Jeff Murr BRK3214 Hyatt Regency Windermere W 10:20 AM - 10:40 AM Real-world experience with Windows Server containers* Rodrigo Immaginario THR2050 OCCC South – Expo Theater #11 1:40 PM - 2:00 PM Containers as infrastructure: Getting started with Azure Container Instances Sean McKenna THR2217R OCCC Hyatt Regency Theater – Level 1 2:50 PM - 3:10 PM Real-world experience with Windows Server containers (repeat) Rodrigo Immaginario THR2050 R OCCC Hyatt Regency Theater – Level 1 3:20 PM - 3:40 PM WCF and .NET Framework microservices in containers (repeat) Jeffrey Fritz THR3077 R OCCC West Building Theater - Level 2 4:00 PM - 5:15 PM The Azure open source app platform: OpenShift, Cloud Foundry, and more Jason Hansen, Aaron Schlesinger BRK3256 OCCC S230 7:30 PM – 11:59 PM Microsoft Ignite Celebration NA NA
  • 97.
    Time Session SpeakerCode Location 12:30 PM - 1:45 PM Kubernetes on Windows Patrick Lang BRK3147 OCCC W230