This is a new 5-part video series in Docker’s Modernize Traditional Apps (MTA) program, aimed at Microsoft IT Pros. The video series shows you how to move a .NET 3.5 app from Windows Server to a Windows Docker container and deploy it to a scalable, highly-available environment in the cloud – without any changes to the app.
Part 1 introduces the series, explaining what is meant by “traditional” apps and the problems they present. Traditional apps are built to run on a server, rather than on a modern application platform. They have common traits, like being complex to manage and difficult to deploy. A portfolio of traditional applications tends to under-utilize its infrastructure, and over-utilize the humans who manage it. Docker Enterprise Edition (EE) fixes that, giving you a consistent way to package, release and manage all your apps, without having to re-write them.
Part 2 shows how easy it is to move traditional apps to Docker EE. I start with an ASP.NET 3.5 WebForms application running on Windows Server 2003, and use Image2Docker to extract the app and package it as a Docker image. Then I run the application in a Docker Windows container on my Windows 10 workstation. I do that without changing the app, and without needing to access the original source code.
Part 3 covers the upgrade workflow in Docker EE. I build a new version of the Docker image for my app, using an updated version of the Windows Server Docker image. That’s how you roll out Windows updates and application updates in Docker EE, building a new version of the image and replacing running containers with the new version. I push the image to a private Docker registry and run the app in a VM on Azure. With minimal effort I’ve moved my traditional app from Windows Server 2003 to Windows Server 2016 in the cloud.
Part 4 demonstrates a highly-available staging environment, using Docker Cloud to spin up a multi-node Docker swarm in Azure. I deploy my app to the staging environment, running the website and a SQL Server database in Docker Windows containers. Then I add monitoring to the app, publishing the .NET and IIS Performance Counters from the container and collecting them with Prometheus, an open-source monitoring system which is popular in the Docker ecosystem.
Part 5 walks through Docker in production, using Docker Enterprise Edition Advanced. Docker EE can be deployed in the cloud or in the datacenter, and it gives you a production-grade Containers-as-a-Service (CaaS) solution. I show the security in Docker EE, with role-based access control and a secure software supply chain. I digitally sign my application images and store them in Docker Trusted Registry, then deploy the app to a production Docker cluster running Universal Control Plane.
Migrating traditional apps to Docker EE gives you increased efficiency, portability and security. If you’re planning a move to the cloud, or upgrading to modern infrastructure – or if you just want to consolidate workloads on existing infrastructure – Docker makes it easy.
Find out more with the following links: