Azure Architecture Guide

Choosing Compute Services

What This Chapter Is About

Help readers choose where code should run in Azure without treating compute as a list of hosting products.

This chapter connects compute services to execution model, operational responsibility, deployment shape, scaling behavior, team skill, reliability, and cost. The focus is not to memorize every compute feature. The focus is to understand what each compute option makes easier and what responsibility it leaves with the team.

Keep one durable idea in view:

Compute selection is choosing the right operating boundary for code, scale, control, and team responsibility.

Sections

  1. Compute Selection Mental Model

  2. App Service, Functions, and Managed Hosting

  3. Containers with Container Apps and AKS

  4. Virtual Machines and Control Boundaries

  5. Scaling, Operations, and Cost Trade-Offs

  6. Compute Choice Scenario

How the Chapter Develops

The chapter develops in this order:

  1. Start from the architecture question: what kind of runtime and operating boundary does this workload need?

  2. Compare managed web hosting and event-driven execution before introducing heavier platform choices.

  3. Explain containers as a packaging model, then distinguish managed container hosting from Kubernetes platform control.

  4. Explain virtual machines as a deliberate control and compatibility choice.

  5. Compare scale, operations, reliability, and cost trade-offs across the compute choices.

  6. Apply the model to a SaaS modernization scenario where different parts of one platform need different compute services.

Together, these sections show that compute selection is about responsibility placement, not product trivia.

What You Will Be Able to Do

By the end of this chapter, the reader should be able to:

  • Explain Azure compute options in terms of operating responsibility.

  • Choose between Azure App Service, Azure Functions, Azure Container Apps, Azure Kubernetes Service, and Azure Virtual Machines at a high level.

  • Distinguish containers from Kubernetes.

  • Explain why more control usually means more operational work.

  • Connect compute choices to scaling, deployment, monitoring, reliability, and cost.

  • Sketch a compute design for a mixed workload without forcing every component onto one service.

Key Ideas

  • App Service is a strong fit for managed web apps and APIs.

  • Azure Functions is a strong fit for event-driven units of work and automation.

  • Container Apps is useful when teams want containers with less platform overhead.

  • AKS is useful when Kubernetes control, ecosystem, or platform consistency matters.

  • Virtual Machines are useful for control, compatibility, and legacy workloads, but they increase operations.

  • A mature architecture may combine compute services when workload responsibilities differ.