Domain 4 β€” Module 2 of 12 17%
20 of 30 overall
Domain 4: Design Infrastructure Solutions Free ⏱ ~18 min read

Container Solutions: AKS, ACI & Container Apps

Azure Kubernetes Service, Azure Container Instances, and Azure Container Apps β€” choose the right container platform based on orchestration needs, scale, and management overhead.

Choosing a container platform

Simple explanation

Three options, three levels of control:

AKS: Full Kubernetes β€” you control everything about the cluster. Like owning a fleet of trucks with a dispatch centre.

Container Apps: Serverless containers β€” Azure manages the cluster. Like using a delivery service that handles logistics for you.

ACI: Run a single container quickly β€” no cluster needed. Like calling a courier for one package.

Container platform comparison

AKS vs Container Apps vs ACI
FactorAKSAzure Container AppsAzure Container Instances
OrchestrationFull Kubernetes (you manage)Managed (serverless Kubernetes)None (single container/group)
ScalingHPA, VPA, cluster autoscaler, KEDABuilt-in KEDA + HTTP scalingManual (increase count)
NetworkingFull control (CNI, service mesh, ingress)Managed ingress, VNet integrationVNet integration, public IP
Min running costNode pool VMs (always on)Zero (scale to 0 with Consumption plan)Per-second billing (no min when stopped)
GPU supportYesNoYes
Windows containersYes (Windows node pools)No β€” Linux containers onlyYes
Kubernetes knowledge neededHigh β€” kubectl, YAML manifests, HelmLow β€” simplified YAML or CLINone
Best forComplex microservices, custom K8s features, ML workloadsMicroservices with simpler ops, event-driven containersBurst workloads, CI/CD runners, sidecar tasks

πŸš€ Marcus’s decision: NovaSaaS uses Container Apps for their microservices:

  • Scales to zero during off-hours (cost savings)
  • Built-in Dapr for service-to-service communication
  • KEDA scales based on queue depth (event-driven)
  • No Kubernetes expertise needed β€” Marcus’s team focuses on code, not cluster ops

πŸ—οΈ Priya’s decision: GlobalTech’s data science team uses AKS because:

  • GPU node pools for ML model training
  • Custom networking (service mesh for inter-service security)
  • Helm charts and GitOps deployment (team has deep K8s expertise)
  • Need fine-grained resource quotas and namespaces per team
Exam tip: Container Apps is the growing default answer

Microsoft is increasingly positioning Container Apps as the default for microservices. If the scenario doesn’t mention specific Kubernetes features (service mesh, custom CRDs, GPU, advanced scheduling), Container Apps is likely the correct answer. Choose AKS only when the scenario needs full Kubernetes control or features Container Apps doesn’t support.

ACI as a burst target for AKS

AKS can use ACI as a virtual node for burst scaling β€” called the virtual kubelet pattern:

  • Normal load: pods run on AKS node pool VMs
  • Burst: overflow pods scheduled to ACI (near-instant, no node provisioning)
  • Cost: pay per-second for ACI pods, no pre-provisioned VMs for burst capacity

Knowledge check

Question

When should you recommend AKS over Container Apps?

Click or press Enter to reveal answer

Answer

When you need: full Kubernetes API access, custom networking (service mesh, CNI), GPU node pools, advanced scheduling (node affinity, taints/tolerations), custom CRDs, or the team has deep Kubernetes expertise. If none of these apply, Container Apps is simpler and cheaper.

Click to flip back

Question

What is the virtual kubelet pattern?

Click or press Enter to reveal answer

Answer

AKS uses ACI as a virtual node for burst scaling. Normal pods run on AKS node pool VMs. When demand spikes, overflow pods are scheduled to ACI β€” near-instant start, per-second billing, no VM provisioning needed. Great for handling traffic spikes without over-provisioning the cluster.

Click to flip back

Question

What's the difference between kubenet and Azure CNI networking in AKS?

Click or press Enter to reveal answer

Answer

Kubenet: pods get IPs from a separate overlay network β€” uses fewer VNet IPs but adds a NAT hop (slightly higher latency). Azure CNI: every pod gets a VNet IP directly β€” better performance and direct connectivity to VNet resources, but requires a large IP address space. Choose Azure CNI for production workloads that need VNet integration; kubenet for dev/test or IP-constrained environments.

Click to flip back

Knowledge Check

πŸš€ NovaSaaS's development team wants to run 30 microservices that scale based on HTTP requests and message queue depth. They want to scale to zero during off-peak hours. The team has no Kubernetes experience. Which platform should Marcus recommend?

Knowledge Check

πŸ›οΈ David's government client wants to run containers on AKS with these requirements: pods must have direct VNet IPs for firewall rules, container images must be scanned before deployment, and only approved registries are allowed. Which combination should David recommend?


Next up: When you don’t even need containers β€” Serverless & Batch Processing.