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

NeedStart by considering
Run a simple, isolated container or small container group without cluster managementACI
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.

Path MOC · aks · acr · azure-functions

Sources and re-audit