.NET Core is rapidly becoming the preferred framework by Microsoft for developing cross-platform applications. It is modular, scalable, flexible, and an ideal choice for high-performance applications that use microservices and containers. As an open-source framework, .NET Core is one of the most versatile solutions for building modern web applications. Designed for building low memory, high-throughput applications, the framework is optimized for cloud-hosting.
As a native Microsoft public cloud service, Azure offers several useful features for developing, testing, and deploying .NET Core applications. In this article, we will elaborate on how to use Azure for .NET Core apps.
Why Use Azure for .NET Core Apps?
Hosting .NET Core apps on Azure offers several competitive advantages over other alternatives.
- There are more than 100 Azure services that can be used to natively support .NET Core application development.
- Microsoft has some of the most powerful tools built into Visual Studio for building .NET Core web applications and deploying them on Azure.
- Azure App Service can be used for monitoring performance, auto-scaling, patching, and other backend operations, so that developers can focus on improving their application without worrying about its maintenance.
- With serverless computing, developers only have to pay for the resources that their code is using and will not have to manage the infrastructure for it.
- Azure supports a wide range of relational, and non-relational databases that can be integrated with .NET Core applications.
- Automate processes in the build, test, and deploy phases with services such as Azure DevOps and Azure Pipelines using Azure Resource Manager (ARM) templates.
How to Develop Azure-hosted ASP.NET Core Apps?
.NET Core application development lifecycle begins on the developer’s local machine. Followed by this, continuous integration (CI)/ Continuous Delivery (CD) pipelines can be configured in Azure DevOps. Below is the general workflow for building ASP.NET Core applications and host in Azure App Service.
- Use a local development environment, such as Visual Studio 2019 or the dotnet CLI with Visual Studio Code, or any other preferred editor, to write codes, debug the changes, run tests, and make local commits.
- Push the changes from the local machine to the shared repository, such as GitHub.
- Create a Pipeline in a new Azure DevOps project for your ASP .NET Core microservice/ application and authorize Azure Pipelines to access the GitHub repository.
- Select the ARM template for ASP.NET Core to trigger the Continuous Integration (CI) process. At the end of it, you should have a fully compiled .NET Core application that is ready for deployment. A new build is triggered in Azure DevOps each time there is a new commit.
- The Continuous Delivery (CD) process takes over each time a build is successful, and the web deploy package is deployed to Azure App Service.
- At this stage, the .NET Core application is running within the context of an Azure App Service Web App, where information on its health and user behavior can be monitored in Azure Portal.
Apps4Rent Provides Managed Azure Services for .Net Core App Deployment
While using the App Service Web Apps is the recommended approach for most scenarios involving the use of Azure services for .Net Core applications, each application requires a different configuration based on considerations, such as the kind of resource to be hosted, or if it is a monolithic application entirely on Azure, or only individual processes and data are hosted. The other options are to use containers or even entire Azure Virtual Machines for hosting .NET Core applications depending on the level of manual control developers would like to exercise.
As a Tier 1 Microsoft CSP with Gold Competency in several domains including Cloud Platform and Cloud Productivity, Apps4Rent provides managed Azure services to help organizations identify and deploy the right Azure resources for deploying .NET Core applications. Contact our Azure cloud architects, available 24/7 via phone, chat, and email for planning, consulting, and licensing assistance.