Group 4: Orchestrated Containers
Focus: container scheduling & lifecycle management. Members: AKS, Azure Container Instances (ACI), Azure Container Registry (ACR), Kubernetes Fleet Manager. (Container Apps is in Group 2). ACR is a support service, not a runtime target; scoring emphasizes runtime choices (AKS / ACI / Fleet overlay).
Note: If you only need a few ephemeral background tasks or build jobs without K8s features, ACI alone may suffice and you can skip orchestration overhead.
Services & Core Identity
AKS (Kubernetes)
Managed control plane + worker nodes you size. Full K8s API, ecosystem (Helm, operators). Cost: nodes (and optional add-ons).
- Use when: need K8s primitives, operators, custom controllers.
- Supports GPU, Windows nodes, node pools, autoscaler.
- Best for sustained multi-service platform.
ACI
On-demand container runtime (seconds to start). No cluster mgmt. Pay for seconds + resources used.
- Use when: burst, ephemeral jobs, simple APIs, build agents.
- No daemonsets, limited networking complexity.
- Good as K8s virtual node extension.
ACR
Private OCI registry for images, helm charts, artifacts. Geo-replication & content trust.
- Use when: need private, near-cluster registry.
- Not a compute runtime; part of delivery pipeline.
- Tasks for build/patch automation.
K8s Fleet Manager
Manage policy & multi-cluster placement at scale. Aggregates multiple AKS clusters.
- Use when: many clusters (region isolation, tenancy, scale).
- Central policy, multi-cluster services.
- Adds complexity overhead for governance benefits.
Key Differences
Dimension | AKS | ACI | ACR | Fleet Manager |
---|---|---|---|---|
Type | Managed K8s cluster | Serverless container runtime | Image registry | Multi-cluster mgmt layer |
Startup Speed | Node scale mins | Seconds | N/A | N/A (mgmt) |
Fine Scheduling | Full K8s | Basic (container group) | N/A | Indirect via clusters |
Stateful Volumes | Persistent Volumes | Basic limited | N/A | Delegated |
Autoscale | Cluster & HPA | Per container group | N/A | Cross cluster placement |
Ops Overhead | Medium | Low | Low | High (governance) |
Multi-Tenancy | Namespaces / RBAC | Per group isolation | Repositories | Across clusters |
Cost Idle | Nodes billed | Zero when stopped | Storage/Throughput | Mgmt overhead only |
Use Horizon | Continuous services | Burst / jobs | All container pipelines | Enterprise scale |
Mathematical Selection Model (Runtime Focus)
Scores only compare AKS, ACI, Fleet. (ACR assumed supporting). Criteria [0..10].
Score_AKS = 0.30*C_k8s + 0.20*C_multiSvc + 0.15*C_stateful + 0.10*C_opsSkill + 0.15*C_addons + 0.10*(10 - C_ephemeral)
Score_ACI = 0.35*C_ephemeral + 0.20*C_startup + 0.15*C_cost + 0.10*(10 - C_stateful) + 0.10*(10 - C_opsSkill) + 0.10*(10 - C_k8s)
Score_Fleet = 0.30*C_multiCluster + 0.20*C_policy + 0.15*C_geo + 0.15*C_k8s + 0.10*C_opsSkill + 0.10*C_enterprise
AKS {{vm.scores.aks | number:2}}
ACI {{vm.scores.aci | number:2}}
Fleet {{vm.scores.fleet | number:2}}
Recommended: {{vm.recommended.name}} ({{vm.recommended.score | number:2}})
Interpretation Rules
- If C_ephemeral ≥ 7 AND C_startup ≥ 7 ⇒ ACI.
- If C_multiCluster ≥ 6 OR C_geo ≥ 6 ⇒ Fleet (with underlying AKS).
- If C_stateful ≥ 6 OR C_multiSvc ≥ 6 ⇒ AKS.
- If C_k8s ≤ 3 AND C_ephemeral ≥ 6 ⇒ ACI (avoid cluster).
When NOT to Use This Group
- Need built-in scale-to-zero + simple microservices ⇒ Container Apps (Group 2).
- Single container run occasional ⇒ ACI only (already considered).
- Non-container legacy ⇒ VM/VMSS.
Summary
AKS for sustained multi-service / stateful / K8s ecosystem; ACI for burst + ephemeral tasks; Fleet for governance across many AKS clusters; ACR underpins image supply chain.