Modernize existing .NET apps with Windows Containers and Azure

As part of the series of posts announced at this initial blog post (.NET Application Architecture Guidance) that explores each of the architecture areas currently covered by our team, this current blog post focuses on introducing the new “Modernize existing .NET applications with Windows Containers and Azure” eBook which you can download here.

Just as a reminder, the four introductory blog posts of these series are shown in the links at the right of the page, under the .NET Application Architecture section. 

Modernize and lift and shift existing .NET apps

There are many reasons why you would want to modernize your existing server-side app. Modernization will bring you Deployment, and DevOps improvements. Also moving your application to the cloud will help you be more productive by no longer spending time on on-going maintenance and the ability to scale-out easily.

When you decide to modernize your web applications and move them to the cloud, you don’t necessarily have to fully re-architect your applications. Re-architecting an application by using an advanced approach like microservices isn’t always an option, because of cost and time restraints. Depending on the type of application, re-architecting an app also might not be necessary.

To optimize the cost-effectiveness of your organization’s cloud migration strategy, it’s important to consider the needs of your business and requirements of your apps. You’ll need to determine:

•    Which apps require a transformation or re-architecting.
•    Which apps need to be only partially modernized.
•    Which apps you can “lift and shift” almost directly to the cloud.

The last two cases are precisely the focus of this subject (LIFT and SHIFT scenarios). Lift and shift is the action of moving a workload to a newer or more modern environment without altering the application’s code and basic architecture.

This guide describes how to move your existing .NET Framework server-applications directly to the cloud by modernizing specific areas, without re-architecting or recoding entire applications.

The main subject of this guidance is about “Cloud DevOps-Ready” apps, where the main focus is to use WINDOWS CONTAINERS, how to containerize your existing .NET Framework application (monolithic, N-Tier, etc.) and how to deploy your Windows Containers into Azure.

Introducing the ‘Modernize existing .NET applications with Azure cloud and Windows Containers ‘ Guide/eBook

You can download this eBook in multiple formats, too:

.PDF format: https://aka.ms/liftandshiftwithcontainersebook
.MOBI (Kindle) format: https://aka.ms/liftandshiftwithcontainersebookmobi
.EPUB (eReader) format: https://aka.ms/liftandshiftwithcontainersebookepub

Open Source sample apps

The eBook comes along with source code for two “legacy” apps available at Github:

https://github.com/dotnet-architecture/eShopModernizing

The sample apps are simple web apps for the internal backoffice of a hypothetical eShop, so employees can update the Product Catalog. Both apps are therefore simple CRUD web application to update data into a SQL Server database.

These sample web apps include the following functionality:

Legacy apps: One web app is a traditional ASP.NET MVC app. The second web app is a traditional WebForms app.

Modernized apps: Then, you can explore their related modernized versions, slightly modified to support Windows Containers, Azure Active Directory authorization and upload image files to Azure Blog Storage.

Who should use this guide

We wrote this guide for developers and solution architects who want to modernize existing ASP.NET applications that are based on the .NET Framework, for improved agility in shipping and releasing applications.

You also might find this guide useful if you are a technical decision maker, such as an enterprise architect or a development lead/director who just wants an overview of the benefits that you can get by using Windows Containers, and by deploying to the cloud when using Microsoft Azure.

Visit the .NET Application Architecture Center and grab it all!

Remember that this ‘LIFT & SHIFT’ guidance, explained at this blog post, is part of a broader .NET Architecture guidance which covers additional subjects and you can check out at the .NET Application Architecture Center page where you can download the multiple eBooks/Guides and visit the reference applications from there.

Send us your feedback!

We wrote this guide to help you understand your options for improving and modernizing existing .NET web applications. The guide and related sample applications are evolving. We welcome your feedback! If you have comments about how this guide might be more helpful, please send them to dotnet-architecture-ebooks-feedback@service.microsoft.com or feel free to provide feedback by dropping a note below or on the feedback form at the architecture page.

Happy coding from the .NET team!

Cesar de la Torre
.NET Product Group
Twitter: @cesardelatorre