Choosing Azure compute platforms for container-based applications

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.

In the following table, you can see a breakdown of different kinds of apps and their possible and recommended Azure hosting scenarios.

Application Architecture VMs - Azure Virtual Machines ACI - Azure Container Instances Azure App Service (w-w/o containers) AKS - Azure Kubernetes Services Azure Functions Azure Batch
Web apps (Monolithic) Possible with VMs Possible with ACI Recommended with App Service Possible with AKS
N-Tier apps (Services) Possible with VMs Possible with ACI Recommended with App Service Possible with AKS Possible with Azure Fuctions
Cloud-Native (Microservices) Possible with ACI Recommended with AKS
(Linux containers)
Recommended with Azure Functions
(Event‑driven)
Batch/Jobs (Background tasks) Possible with VMs Possible with ACI Possible with App Service Possible with AKS Recommended with Azure Functions
(Background tasks)
Recommended with Azure Batch
(Large‑scale)

Legend

Recommended icon Recommended
Possible icon Possible