Azure Container Instances (ACI)
What it is
Azure Container Instances (ACI) runs Linux or Windows container images in Azure without requiring you to create or manage virtual machines or a Kubernetes cluster. You define CPU, memory, networking, and a container group; Azure runs that group for you.
Why it exists
Some jobs need one or a small related set of containers quickly: a batch conversion, a short-lived task, or a simple isolated service. ACI is a lightweight runtime choice when full Kubernetes orchestration would add unnecessary operational work.
Key ideas
- A container group is ACI’s scheduling unit. Containers in a group share a host, local network, storage, and lifecycle. This works for a main container plus a closely related sidecar, such as a log helper.
- ACI can run one container or a group. It does not by itself provide Kubernetes-style deployment rollouts, broad service discovery, or general automatic scaling of an application. Use AKS or another appropriate platform when those are requirements.
- ACI can pull images from Azure Container Registry, Docker Hub, and supported registries. A managed identity can authenticate an image pull from ACR without embedding a registry password.
- A group can receive a public IP and FQDN, or run in a virtual-network subnet. A virtual-network deployment requires a NAT gateway for supported outbound connectivity.
- Azure Files can provide persistent storage. Without deliberately mounted storage, container-local state should be treated as temporary.
- Charges depend on the selected configuration and usage. Check current pricing for a production decision rather than using a fixed per-second cost assumption.
How it fits (diagram)
Northwind example
Northwind runs a receipt-conversion job when a batch of PDFs arrives. Luis creates a container group with the converter and a small sidecar that uploads status logs. It mounts an Azure Files share for results and uses a managed identity to pull its image from ACR. ACI starts the group quickly, but Northwind’s scheduler—not ACI alone—decides when to create another job and how to retry a failed batch.
ACI versus AKS and a VM
| Need | Start by considering |
|---|---|
| Run a simple, isolated container or small container group without cluster management | ACI |
| Orchestrate many containerized workloads with Kubernetes features | [[aks |
| Control the operating system and run software that needs a full server | [[azure-vm |
Common confusion
- “Serverless container” means Azure manages the underlying VM infrastructure. It does not mean the application automatically scales, heals, or schedules itself.
- A container image is not a running container group. The group is the deployed runtime instance.
- Giving a group a public IP makes it reachable; it does not make the application secure. Apply identity, network, TLS, and application-security controls.
Related
Path MOC · aks · acr · azure-functions
Sources and re-audit
- Microsoft Learn — What is Azure Container Instances?, checked 2026-09-16.