Choosing Azure compute platforms for container-based applications
This content is an excerpt from the eBook, Modernize existing .NET applications with Azure cloud and Windows Containers, available on .NET Docs or as a free downloadable PDF that can be read offline.
As you have noticed after reading the previous sections, Azure is an open cloud that offers multiple choices. You can use the best fit for your needs, however, it also surfaces questions about what product/technology you should use for your containerized applications.
As a by-default recommendation, the following is the main criteria recommended in this guidance:
- Single monolithic app: Choose Azure App Service
- N-Tier app: Choose orchestrators such as Azure Kubernetes Service (AKS) or App Service if you have a single or a few back-end services
- Microservices: Choose AKS or Azure Web Apps for Containers
- Serverless functions & event handlers: Choose Azure Functions
- Large-scale Batch: Choose Azure Batch
However, this recommendation should be taken with a pinch of salt, as the product's selection will depend on your specific application's needs and characteristics. Not all applications are the same even when initially they might look similar types.
After a deeper analysis of the application's needs, the product selected could be different. But, as a starting point, it is good to have initial guidance from where you can start evaluating and testing based on certain priority.
Choose an Azure compute service for your application