Azure Container Instances (ACI)
What it is
Azure Container Instances (ACI) is Azure’s serverless container service: you run a Docker container (an OCI image) directly without managing a Kubernetes cluster or orchestrator. Each instance is a container (or a group of containers) scheduled by Azure, with your choice of CPU/memory and networking.
Why it exists
Running a container with AKS is powerful but heavy — you manage nodes and orchestration. Many jobs (a one-off batch, a small microservice, a CI/CD job, a web app) just need a container up quickly: no cluster to operate, pay per second, scales/schedules automatically.
Key ideas
- Container groups: ACI schedules containers into container groups that share a lifecycle, network, and storage (all containers in a group on one host; e.g. a sidecar + app).
- No orchestration needed: ideal for simple/short-lived workloads; for production-scale orchestration, choose AKS.
- Images from Azure Container Registry (or Docker Hub / public registries).
- Networking: exposed either with a public IP + DNS or on a virtual network (ACI supports VNet injection on select/standard SKU).
- Resource specs specified as
--cpu/--memoryataz container create. - Pricing: per-second billing for active containers; no infra to provision.
How it fits (diagram)
Exam notes
- ACI = serverless container — use when you need containers without that AKS Kubernetes overhead.
- Container groups are the ACI scheduling unit; containers in one group share the host/network.
az container create --acrpulls from ACR; can mount file shares (Azure Files).- Know the containers vs VMs decision: containers share the OS, VMs virtualize the OS — lighter, faster startup for microservices/batch.
- AZ-104 module Configure Azure Container Instances covers when to use ACI, its features, and container groups.
Related
Path MOC · aks · acr · azure-functions
📘 Source: Microsoft Learn — Aci