The Velvet Revolution
Dockerizing Traditional .NET Apps
Elton Stoneman | Developer Advocate
@EltonStoneman | elton@docker.com
Today
• The Docker platform
• ASP.NET apps in Docker
• Modernizing apps with Docker
Not Today
• Microservices
• DevOps
• Cloud
• .NET Core
• Nano Server
• Linux
GET
v1
GET
v2
GET
v3
GET
v4
GET
v5
Docker is a Platform
.NET Fx
ASP.NET
Web App
Server Core
IIS
> docker build
# escape=`
FROM microsoft/windowsservercore
SHELL ["powershell", "-Command"]
RUN Add-WindowsFeature Web-server, `
NET-Framework-45-ASPNET, Web-Asp-Net45; `
Remove-Website -Name 'Default Web Site'
COPY ProductLaunchWeb /product-launch-web
RUN New-Website -Name 'product-launch' `
-PhysicalPath 'C:product-launch-web' -Port 80
EXPOSE 80
COPY bootstrap.ps1 /
ENTRYPOINT ./bootstrap.ps1
> docker push
hub.docker.com
> docker run
Dockerizing ASP.NET
GET
• Consistency
– Build & store
– Run & manage
• Foundation
– Fast, safe deployment
– Break up monoliths
v2
Modernizing Apps with Docker
Performance
Heavy usage
crashes app
Data Insight
Support ticket
for queries
UX
Full release
for UI change
Performance
Heavy usage
crashes app
Data Insight
Support ticket
for queries
UX
Full release
for UI change
Performance Feature Demo
GET
v3
GET
v3
Performance
Heavy usage
crashes app
Data Insight
Support ticket
for queries
Data Insight Feature Demo
GET
v4
GET
v4
Performance
Heavy usage
crashes app
Data Insight
Support ticket
for queries
UX
Full release
for UI change
UX Feature Demo
GET
v5
GET
v5
Performance
Heavy usage
crashes app
Data Insight
Support ticket
for queries
UX
Full release
for UI change
From
• ASP.NET WebForms app
• SQL Server database
To
• Event-driven architecture
• Self-service analytics
• Self-service content
Takeaways
• Docker is a mature platform
• Moving apps into Docker is easy
• Dockerizing enables modernizing
• Docker Labs
• Docker Captains
• DockerCon
• @EltonStoneman
What Next?
THANK YOU

The Velvet Revolution: Modernizing Traditional ASP.NET Apps with Docker

Editor's Notes

  • #10 Packaging Distributing Running Managing