SlideShare a Scribd company logo
Ignite 2017 - Windows Server Feature Release
Ignite 2017 - Windows Server Feature Release
Ignite 2017 - Windows Server Feature Release
Ignite 2017 - Windows Server Feature Release
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
Ignite 2017 - Windows Server Feature Release
Ignite 2017 - Windows Server Feature Release
Ignite 2017 - Windows Server Feature Release
Ignite 2017 - Windows Server Feature Release
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
Ignite 2017 - Windows Server Feature Release
Ignite 2017 - Windows Server Feature Release
Ignite 2017 - Windows Server Feature Release
aka.ms/ACR/Roadmap
Ignite 2017 - Windows Server Feature Release
Ignite 2017 - Windows Server Feature Release
Ignite 2017 - Windows Server Feature Release
Ignite 2017 - Windows Server Feature Release
Ignite 2017 - Windows Server Feature Release
Ignite 2017 - Windows Server Feature Release
Ignite 2017 - Windows Server Feature Release
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!)
Ignite 2017 - Windows Server Feature Release
But these concepts apply to other
orchestration solutions, too.
Ignite 2017 - Windows Server Feature Release
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…
Ignite 2017 - Windows Server Feature Release
Ignite 2017 - Windows Server Feature Release
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
Ignite 2017 - Windows Server Feature Release
Ignite 2017 - Windows Server Feature Release
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
Ignite 2017 - Windows Server Feature Release
Ignite 2017 - Windows Server Feature Release
What do container orchestrators provide?
 High reliability Declarative model for multi-host apps
 Desired state reconciliation  Health monitoring
 Security features Dynamic scaling (And more!)
…
Ignite 2017 - Windows Server Feature Release
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
Ignite 2017 - Windows Server Feature Release
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
Ignite 2017 - Windows Server Feature Release
Ignite 2017 - Windows Server Feature Release
Ignite 2017 - Windows Server Feature Release
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

More Related Content

PPTX
Modernizing your .net enterprise without a rewrite
PPTX
Docker Practice in Alibaba Cloud by Li Yi (Mark) & Zuhe Li (Sogo)
PDF
Predicting Space Weather with Docker
PPTX
Programming the world with Docker
PPTX
DockerCon 16 General Session Day 2
PDF
DCEU 18: Docker Enterprise Platform and Architecture
PPTX
DockerCon EU 2015: Stop Being Lazy and Test Your Software!
PDF
Troubleshooting tips from docker support engineers
Modernizing your .net enterprise without a rewrite
Docker Practice in Alibaba Cloud by Li Yi (Mark) & Zuhe Li (Sogo)
Predicting Space Weather with Docker
Programming the world with Docker
DockerCon 16 General Session Day 2
DCEU 18: Docker Enterprise Platform and Architecture
DockerCon EU 2015: Stop Being Lazy and Test Your Software!
Troubleshooting tips from docker support engineers

What's hot (20)

PPTX
Photon Controller: An Open Source Container Infrastructure Platform from VMware
PDF
Zero downtime-java-deployments-with-docker-and-kubernetes
PDF
Taking Docker from Local to Production at Intuit JanJaap Lahpor, Intuit and H...
PDF
DCEU 18: Docker Container Networking
PDF
Docker for any type of workload and any IT Infrastructure
PDF
Building your production tech stack for docker container platform
PPTX
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
PPTX
Microsoft Techsummit Zurich Docker and Microsoft
PDF
Practical Design Patterns in Docker Networking
PPTX
DevOps with Kubernetes and Helm - Jenkins World Edition
PDF
Docker for developers on mac and windows
PDF
DockerCon EU 2015: Day 1 General Session
PPTX
DevOps with Kubernetes and Helm
PPTX
Docker Datacenter Overview and Production Setup Slides
PDF
Hands-on Helm
PPTX
Using the SDACK Architecture on Security Event Inspection by Yu-Lun Chen and ...
PDF
Proactive ops for container orchestration environments
PDF
Build & Deploy Multi-Container Applications to AWS
PDF
DockerCon SF 2015: Ben Golub's Keynote Day 1
PPTX
Learning the Alphabet: A/B, CD and [E-Z] in the Docker Datacenter by Brett Ti...
Photon Controller: An Open Source Container Infrastructure Platform from VMware
Zero downtime-java-deployments-with-docker-and-kubernetes
Taking Docker from Local to Production at Intuit JanJaap Lahpor, Intuit and H...
DCEU 18: Docker Container Networking
Docker for any type of workload and any IT Infrastructure
Building your production tech stack for docker container platform
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Microsoft Techsummit Zurich Docker and Microsoft
Practical Design Patterns in Docker Networking
DevOps with Kubernetes and Helm - Jenkins World Edition
Docker for developers on mac and windows
DockerCon EU 2015: Day 1 General Session
DevOps with Kubernetes and Helm
Docker Datacenter Overview and Production Setup Slides
Hands-on Helm
Using the SDACK Architecture on Security Event Inspection by Yu-Lun Chen and ...
Proactive ops for container orchestration environments
Build & Deploy Multi-Container Applications to AWS
DockerCon SF 2015: Ben Golub's Keynote Day 1
Learning the Alphabet: A/B, CD and [E-Z] in the Docker Datacenter by Brett Ti...
Ad

Similar to Ignite 2017 - Windows Server Feature Release (20)

PDF
Containers, microservices and serverless for realists
PPTX
Yet Another Session about Docker and Containers​
PDF
DCEU 18: How To Build Your Containerization Strategy
PPTX
Containers: DevOp Enablers of Technical Solutions
PDF
DCSF19 How To Build Your Containerization Strategy
PDF
Docker in Production: How RightScale Delivers Cloud Applications
PPTX
What's new in containers
PPTX
Microsoft Build 2017 - Developing on Windows Server
PPTX
Build 2017 - B8013 - Developing on Windows Server: Innovation for today and t...
PPTX
Build 2017 - Developing On Windows Server
PDF
Getting Started with Docker - Nick Stinemates
PPTX
Modernizing existing .NET applications with Windows Containers and Azure cloud
PPTX
The Future of Web Application Architectures
PPTX
Deploying applications to Windows Server 2016 and Windows Containers
PDF
Rackspace::Solve NYC - The Future of Applications with Ken Cochrane, Engineer...
PDF
Alibaba Cloud Conference 2016 - Docker Enterprise
PPTX
DockerCon 15 Keynote - Day 2
PDF
Back to the Future: Containerize Legacy Applications
PPTX
Introduction to Containers & Diving a little deeper into the benefits of Con...
PPTX
Docker, cornerstone of an hybrid cloud?
Containers, microservices and serverless for realists
Yet Another Session about Docker and Containers​
DCEU 18: How To Build Your Containerization Strategy
Containers: DevOp Enablers of Technical Solutions
DCSF19 How To Build Your Containerization Strategy
Docker in Production: How RightScale Delivers Cloud Applications
What's new in containers
Microsoft Build 2017 - Developing on Windows Server
Build 2017 - B8013 - Developing on Windows Server: Innovation for today and t...
Build 2017 - Developing On Windows Server
Getting Started with Docker - Nick Stinemates
Modernizing existing .NET applications with Windows Containers and Azure cloud
The Future of Web Application Architectures
Deploying applications to Windows Server 2016 and Windows Containers
Rackspace::Solve NYC - The Future of Applications with Ken Cochrane, Engineer...
Alibaba Cloud Conference 2016 - Docker Enterprise
DockerCon 15 Keynote - Day 2
Back to the Future: Containerize Legacy Applications
Introduction to Containers & Diving a little deeper into the benefits of Con...
Docker, cornerstone of an hybrid cloud?
Ad

More from Taylor Brown (10)

PPTX
Ignite 2016 - Windows Containers
PPTX
Ignite 2016 - Transforming Workloads
PPTX
Ignite 2016 - Docker Overview
PPTX
Ignite 2015 - Windows Containers
PPTX
DockerCon17 - Beyond the backslash
PPTX
DockerCon 2017 - Ecosystem track presentation
PPTX
DockerCon 2016 - Windows Server and Docker
PPTX
DockerCon 2016 - Dockerizing Windows Server Applications
PPTX
Accelerate application delivery with docker containers and windows server 2016
PPTX
Microsoft Ignite Preday - Container Keynote
Ignite 2016 - Windows Containers
Ignite 2016 - Transforming Workloads
Ignite 2016 - Docker Overview
Ignite 2015 - Windows Containers
DockerCon17 - Beyond the backslash
DockerCon 2017 - Ecosystem track presentation
DockerCon 2016 - Windows Server and Docker
DockerCon 2016 - Dockerizing Windows Server Applications
Accelerate application delivery with docker containers and windows server 2016
Microsoft Ignite Preday - Container Keynote

Recently uploaded (20)

PDF
Empathic Computing: Creating Shared Understanding
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Approach and Philosophy of On baking technology
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
A Presentation on Artificial Intelligence
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
cuic standard and advanced reporting.pdf
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Encapsulation theory and applications.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
Empathic Computing: Creating Shared Understanding
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Unlocking AI with Model Context Protocol (MCP)
Approach and Philosophy of On baking technology
Understanding_Digital_Forensics_Presentation.pptx
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
“AI and Expert System Decision Support & Business Intelligence Systems”
A Presentation on Artificial Intelligence
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
cuic standard and advanced reporting.pdf
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Dropbox Q2 2025 Financial Results & Investor Presentation
NewMind AI Monthly Chronicles - July 2025
Network Security Unit 5.pdf for BCA BBA.
Mobile App Security Testing_ A Comprehensive Guide.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Encapsulation theory and applications.pdf
Spectral efficient network and resource selection model in 5G networks

Ignite 2017 - Windows Server Feature Release

  • 5. 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
  • 6. 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
  • 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 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
  • 9. 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.
  • 10. 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
  • 11. 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
  • 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…
  • 14. 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
  • 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"]
  • 21. Visual Studio 2017 Container tools
  • 33. Popular Container Runtimes: • Windows • Linux
  • 34. Popular Container Management Layers: • Docker • Linux Containers (LXC)
  • 35.  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!)
  • 37. But these concepts apply 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 Host 2 (Windows) Host 3 (Linux)Host 1 (Windows) Back-end Service: db Overlay Network: hello-net
  • 43. Let’s take a look…
  • 46. Front-end Service: web Host 2 (Windows) Host 3 (Linux)Host 1 (Windows) Back-end Service: db Overlay Network: hello-net
  • 47. Front-end Service: web Host 2 (Windows) Host 3 (Linux)Host 1 (Windows) Back-end Service: db Overlay Network: hello-net
  • 48. Front-end Service: web Host 2 (Windows) Host 3 (Linux)Host 1 (Windows) Back-end Service: db
  • 49. 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
  • 52. Front-end Service: web Host 2 (Windows) Host 3 (Linux)Host 1 (Windows) Back-end Service: db
  • 55. 1. Host mode publishing 2. Ingress routing mesh  Optimal for production  Optimal for developer scenarios
  • 56. 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/
  • 57. 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/
  • 58. 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/
  • 59. 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/
  • 60. 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/
  • 61. 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/
  • 62. 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?
  • 63. 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/
  • 64. 1. Host mode publishing 2. Ingress routing mesh*  Optimal for production  Optimal for developer scenarios *New! With Windows Server version 1709
  • 65. 1. Host mode publishing 2. Ingress routing mesh*  Optimal for production  Optimal for developer scenarios *New! With Windows Server version 1709
  • 67. 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/
  • 68. 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/
  • 69. 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/
  • 70. 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/
  • 71. 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/
  • 72. 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/
  • 73. 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?
  • 74. 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
  • 75. 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
  • 78. What do container orchestrators 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, 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
  • 82. 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
  • 84. 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
  • 86. Preview of Azure Functions Runtime https://aka.ms/azafr
  • 91. 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
  • 92. 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
  • 93. 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
  • 94. 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
  • 95. 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
  • 96. 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
  • 97. Time Session Speaker Code Location 12:30 PM - 1:45 PM Kubernetes on Windows Patrick Lang BRK3147 OCCC W230