.NET Programming language is adapting itself to the changes in the software industry. One of the major changes is cross-platform support: .NET can be built and run on Linux-based Operating Systems, which brings cost savings and the option to run .NET on Kubernetes. Moreover, after open-sourcing .NET, there is increasing community support for .NET with its lightweight architecture that brings higher performance compared to the previous .NET versions. .NETCore is now the preferred version for all new projects. For legacy applications, there is a refactoring/porting effort needed for .NETCore.
Many enterprise organizations have .NET Framework legacy applications they need to modernize. The first step towards modernizing these .NET Framework applications is to port to .NET Core.
However, porting applications to .NET Core can be a significant manual effort. Application owners need to spend valuable time identifying the dependencies and APIs that are incompatible with .NET Core and estimating the level of effort involved. To address this concern AWS launched Porting Assistant for .NET. It is an analysis tool that scans .NET Framework applications and generates a .NET Core compatibility assessment, helping in porting applications to Linux faster.
Porting .NET Framework applications to .NET Core helps customers take advantage of the performance, cost savings, and robust ecosystem of Linux.
.NET framework has been evolving for many years and each framework version has its own structure. Based on the current framework version, there are several alternate paths as described in the diagram.
Cost Saving: Various options together with Serverless, managed resources, auto-scaling(Even scaling to 0!), zeroing Windows OS and SQL Licenses
Performance: Moving away from IIS means getting away from various overheads together with .NETCore’s lightweight and lean architecture which boosts performance
Cloud-Native: Kubernetes-driven infrastructure, together with Cloud functions which brings self-healing and automation on your development and deployment cycles
Cross-Platform: Possibility to run your workload on both Windows and Linux and even on Kubernetes!