Last updated: May 2026
Azure ContainersBeginnerAZ-104⏱ 11 min read
ACI vs AKS vs Azure Container Apps
Azure has three main container hosting services and choosing between them is one of the most common architecture decisions. ACI is the simplest — run a container with no infrastructure. AKS gives you full Kubernetes power with full responsibility. Container Apps sits in the middle — managed Kubernetes without the complexity. This page helps you choose the right service for every scenario.
What you'll learn
Full feature comparison across all three services · Management overhead comparison · Scaling comparison · Pricing model for each · Decision guide — when to choose each · Common real-world scenarios mapped to the right service
Full Feature Comparison
| Feature | ACI | Container Apps | AKS |
| Kubernetes management | None | None (abstracted) | Full control |
| Auto-scaling | Manual stop/start | ✅ HTTP, CPU, events, zero | ✅ HPA, Cluster Autoscaler, KEDA |
| Scale to zero | Manual | ✅ Automatic | ✅ With KEDA |
| Traffic splitting | ❌ | ✅ Built-in revisions | ✅ Ingress/service mesh |
| Service discovery | ❌ | ✅ Internal DNS | ✅ Kubernetes DNS |
| Dapr | ❌ | ✅ Built-in | ✅ Self-managed |
| VNet integration | ✅ | ✅ | ✅ |
| Custom domains / SSL | Limited | ✅ | ✅ |
| GPU support | ✅ | ❌ | ✅ |
| Windows containers | ✅ | ❌ | ✅ |
| Max runtime | No limit | No limit | No limit |
| Persistent storage | Azure Files | Azure Files | Managed Disk + Azure Files |
Management Overhead
| ACI | Container Apps | AKS |
| Infrastructure | None | None | Node VMs to manage |
| Kubernetes knowledge needed | None | Minimal | Significant |
| Updates/patching | Auto | Auto | You manage node upgrades |
| Networking complexity | Low | Medium | High |
| Operational complexity | ⭐ | ⭐⭐ | ⭐⭐⭐⭐⭐ |
Scaling Comparison
| ACI | Container Apps | AKS |
| Pod/replica scaling | Manual only | Auto — HTTP, CPU, events | Manual or HPA |
| Node scaling | N/A (serverless) | N/A (serverless) | Manual or Cluster Autoscaler |
| Scale to zero | Manual stop | ✅ Automatic | KEDA required |
| Max scale | Subscription limits | 300 replicas | Thousands of nodes |
Pricing Comparison
| ACI | Container Apps | AKS |
| Billing unit | Per second (CPU + memory) | Per second (vCPU + memory) + requests | Per node VM hour |
| Idle cost | Zero (when stopped) | Zero (when scaled to zero) | Node VMs always running |
| Control plane | Included | Included | Free |
| Min monthly cost | ~₹0 | ~₹0 (scale to zero) | ~₹3,600+ (3 × B2s nodes) |
| Cost at scale | Can be expensive | Efficient | Most efficient at large scale |
Decision Guide
| Choose | When |
| ACI | Batch jobs, one-time tasks, CI/CD steps, simple dev/test containers, no orchestration needed |
| Container Apps | Microservices, event-driven apps, APIs needing scale-to-zero, teams wanting containers without Kubernetes expertise |
| AKS | Complex enterprise workloads, need full Kubernetes control, custom operators/CRDs, GPU workloads, Windows containers, very large scale |
Real-World Scenarios
| Scenario | Best Choice | Why |
| Nightly data export job | ACI | Run once, stop, pay only for runtime |
| 10 microservices REST API platform | Container Apps | Built-in service discovery, traffic splitting, scale to zero — no K8s expertise needed |
| Complex platform with 50+ services, custom operators | AKS | Full Kubernetes control, custom CRDs, advanced networking |
| ML model inference API (GPU) | AKS | GPU node pools — Container Apps does not support GPU |
| Event-driven image processor (queue-based) | Container Apps | Built-in KEDA scaling, scale to zero when queue empty |
| Simple webhook receiver | ACI or Container Apps | ACI if truly one-off, Container Apps if persistent and needs scaling |
💡
AZ-104 Exam Tip Know that ACI is for simple one-off containers, Container Apps is for managed microservices without Kubernetes complexity, and AKS is for full Kubernetes control. Know that only AKS supports GPU workloads and Windows containers. Know that Container Apps has built-in Dapr and traffic splitting. Know that ACI and Container Apps have no minimum node cost.
Click an option to check your answer.
Q1. Which Azure container service requires the most Kubernetes knowledge to operate?
A — Azure Container Instances
B — Azure Container Apps
C — Azure Kubernetes Service
D — Azure Container Registry
Q2. A team needs to run GPU-accelerated machine learning inference workloads in containers. Which service should they use?
A — Azure Container Instances
B — Azure Container Apps
C — Azure Kubernetes Service
D — Azure Container Registry
Q3. Which service has built-in traffic splitting between versions using revisions?
A — Azure Container Instances
B — Azure Container Apps
C — Azure Kubernetes Service (built-in, no configuration needed)
D — Azure Container Registry
Q4. What is the minimum monthly cost for running AKS compared to ACI and Container Apps?
A — AKS is free — only pay for application traffic
B — AKS requires node VMs running continuously — minimum ~₹3,600+/month even idle. ACI and Container Apps can cost zero when idle.
C — All three services have the same minimum monthly cost
D — ACI is the most expensive — AKS is the cheapest
Q5. A startup is building a platform with 8 microservices. The team has no Kubernetes experience. Traffic is variable — some services get zero traffic overnight. Which service is most appropriate?
A — Azure Container Instances — one per microservice
B — Azure Container Apps — managed microservices with scale-to-zero and no Kubernetes expertise needed
C — Azure Kubernetes Service — for production microservices
D — Azure Functions — for all 8 microservices
Disclaimer: RedKite Cloud is an independent educational resource and is not affiliated with Microsoft Corporation.