Skip to content

Modernizing a DotNet Web Forms application to run in a Windows Server 2022 Container on Azure

License

Notifications You must be signed in to change notification settings

Gordonby/DotNet47WinContainers

 
 

Repository files navigation

Modernising to Windows Server 2022

This guide provides a step by step, developer centric view of migrating legacy ASP.NET applications to Azure.

For a tool based approach using Azure Migrate: App Containerization tool, please see https://docs.microsoft.com/azure/migrate/tutorial-app-containerization-aspnet-kubernetes or https://docs.microsoft.com/azure/migrate/tutorial-app-containerization-aspnet-app-service, noting that (at the time of writing) the tooling doesn't support Apps that use Windows Authentication or have non IIS dependencies.

The App

The application chosen for this guide is from the eShopModernizing repo. It's a DotNet Framework 4.7 Web Forms Application.

The Objective

To iteratively work with the application, modernising it step by step to eventually run in a Windows 2022 container. Once containerised there will be guidance on running it in a number of Azure Container Compute services.

The steps

Step # Title Description
1 Getting the app running locally Using Visual Studio, we'll get the eShop app up and running
2 On a Virtual Machine Getting the app running on an Azure VM.
3 SQL Database Using SQL instead of the in-memory Database
4 App Service Hosting the application in the App Service PaaS platform
5 Windows Containerisation Focussing on creating a Windows Container
6 Windows Container Compute Reviewing the options for running a Windows Container
7 Web App for Containers Deploying the app to Web App for Containers
8 Kubernetes Deploying the app to Kubernetes
9 Windows 2022 Changing the base image, re-reviewing compute options

Links

Azure app Service Team Blog - Windows Containers Docs - Windows Containers

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.

About

Modernizing a DotNet Web Forms application to run in a Windows Server 2022 Container on Azure

Topics

Resources

License

Stars

Watchers

Forks

Languages

  • JavaScript 82.6%
  • C# 10.7%
  • ASP.NET 4.9%
  • CSS 1.1%
  • Bicep 0.3%
  • Dockerfile 0.2%
  • TSQL 0.2%