.NET Core and ASP.NET Core are gaining popularity due to their simple and lightweight design, open source nature, and ability to run on both Windows and Linux. As a result, many existing applications are also moving to .NET Core from the .NET framework and almost all new applications are being developed in .NET Core.
Many of these .NET Core applications are high traffic in nature, serving millions of users and transactions, and have a huge impact on the business.
Who Needs Scalability
The .NET Core applications that usually need scalability are server applications that must process a lot of transactions very quickly, with very fast response times. Many of these applications are customer facing, meaning they're processing customer requests. If they do not perform customer requests quickly, the cost to the business in terms of both lost revenue and unhappy customers is high.
The following .NET Core applications require scalability:
- Web Apps (ASP.NET Core): These are usually customer-facing applications, but could also be internally facing applications for large companies.
- Web Services (ASP.NET Core): These could either be directly providing Web APIs to customers or could be a part of another high transaction application containing application tier logic in these web services.
- Real-time Web Apps (ASP.NET Core SignalR): These are real-time applications that must provide users with frequent updates by using ASP.NET Core's SignalR framework. They must also perform fast, as they're usually customer facing.
- Microservices (.NET Core): This is a new application architecture for server-side applications. And, just like web services, microservices are usually part of a customer facing web application or a customer-facing web services application. As a result, they also have high-performance requirements under heavy transaction loads.
- Other Server Apps (.NET Core): There exists a rich variety of other server applications that must process a large amount of transactions really fast. These could be batch processing applications handling various types of backend workflows or they could be stream processing applications ingesting a large amount of data for near real-time processing. The list goes on.
This is a preview of the NCache: Scaling .NET Core Applications for Extreme Performance Refcard. To read the entire Refcard, please download the PDF from the link above.