Container Instances, Container Apps and AKS

⬆️ Scale up (vertical) same server, more CPU and memory ➡️ Scale out (horizontal) more servers share the work
Containers carry everything an app needs, and Azure can run one, or thousands, for you.

😟 THE PROBLEM

“It works on my machine” but breaks on the server, and deploying many services is chaos.

😊 THE SOLUTION

Package apps as containers and run them on ACI, Container Apps or AKS.

  • Different settings break the app✓ Containers include their dependencies
  • One quick task needs a server✓ Azure Container Instances, per second
  • Hundreds of services to manage✓ AKS orchestrates and self-heals
🛠️ Solved with: ACI · Container Apps · AKS
Module 2: Architecture & Services ⏱ 7 min read Updated 11 Nov 2026

Quick answer

Azure offers three main ways to run containers. Azure Container Instances (ACI) runs individual containers on demand with no servers to manage. Azure Container Apps runs containerised microservices with serverless scaling, including to zero. Azure Kubernetes Service (AKS) is managed Kubernetes for orchestrating many containers with full control.

Exam objective: 2.2.1 Compare compute types, including containers, virtual machines, and functions. 2.2.4 Describe application hosting options, including web apps, containers, and virtual machines. (Skills measured as of July 20, 2026)

Start with a question

“It works on my machine!” Why does code break when it moves to a server?

Because the server has different versions and settings. Containers fix this by packing the app with everything it needs.

Explain it like I’m 10

The technical explanation

Container Instances

  • Single containers or groups
  • Seconds to start
  • Per-second billing
  • Batch jobs, quick tasks

Container Apps

  • Microservices and APIs
  • Event-driven autoscale (KEDA)
  • Scale to zero
  • No cluster to manage

AKS

  • Managed Kubernetes
  • Full Kubernetes API
  • Large, complex systems
  • You manage node pools and upgrades
Three container services

Real-world business scenario

Gaming

A gaming studio

The problem
Match-making, leaderboards and chat ran as separate apps on VMs that were hard to deploy consistently.
What they used
Packaged each service as a container and ran them on AKS, with images in Azure Container Registry.
Why that choice
Kubernetes orchestrates many services with rolling updates and self-healing.
The result
Deployments went from monthly to daily, with automatic recovery from crashes.

When to use it and when not to

✓ Use it when…

  • **ACI** for quick, isolated container tasks.
  • **Container Apps** for microservices without Kubernetes expertise.
  • **AKS** for complex systems needing full control.

✕ Think twice when…

  • AKS for a single small app.
  • Containers for apps that need a full desktop OS.
Ready for more?The full lesson adds the technical explanation, when to use it, interview questions and revision notes.

Interview preparation

Say your answer out loud first, then open the model answer. Interviewers care more about your reasoning than the exact words.

Beginner What is the simplest way to run a container in Azure?

Model answer

Azure Container Instances. I give it an image and it runs, with no VMs or cluster to manage, and I pay per second while it runs.

Intermediate When would you choose AKS over Container Instances?

Model answer

When I have many containers that need orchestration: automatic scaling, rolling updates, self-healing, service discovery and load balancing. ACI is for single containers or short tasks; AKS is for complex, long-running microservice systems.

Experienced developer Where does Azure Container Apps fit?

Model answer

Between the two. It runs microservices on Kubernetes under the hood, with KEDA autoscaling, Dapr and revisions, but without exposing the cluster. It suits teams that want microservices and scale to zero without becoming Kubernetes operators. AKS is for when you need the full Kubernetes API and ecosystem.

Test yourself with exercises

3 original practice questions in the AZ-900 style. Pick your answers, then check them. You will see why each option is right or wrong. Score 75% or more and this topic is marked complete.

Question 1

Question 1 of 3

What is the quickest way to run a single container in Azure without managing VMs or a cluster?

Question 2

Question 2 of 3

Which service should you use to orchestrate hundreds of containers with rolling updates and self-healing?

Question 3

Question 3 of 3

Where do you store private container images in Azure?

Quick revision

Key points

  • ACI = run single containers quickly, no orchestration.
  • Container Apps = serverless microservices on containers.
  • AKS = managed Kubernetes, full orchestration and control.
  • Containers start fast and run the same everywhere.

Important terminology

Container image
A packaged, versioned app plus its dependencies, stored in a registry such as Azure Container Registry.
Kubernetes
An open-source system for deploying, scaling and healing containers automatically.
Azure Container Registry (ACR)
A private registry for storing container images.

Common mistakes

  • Choosing AKS for one simple container. ACI is far simpler.

Exam tips

  • "Quickest way to run a container without managing VMs" = Azure Container Instances.
  • "Orchestrate many containers" = AKS.

Five quick revision questions

  1. 1.Which service runs a single container with no orchestration?Show

    Azure Container Instances.

  2. 2.Which service is managed Kubernetes?Show

    Azure Kubernetes Service (AKS).

  3. 3.Which service offers serverless microservices with scale to zero?Show

    Azure Container Apps.

  4. 4.Where are private container images stored?Show

    Azure Container Registry.

  5. 5.Why are containers portable?Show

    They package the app with its dependencies, so they run the same everywhere.

Official references

Make it stick: play a quick gameSort It, Match the Pairs, Lightning Round and Who Am I? Earn XP and badges. Play ❯

Finished this lesson? Tick it off. Your progress is saved in this browser.

Next up: Virtual Networks and Subnets