Account Log in
Jump to section

What is .NET application modernization?

Copy URL

.NET (formerly known as .NET Core) is an open source development platform that developers can use to build cross-platform cloud and console applications that run on Linux and Windows.

Within .NET, there are three platforms that allow .NET code to execute in different places — .NET Core, .NET Framework, and Xamarin/Mono. .NET Core is the cross-platform implementation that can run anywhere on Windows, Linux, and macOS. .NET Framework is the original implementation of .NET that supports running websites, services, desktop apps, and more on Windows. Xamarin/Mono is .NET for mobile that runs apps on all the major mobile operating systems, including iOS and Android.

Before Microsoft embraced Linux as a key platform, .NET was originally closed source and for Windows only.

Despite .NET now being open source and available on multiple platforms, problems can arise if the existing solution is the .NET Framework, which only runs in Windows environments. The .NET Framework will ultimately need to modernize into a Linux environment. 

Many organizations find that a large share of legacy workloads, underlying platforms, technologies, and traditional development practices are holding back business agility and innovation. This is because legacy systems were developed before the rise of cloud computing, cloud-native development practices, Linux containers, and other recent advancements. However, many of these workloads are still business-critical and represent significant long-term investments which cannot be easily replaced or retired.

This leaves organizations in a difficult position, needing to balance the necessity of maintaining these systems with the desire to innovate, meet new customer expectations, and address new opportunities. These legacy applications can require so much time, budget, and resources to maintain that they become a significant obstacle to innovation.

The purpose of workload modernization is to bring agility back to legacy workloads by migrating them to a modern platform, breaking up monoliths into smaller easier-to-maintain components like microservices, applying modern software development and deployment practices, and integrating old with new.

Benefits

Getting existing .NET workloads into a more modern platform comes down to how much effort developers want to spend and how teams embrace changes in the process. With that in mind, there are immediate benefits to getting workloads modernized like:

  • Better scalability: .NET workloads now can scale based on demand. 
  • Better reliability: .NET workloads will be running more reliably in a much more stable and resilient environment. 
  • Better security: .NET workloads can rely on existing cloud practices to bring an extra layer of security.
  • Cost reduction: By getting more automation into the mix, organizations can reduce costs. 

Because containerization and Kubernetes have developed so much, it is now possible to containerize .NET on any server. Based on business needs, organizations can pick which modernization strategy is best. Budget and time constraints might require different strategies for different workloads. Sometimes, a phased approach might be more appropriate to collect feedback from users and justify the modernization investment in order to get the full benefits of this effort.
There are three paths to modernize existing .NET applications.

  1. Rehosting: Known in the industry as "Lift & Shift," rehosting is the process of migrating an on-premises application to the cloud without modifying it, moving it to a cloud-infrastructure ready platform. In this migration approach, current on-premises applications migrate or rehost to an Infrastructure-as-a-service (IaaS) platform. Applications will have almost the same composition as before, but they now deploy to virtual machines (VMs) in the cloud. This strategy is used mostly to migrate large-scale applications to satisfy specific business goals, such as launching a product in an accelerated timeline or leaving an on-premises data center.
  2. Replatforming: At this level, additional benefits are gained from running an app in the cloud with modern technologies like containers and additional cloud-managed services, making it cloud optimized without altering significant code. This maturity model allows containers to deploy on IaaS or Platform-as-a-Service (PaaS) while using additional cloud-managed services related to databases, cache as a service, monitoring, and continuous integration/continuous deployment (CI/CD) pipelines. Replatforming a .NET application as a Windows container provides the advantage of container technologies without changing the core architecture of a .NET application.
  3. Rearchitecting: With rearchitecting, PaaS services are used to move applications to PaaS computing platforms. Cloud-native applications and microservices architecture are implemented to evolve applications with long-term agility, and to easily  scale based on demand. This type of modernization usually requires architecting specifically for the cloud by writing new code. This approach can help gain the benefits that are difficult to achieve in a monolithic and on-premises application environment. By breaking down a monolithic application into smaller services, each service serves a single purpose and is deployed as a container. The ability to follow a microservices-based approach, where some components are built with .NET and others with Java, but all can run on a common, supported platform on RHEL and OpenShift Container Platform.

If you typically work with Windows Server for existing practices, tools and processes, your team may need to add Linux, containers, and Kubernetes into the mix. This is exciting and scary because it involves changes that might affect your existing business. 

Red Hat understands that change is not always easy. Our business is all about helping our customers face technology changes, and adopt strategies and solutions to achieve business goals and ensure teams can cope with environment, technology, and processes changes.

Regardless of what modernization strategy you pick and the kind of benefits you're looking for based on your constraints, Red Hat offers products and services like Microsoft Azure Red Hat OpenShift (ARO).

Keep reading

Article

What are Red Hat OpenShift Operators?

Red Hat OpenShift Operators automate the creation, configuration, and management of instances of Kubernetes-native applications.

Article

Why choose Red Hat OpenShift Serverless?

Red Hat OpenShift Serverless extends Kubernetes in order to deploy and manage serverless workloads.

Article

Why choose Red Hat OpenShift Service Mesh?

Red Hat OpenShift Service Mesh gives you a uniform way to connect, manage, and observe microservices-based applications.

More about OpenShift

Products

Red Hat OpenShift

An enterprise-ready Kubernetes container platform with full-stack automated operations to manage hybrid cloud, multicloud, and edge deployments.

Red Hat OpenShift Data Science

A fully supported sandbox in which to rapidly develop, train, and test machine learning (ML) models.

Red Hat OpenShift Data Foundation

Software-defined storage that gives data a permanent place to live as containers spin up and down and across environments.

Red Hat Advanced Cluster Management Kubernetes

A single console, with built-in security policies, for controlling Kubernetes clusters and applications.

Resources

Training

Free training course

Running Containers with Red Hat Technical Overview

Free training course

Developing Cloud-Native Applications with Microservices Architectures

Free training course

Containers, Kubernetes and Red Hat OpenShift Technical Overview

Red Hat logo LinkedInYouTubeFacebookTwitter

Products

Tools

Try, buy, sell

Communicate

About Red Hat

We’re the world’s leading provider of enterprise open source solutions—including Linux, cloud, container, and Kubernetes. We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Subscribe to our newsletter, Red Hat Shares

Sign up now

Select a language

© 2022 Red Hat, Inc. Red Hat Summit