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/--memory at az container create.
  • Pricing: per-second billing for active containers; no infra to provision.

How it fits (diagram)

aci.svg

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 --acr pulls 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.

Path MOC · aks · acr · azure-functions

📘 Source: Microsoft Learn — Aci