The service -- which supports both Linux and Windows containers -- eliminates the need for a developer to provision virtual machines, or implement a container orchestration platform, such as Kubernetes, to deploy and run containers. Instead, with Azure Container Instances (ACI), an organization can spin up a new container via the Azure portal or command-line interface (CLI), and Microsoft automatically provisions and scales the underlying compute resources. ACI also supports standard Docker images a developer can pull from a container registry, such as Docker Hub or Azure Container Registry.
According to Microsoft, ACI reduces management overhead, so a developer can deploy a container on Azure within seconds.
Other key features
Some other features of the ACI service include:
- Public IP connectivity: A developer can expose containers to the internet with a fully qualified domain name (FQDN) and an IP address.
- Customization: A developer can specify the number of CPU cores and memory he or she wants for a container instance.
- Persistent storage: Container instances are stateless by default, but an organization can choose to mount an Azure file share to a container to enable persistent storage.
- Container groups: A developer can schedule multiple containers to deploy as a group that shares the same host machine, storage, network and other resources. This feature is beneficial when a developer wants to split one functional task among several container images. For example, a container group could include one application container, and then one logging or monitoring container.
ACI vs. AKS
In addition to ACI, Microsoft offers Azure Kubernetes Service (AKS), a managed container orchestration service built on the open source Kubernetes system. While AKS reduces much of the traditional overhead associated with the installation and maintenance of Kubernetes, a user still has some responsibility for management of the underlying compute resources.
Microsoft recommends ACI for more basic applications that can be isolated to a subset of containers. Organizations that require greater control over the orchestration layer and their container infrastructure would be better suited with AKS.
A developer can also use ACI and AKS side-by-side; for example, if compute capacity runs low in an AKS cluster, it's possible to burst to ACI to handle spikes in demand.
Cost, availability and competition
Azure Container Instances follows a per-second billing model. Exact pricing varies based on the CPU and memory resources used by each container or container group.
As of November 2018, Azure Container Instances are available in the following Azure public cloud regions: Canada Central, Central U.S., East U.S., East U.S. 2, South Central U.S., West U.S. and West U.S 2.
Azure Container Instances competes most directly with Amazon Web Services (AWS) Fargate.