The Velvet Revolution - SDD Conference...•ASP.NET Apps in Docker •Modernizing Apps with Docker...

Post on 27-May-2020

9 views 0 download

Transcript of The Velvet Revolution - SDD Conference...•ASP.NET Apps in Docker •Modernizing Apps with Docker...

The Velvet Revolution

Modernizing .NET Apps with Docker

Elton Stoneman | Developer Advocate@EltonStoneman | elton@docker.com

Today

• The Docker Platform

• ASP.NET Apps in Docker

• Modernizing Apps with Docker

• The Path to Production

Tomorrow

• Microservices

• DevOps

• Cloud

• .NET Core

• Nano Server

• Linux

GET

v0

v1

v2

v3

v4

v5

Docker is a Platform

.NET Fx

ASP.NET

Web App

Server Core

IIS

> docker build

# escape=`

FROM microsoft/aspnet:windowsservercore

COPY MyApp-1.0.msi C:\

RUN msiexec /i C:\MyApp-1.0.msi /qn

# 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

> docker run

.NET Fx

ASP.NET

Web App

Server Core

IIS w3wp.exe

> docker run

Demo: Dockerizing ASP.NET

GET

• Consistency

– Build & distribute

– Run & monitor

– Scale & update

– Secure

v1

GET

• Foundation

– Fast, safe deployment

– Break up monoliths

– Adopt new technologies

– Change processes

v1

• Change frequently

• Change rarely

• Have issues

• Promote re-use

Feature-Driven Monolith Decomposition

│ Release at will

│ Minimize regressions

│ Fix with confidence

│ APIs & event-driven

Modernizing Apps with Docker

Performance

Heavy usage

crashes app

UX

Full release

for UI change

Data Access

Reference

data locked up

Data Insight

Support ticket

for queries

Demo: UX Feature

v2

UX

Full release

for UI change

Data Access

Reference

data locked up

Demo: Data Accessibility

v3

Performance

Heavy usage

crashes app

UX

Full release

for UI change

Data Access

Reference

data locked up

Demo: Performance

v4

Performance

Heavy usage

crashes app

UX

Full release

for UI change

Data Access

Reference

data locked up

Data Insight

Support ticket

for queries

Demo: Data Insight

Performance

Heavy usage

crashes app

UX

Full release

for UI change

Data Access

Reference

data locked up

Data Insight

Support ticket

for queries

v5

From

• ASP.NET WebForms app

• SQL Server database

To

• Event-driven architecture

• Self-service analytics

• Self-service content

With

• Agent-less builds

• Consistent dev & ops experience

• Automated update (and rollback)

The Path to Production

Manager Worker Worker

PS C:> docker …

Manager Worker Worker Worker

PS C:> docker …

:~$ docker …

Manager + UCP Worker + DTR Worker Worker

Production Demo

Takeaways

• Docker is a mature platform

• Dockerizing apps is easy

– It can be the goal

–Or the start of a modernization program

• Docker Labs | dockr.ly/labs

• Image2Docker | dockr.ly/i2d-win

• DockerCon EU | October, Copenhagen

• @EltonStoneman

What Next?

• Workshop | https://dwwx.space

• Pluralsight | https://is.gd/h5qwyf

• Book | Docker on Windows: 2e

• Today's Demos | is.gd/tBerXH

What Next?

THANK YOU