SlideShare una empresa de Scribd logo
1 de 38
Descargar para leer sin conexión
Back to the Future:
Containerizing Legacy
Applications
Brandon Royal
Solutions Architect,
Docker, Inc.
Containers for greenfield
applications are awesome!
App
LEGACY APPS IN NEED OF INNOVATION
Slow deployments, inefficient infrastructure caused by
stagnating apps.
Legacy to Containerized App
App
Data
App
Web Web
DataData Data
Legacy App Containerize Compose by
Environment
Dev
Prod
App
Web
App
Web
App
Web
Why Modernize Traditional Apps
Secure
Reduce risk and
enforce new
controls
Portable
Portable
Infrastructure
Independent Apps
Efficient
Optimize CapEx
and OpEx costs
1. Identify App
2. Containerize
3. Configure & Secure
4. Compose
5. Deploy
Let’s get started
• Existing
Initiatives
• Framework
Compatibility
• Architectural Fit
• Implementation
Identify App
• Persistent data externally
or manage using
volumes
• Build scripts, packages
• Registry hacks and
phantom binaries
• ...
Implementation Details
GO
• In-process session state
• GUI dependencies (build
or runtime)
• Logging to disk
• ...
REFACTOR
Leverage tooling like
Image2Docker to
quickly detect app
artifacts and create
Docker images
Containerize
App
FROM microsoft/aspnet:windowsservercore-10.0.14393.1066
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop';
$ProgressPreference = 'SilentlyContinue';"]
# disable DNS cache so container addresses always fetched from Docker
RUN Set-ItemProperty -path
'HKLM:SYSTEMCurrentControlSetServicesDnscacheParameters' -Name
ServerPriorityTimeLimit -Value 0 -Type DWord
RUN Remove-Website 'Default Web Site';
RUN Enable-WindowsOptionalFeature -Online -FeatureName
IIS-ApplicationDevelopment,IIS-ASPNET45,IIS-BasicAuthentication,IIS-CommonHttpFeature
s,IIS-DefaultDocument,IIS-DirectoryBrowsing,IIS-HealthAndDiagnostics,IIS-HttpCompress
ionStatic,IIS-HttpErrors,IIS-HttpLogging,IIS-ISAPIExtensions,IIS-ISAPIFilter,IIS-NetF
xExtensibility45,IIS-Performance,IIS-RequestFiltering,IIS-Security,IIS-StaticContent,
IIS-WebServer,IIS-WebServerRole,NetFx4Extended-ASPNET45
Image2Docker - ASP.NET
Externalizing XML
configuration, move to
environment variables and
secrets
1. Map app settings to env
variables / secrets. Swap at
runtime.
2. Build config in image, swap by
environment at runtime
3. Refactor to consume env vars
and secrets
4. Volume mount configs
Configure and
Secure App
Use Docker EE to compose
and deploy stack
Images can be LARGE:
Optimize and use DTR cache
Secure deployments:
Sign and scan images
Compose &
Deploy Stack
Rohit Tatachar
Senior Program Manager,
Microsoft IT
Reduce infrastructure and operational cost while
moving
to Azure and modernizing application architecture
About Microsoft IT
>2,500
Applications
10
Business Units
Azure
Cloud Migration
Current Legacy App Initiatives
~90%
Legacy apps in
virtual machine
environments
25%
Legacy apps
approaching
sunsetting in 2-4
years
(No refactoring)
~90%
Apps require
traditional or
enterprise
components
Increase
Infrastructure
Utilization
Standardize VM
Infrastructure
Isolate App
Dependencies w/o
Additional VMs
Increase App
Portability and
Reuse
Docker and Windows
Containers to the Rescue!
Journey to Containers
Select Initial
Apps
Technical
Selection Criteria
Coordinate with
App Owners
Containerize
Use tooling like
Image2Docker (i2D) to
create Docker Images
and deploy to
Docker EE on Azure
Apply Enterprise
Configuration
gMSA domain identities
Windows Auth
Service Accounts
• Web and app tier
• IIS 6.0+
• .NET Framework 3.5+
• Windows Server 2008+
• No low level network or
identity services
Selecting Our First Apps
• No dependency on
hardware or driver
access
• No desktop apps
RDP, VDI
• SQL Server containerized
for development only
domain joined host
IIS
ASP.NET App
container
workerworkermanager
domain service
accounts
IIS management
windows auth
Legacy Patterns in Modern Infrastructure
Docker Enterprise Edition : The Modern Hybrid App Platform
#Request gMSA from Active Directory
#Create credspec referencing gMSA
C:> New-CredentialSpec –Name csf –AccountName foo
#Run docker container with credspec
C:> docker run –security-opt “credentialspec=file://foo.json” ...
#Deploy docker container with credspec across swarm (COMING SOON!)
C:> docker service create --credential-spec=“file://foo.json” …
#NOTE: Use Local Service context for app identity
Windows Authentication
10
Applications
4x
App Density
without performance
degradation
1/3
Infrastructure Cost*
Initial Results
*projected savings for PPE based on performance testing
Next Steps
Deploy at Scale
Deploy next set of
apps across larger
Docker EE
Docker EE CI/CD
Integration
Production
Operations
Manage initial apps
in production
Integrate Docker
Content Trust and
Docker Security
Scanning into
production build
process
Achieve Digital
Transformation
Contribute to I2D to
continue to address
use cases
Visual Studio 2017
Integrated Azure
Deployment
Rob Tanner
Division Manager – Enterprise
Middleware Services
Northern Trust
Wealth
Management
Leading advisor to
the affluent market
■ Individuals
■ Families
■ Family offices
■ Foundations
■ Endowments
■ Privately held
businesses
Founded in 1889, Northern Trust is a global leader in asset servicing, asset
management, and banking for personal and institutional clients.
Corporate &
Institutional Services
Global provider of
investment services for
institutional investors
■ Pensions
■ Sovereign entities
■ Fund managers
■ Foundations &
endowments
■ Insurance companies
Banking
$120 billion
in assets
Asset
Servicing
$6.2 trillion
in AUC
Asset
Management
$946 billion
in AUM
About Us
Software Defined Data Center Strategy
Agility Reliability &
Stability
Security Performance &
Experience
Lower TCO
Run IT as a Business
Guiding Principles
Strategic Initiatives
Converged
Platforms
Converged
Teams
Software-
Defined X
Increased
Automation
Cognitive
Infrastructure
*Northern Trust is an investor in Docker Inc.
“Greenfield
microservice apps are
great...but what do I
do with the other the
remainder of my
applications?”
Our Environment
WebLogic
Applications
400+
.NET
Applications
Tomcat
Applications
Why Traditional Apps in Docker EE?
Infrastructure
Efficiency
Foundation for
Hybrid Cloud
Improved
Security
• App Specific
Infrastructure
Provisioning
• Challenging dependency
/ middleware
management
• Per Application Isolation
Infrastructure Efficiency
THE OLD WAY
• Heterogeneous pool of
infrastructure resources
available to apps
• Dependencies /
middleware contained
within app images
• Multi-Tenant
THE DOCKER WAY
Building a Reliable Foundation for Hybrid Cloud
Declarative
Docker Services
Health
Checks
Complete
Service
Isolation
On-Prem Cloud
Developer agility
Rapid geo / capacity scale
• Limited Attack Surface
• Understood and Scanned App BoM - Security Scanning
• Automated patching in build process
• TLS signed images at every stage of build - Docker Notary
• 3rd Party IPS/IDS
Improved Security
4x Faster Deployments
With 2x Improved Infrastructure Utilization
Faster Deployments with
Less Infrastructure
Without
Docker
29 days
With
Docker
7 days
Docker EE Single Pane of Glass
Docker EE became the obvious choice since it’s a single pane of glass
for all workload...including Windows / Linux heterogeneous stacks
host host host host host
ASP.NET
web API
spring boot
front-end
Docker EE
app
Stack
The Future of Docker at NT
Docker EE is the standard for all legacy applications
at Northern Trust...period
Containerize all the legacy apps!!
@docker #dockercon #dockermta
Identify your app,
start small
and keep it simple
To learn more about modernizing your apps with Docker
EE, go to www.docker.com/MTA
LEGACY APPS MODERNIZED
Docker Brings New
Life Back to Legacy
Apps
By containerizing legacy apps,
Docker is now making it possible to
manage a legacy app on modern
infrastructure, gaining all the benefits
Thank You!
@brandon_royal
#dockercon

Más contenido relacionado

La actualidad más candente

DCSF 19 Modernizing Insurance with Docker Enterprise: The Physicians Mutual ...
DCSF 19 Modernizing Insurance with Docker Enterprise:  The Physicians Mutual ...DCSF 19 Modernizing Insurance with Docker Enterprise:  The Physicians Mutual ...
DCSF 19 Modernizing Insurance with Docker Enterprise: The Physicians Mutual ...
Docker, Inc.
 

La actualidad más candente (20)

Node.js Rocks in Docker for Dev and Ops
Node.js Rocks in Docker for Dev and OpsNode.js Rocks in Docker for Dev and Ops
Node.js Rocks in Docker for Dev and Ops
 
Building a Secure App with Docker - Ying Li and David Lawrence, Docker
Building a Secure App with Docker - Ying Li and David Lawrence, DockerBuilding a Secure App with Docker - Ying Li and David Lawrence, Docker
Building a Secure App with Docker - Ying Li and David Lawrence, Docker
 
DCSF19 CMD and Conquer: Containerizing the Monolith
DCSF19 CMD and Conquer: Containerizing the Monolith  DCSF19 CMD and Conquer: Containerizing the Monolith
DCSF19 CMD and Conquer: Containerizing the Monolith
 
DCSF19 Docker Containers & Java: What I Wish I Had Been Told
DCSF19 Docker Containers & Java: What I Wish I Had Been ToldDCSF19 Docker Containers & Java: What I Wish I Had Been Told
DCSF19 Docker Containers & Java: What I Wish I Had Been Told
 
Global Operations with Docker for the Enterprise - Nico Kabar, Docker
Global Operations with Docker for the Enterprise - Nico Kabar, DockerGlobal Operations with Docker for the Enterprise - Nico Kabar, Docker
Global Operations with Docker for the Enterprise - Nico Kabar, Docker
 
Taking Docker from Local to Production at Intuit JanJaap Lahpor, Intuit and H...
Taking Docker from Local to Production at Intuit JanJaap Lahpor, Intuit and H...Taking Docker from Local to Production at Intuit JanJaap Lahpor, Intuit and H...
Taking Docker from Local to Production at Intuit JanJaap Lahpor, Intuit and H...
 
Docker for Ops - Scott Coulton, Puppet
Docker for Ops - Scott Coulton, PuppetDocker for Ops - Scott Coulton, Puppet
Docker for Ops - Scott Coulton, Puppet
 
Docker for .NET Developers - Michele Leroux Bustamante, Solliance
Docker for .NET Developers - Michele Leroux Bustamante, SollianceDocker for .NET Developers - Michele Leroux Bustamante, Solliance
Docker for .NET Developers - Michele Leroux Bustamante, Solliance
 
What’s New in Docker - Victor Vieux, Docker
What’s New in Docker - Victor Vieux, DockerWhat’s New in Docker - Victor Vieux, Docker
What’s New in Docker - Victor Vieux, Docker
 
Docker in Production, Look No Hands! by Scott Coulton
Docker in Production, Look No Hands! by Scott CoultonDocker in Production, Look No Hands! by Scott Coulton
Docker in Production, Look No Hands! by Scott Coulton
 
Configuration Management and Transforming Legacy Applications in the Enterpri...
Configuration Management and Transforming Legacy Applications in the Enterpri...Configuration Management and Transforming Legacy Applications in the Enterpri...
Configuration Management and Transforming Legacy Applications in the Enterpri...
 
DockerCon 16 General Session Day 1
DockerCon 16 General Session Day 1DockerCon 16 General Session Day 1
DockerCon 16 General Session Day 1
 
Activision's Skypilot: Delivering Amazing Game Experiences Through Containeri...
Activision's Skypilot: Delivering Amazing Game Experiences Through Containeri...Activision's Skypilot: Delivering Amazing Game Experiences Through Containeri...
Activision's Skypilot: Delivering Amazing Game Experiences Through Containeri...
 
DockerCon 2017 - General Session Day 1 - Solomon Hykes
DockerCon 2017 - General Session Day 1 - Solomon HykesDockerCon 2017 - General Session Day 1 - Solomon Hykes
DockerCon 2017 - General Session Day 1 - Solomon Hykes
 
DCSF 19 Modernizing Insurance with Docker Enterprise: The Physicians Mutual ...
DCSF 19 Modernizing Insurance with Docker Enterprise:  The Physicians Mutual ...DCSF 19 Modernizing Insurance with Docker Enterprise:  The Physicians Mutual ...
DCSF 19 Modernizing Insurance with Docker Enterprise: The Physicians Mutual ...
 
Automated hardware testing using docker for space
Automated hardware testing using docker for spaceAutomated hardware testing using docker for space
Automated hardware testing using docker for space
 
DockerCon EU 2015: Monitoring Docker
DockerCon EU 2015: Monitoring DockerDockerCon EU 2015: Monitoring Docker
DockerCon EU 2015: Monitoring Docker
 
DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline  DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline
 
Intro to docker - innovation demo 2022
Intro to docker - innovation demo 2022Intro to docker - innovation demo 2022
Intro to docker - innovation demo 2022
 
DCSF19 Containerized Databases for Enterprise Applications
DCSF19 Containerized Databases for Enterprise ApplicationsDCSF19 Containerized Databases for Enterprise Applications
DCSF19 Containerized Databases for Enterprise Applications
 

Similar a Back to the Future: Containerize Legacy Applications - Rob Tanner, Northern Trust, Rohit Tatachar, Microsoft and Brandon Royal, Docker

Docker Birthday #3 Slides - Overview
Docker Birthday #3 Slides - OverviewDocker Birthday #3 Slides - Overview
Docker Birthday #3 Slides - Overview
Chris Ciborowski
 

Similar a Back to the Future: Containerize Legacy Applications - Rob Tanner, Northern Trust, Rohit Tatachar, Microsoft and Brandon Royal, Docker (20)

Erik Baardse - Bringing Agility to Traditional application by docker
Erik Baardse - Bringing Agility to Traditional application by dockerErik Baardse - Bringing Agility to Traditional application by docker
Erik Baardse - Bringing Agility to Traditional application by docker
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
 
Tampere Docker meetup - Happy 5th Birthday Docker
Tampere Docker meetup - Happy 5th Birthday DockerTampere Docker meetup - Happy 5th Birthday Docker
Tampere Docker meetup - Happy 5th Birthday Docker
 
Docker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - PresentationDocker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - Presentation
 
Docker12 factor
Docker12 factorDocker12 factor
Docker12 factor
 
Docker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker SlidesDocker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker Slides
 
Docker Birthday #3 Slides - Overview
Docker Birthday #3 Slides - OverviewDocker Birthday #3 Slides - Overview
Docker Birthday #3 Slides - Overview
 
SS Introduction to Docker
SS Introduction to DockerSS Introduction to Docker
SS Introduction to Docker
 
How to containerize at speed and at scale with Docker Enterprise Edition, mov...
How to containerize at speed and at scale with Docker Enterprise Edition, mov...How to containerize at speed and at scale with Docker Enterprise Edition, mov...
How to containerize at speed and at scale with Docker Enterprise Edition, mov...
 
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
 
DevOps LA Meetup Intro to Habitat
DevOps LA Meetup Intro to HabitatDevOps LA Meetup Intro to Habitat
DevOps LA Meetup Intro to Habitat
 
Md Zahir Uddin
Md Zahir UddinMd Zahir Uddin
Md Zahir Uddin
 
Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...
Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...
Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...
 
Introduction to Docker - 2017
Introduction to Docker - 2017Introduction to Docker - 2017
Introduction to Docker - 2017
 
Docker EE 2.0 Choice, Security & Agility
Docker EE 2.0Choice, Security & AgilityDocker EE 2.0Choice, Security & Agility
Docker EE 2.0 Choice, Security & Agility
 
Docker Datacenter - CaaS
Docker Datacenter - CaaSDocker Datacenter - CaaS
Docker Datacenter - CaaS
 
Bahrain ch9 introduction to docker 5th birthday
Bahrain ch9 introduction to docker 5th birthday Bahrain ch9 introduction to docker 5th birthday
Bahrain ch9 introduction to docker 5th birthday
 
Docker Enterprise Edition Overview by Steven Thwaites, Technical Solutions En...
Docker Enterprise Edition Overview by Steven Thwaites, Technical Solutions En...Docker Enterprise Edition Overview by Steven Thwaites, Technical Solutions En...
Docker Enterprise Edition Overview by Steven Thwaites, Technical Solutions En...
 
MongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the Cloud
MongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the CloudMongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the Cloud
MongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the Cloud
 
Edge 2016 Session 1886 Building your own docker container cloud on ibm power...
Edge 2016 Session 1886  Building your own docker container cloud on ibm power...Edge 2016 Session 1886  Building your own docker container cloud on ibm power...
Edge 2016 Session 1886 Building your own docker container cloud on ibm power...
 

Más de Docker, Inc.

Build & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWSBuild & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWS
Docker, Inc.
 
Build & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWSBuild & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWS
Docker, Inc.
 

Más de Docker, Inc. (20)

Containerize Your Game Server for the Best Multiplayer Experience
Containerize Your Game Server for the Best Multiplayer Experience Containerize Your Game Server for the Best Multiplayer Experience
Containerize Your Game Server for the Best Multiplayer Experience
 
How to Improve Your Image Builds Using Advance Docker Build
How to Improve Your Image Builds Using Advance Docker BuildHow to Improve Your Image Builds Using Advance Docker Build
How to Improve Your Image Builds Using Advance Docker Build
 
Build & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWSBuild & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWS
 
Securing Your Containerized Applications with NGINX
Securing Your Containerized Applications with NGINXSecuring Your Containerized Applications with NGINX
Securing Your Containerized Applications with NGINX
 
How To Build and Run Node Apps with Docker and Compose
How To Build and Run Node Apps with Docker and ComposeHow To Build and Run Node Apps with Docker and Compose
How To Build and Run Node Apps with Docker and Compose
 
Hands-on Helm
Hands-on Helm Hands-on Helm
Hands-on Helm
 
Distributed Deep Learning with Docker at Salesforce
Distributed Deep Learning with Docker at SalesforceDistributed Deep Learning with Docker at Salesforce
Distributed Deep Learning with Docker at Salesforce
 
The First 10M Pulls: Building The Official Curl Image for Docker Hub
The First 10M Pulls: Building The Official Curl Image for Docker HubThe First 10M Pulls: Building The Official Curl Image for Docker Hub
The First 10M Pulls: Building The Official Curl Image for Docker Hub
 
Monitoring in a Microservices World
Monitoring in a Microservices WorldMonitoring in a Microservices World
Monitoring in a Microservices World
 
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
 
Predicting Space Weather with Docker
Predicting Space Weather with DockerPredicting Space Weather with Docker
Predicting Space Weather with Docker
 
Become a Docker Power User With Microsoft Visual Studio Code
Become a Docker Power User With Microsoft Visual Studio CodeBecome a Docker Power User With Microsoft Visual Studio Code
Become a Docker Power User With Microsoft Visual Studio Code
 
How to Use Mirroring and Caching to Optimize your Container Registry
How to Use Mirroring and Caching to Optimize your Container RegistryHow to Use Mirroring and Caching to Optimize your Container Registry
How to Use Mirroring and Caching to Optimize your Container Registry
 
Monolithic to Microservices + Docker = SDLC on Steroids!
Monolithic to Microservices + Docker = SDLC on Steroids!Monolithic to Microservices + Docker = SDLC on Steroids!
Monolithic to Microservices + Docker = SDLC on Steroids!
 
Kubernetes at Datadog Scale
Kubernetes at Datadog ScaleKubernetes at Datadog Scale
Kubernetes at Datadog Scale
 
Labels, Labels, Labels
Labels, Labels, Labels Labels, Labels, Labels
Labels, Labels, Labels
 
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment ModelUsing Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
 
Build & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWSBuild & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWS
 
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
 
Developing with Docker for the Arm Architecture
Developing with Docker for the Arm ArchitectureDeveloping with Docker for the Arm Architecture
Developing with Docker for the Arm Architecture
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 

Back to the Future: Containerize Legacy Applications - Rob Tanner, Northern Trust, Rohit Tatachar, Microsoft and Brandon Royal, Docker

  • 1. Back to the Future: Containerizing Legacy Applications Brandon Royal Solutions Architect, Docker, Inc.
  • 3.
  • 4. LEGACY APPS IN NEED OF INNOVATION Slow deployments, inefficient infrastructure caused by stagnating apps.
  • 5. Legacy to Containerized App App Data App Web Web DataData Data Legacy App Containerize Compose by Environment Dev Prod App Web App Web App Web
  • 6. Why Modernize Traditional Apps Secure Reduce risk and enforce new controls Portable Portable Infrastructure Independent Apps Efficient Optimize CapEx and OpEx costs
  • 7. 1. Identify App 2. Containerize 3. Configure & Secure 4. Compose 5. Deploy Let’s get started
  • 8. • Existing Initiatives • Framework Compatibility • Architectural Fit • Implementation Identify App
  • 9. • Persistent data externally or manage using volumes • Build scripts, packages • Registry hacks and phantom binaries • ... Implementation Details GO • In-process session state • GUI dependencies (build or runtime) • Logging to disk • ... REFACTOR
  • 10. Leverage tooling like Image2Docker to quickly detect app artifacts and create Docker images Containerize App
  • 11. FROM microsoft/aspnet:windowsservercore-10.0.14393.1066 SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] # disable DNS cache so container addresses always fetched from Docker RUN Set-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetServicesDnscacheParameters' -Name ServerPriorityTimeLimit -Value 0 -Type DWord RUN Remove-Website 'Default Web Site'; RUN Enable-WindowsOptionalFeature -Online -FeatureName IIS-ApplicationDevelopment,IIS-ASPNET45,IIS-BasicAuthentication,IIS-CommonHttpFeature s,IIS-DefaultDocument,IIS-DirectoryBrowsing,IIS-HealthAndDiagnostics,IIS-HttpCompress ionStatic,IIS-HttpErrors,IIS-HttpLogging,IIS-ISAPIExtensions,IIS-ISAPIFilter,IIS-NetF xExtensibility45,IIS-Performance,IIS-RequestFiltering,IIS-Security,IIS-StaticContent, IIS-WebServer,IIS-WebServerRole,NetFx4Extended-ASPNET45 Image2Docker - ASP.NET
  • 12. Externalizing XML configuration, move to environment variables and secrets 1. Map app settings to env variables / secrets. Swap at runtime. 2. Build config in image, swap by environment at runtime 3. Refactor to consume env vars and secrets 4. Volume mount configs Configure and Secure App
  • 13. Use Docker EE to compose and deploy stack Images can be LARGE: Optimize and use DTR cache Secure deployments: Sign and scan images Compose & Deploy Stack
  • 14. Rohit Tatachar Senior Program Manager, Microsoft IT
  • 15. Reduce infrastructure and operational cost while moving to Azure and modernizing application architecture About Microsoft IT >2,500 Applications 10 Business Units Azure Cloud Migration
  • 16. Current Legacy App Initiatives ~90% Legacy apps in virtual machine environments 25% Legacy apps approaching sunsetting in 2-4 years (No refactoring) ~90% Apps require traditional or enterprise components
  • 17. Increase Infrastructure Utilization Standardize VM Infrastructure Isolate App Dependencies w/o Additional VMs Increase App Portability and Reuse Docker and Windows Containers to the Rescue!
  • 18. Journey to Containers Select Initial Apps Technical Selection Criteria Coordinate with App Owners Containerize Use tooling like Image2Docker (i2D) to create Docker Images and deploy to Docker EE on Azure Apply Enterprise Configuration gMSA domain identities Windows Auth Service Accounts
  • 19. • Web and app tier • IIS 6.0+ • .NET Framework 3.5+ • Windows Server 2008+ • No low level network or identity services Selecting Our First Apps • No dependency on hardware or driver access • No desktop apps RDP, VDI • SQL Server containerized for development only
  • 20. domain joined host IIS ASP.NET App container workerworkermanager domain service accounts IIS management windows auth Legacy Patterns in Modern Infrastructure Docker Enterprise Edition : The Modern Hybrid App Platform
  • 21. #Request gMSA from Active Directory #Create credspec referencing gMSA C:> New-CredentialSpec –Name csf –AccountName foo #Run docker container with credspec C:> docker run –security-opt “credentialspec=file://foo.json” ... #Deploy docker container with credspec across swarm (COMING SOON!) C:> docker service create --credential-spec=“file://foo.json” … #NOTE: Use Local Service context for app identity Windows Authentication
  • 22. 10 Applications 4x App Density without performance degradation 1/3 Infrastructure Cost* Initial Results *projected savings for PPE based on performance testing
  • 23. Next Steps Deploy at Scale Deploy next set of apps across larger Docker EE Docker EE CI/CD Integration Production Operations Manage initial apps in production Integrate Docker Content Trust and Docker Security Scanning into production build process Achieve Digital Transformation Contribute to I2D to continue to address use cases Visual Studio 2017 Integrated Azure Deployment
  • 24. Rob Tanner Division Manager – Enterprise Middleware Services Northern Trust
  • 25. Wealth Management Leading advisor to the affluent market ■ Individuals ■ Families ■ Family offices ■ Foundations ■ Endowments ■ Privately held businesses Founded in 1889, Northern Trust is a global leader in asset servicing, asset management, and banking for personal and institutional clients. Corporate & Institutional Services Global provider of investment services for institutional investors ■ Pensions ■ Sovereign entities ■ Fund managers ■ Foundations & endowments ■ Insurance companies Banking $120 billion in assets Asset Servicing $6.2 trillion in AUC Asset Management $946 billion in AUM About Us
  • 26. Software Defined Data Center Strategy Agility Reliability & Stability Security Performance & Experience Lower TCO Run IT as a Business Guiding Principles Strategic Initiatives Converged Platforms Converged Teams Software- Defined X Increased Automation Cognitive Infrastructure *Northern Trust is an investor in Docker Inc.
  • 27. “Greenfield microservice apps are great...but what do I do with the other the remainder of my applications?”
  • 29. Why Traditional Apps in Docker EE? Infrastructure Efficiency Foundation for Hybrid Cloud Improved Security
  • 30. • App Specific Infrastructure Provisioning • Challenging dependency / middleware management • Per Application Isolation Infrastructure Efficiency THE OLD WAY • Heterogeneous pool of infrastructure resources available to apps • Dependencies / middleware contained within app images • Multi-Tenant THE DOCKER WAY
  • 31. Building a Reliable Foundation for Hybrid Cloud Declarative Docker Services Health Checks Complete Service Isolation On-Prem Cloud Developer agility Rapid geo / capacity scale
  • 32. • Limited Attack Surface • Understood and Scanned App BoM - Security Scanning • Automated patching in build process • TLS signed images at every stage of build - Docker Notary • 3rd Party IPS/IDS Improved Security
  • 33. 4x Faster Deployments With 2x Improved Infrastructure Utilization Faster Deployments with Less Infrastructure Without Docker 29 days With Docker 7 days
  • 34. Docker EE Single Pane of Glass Docker EE became the obvious choice since it’s a single pane of glass for all workload...including Windows / Linux heterogeneous stacks host host host host host ASP.NET web API spring boot front-end Docker EE app Stack
  • 35. The Future of Docker at NT Docker EE is the standard for all legacy applications at Northern Trust...period
  • 36. Containerize all the legacy apps!! @docker #dockercon #dockermta Identify your app, start small and keep it simple To learn more about modernizing your apps with Docker EE, go to www.docker.com/MTA
  • 37. LEGACY APPS MODERNIZED Docker Brings New Life Back to Legacy Apps By containerizing legacy apps, Docker is now making it possible to manage a legacy app on modern infrastructure, gaining all the benefits