Microsoft has released a preview of Azure Container Instances, a new way to deploy containers which emphasises speed and ease of use above scalability and orchestration.
A web application running in
an Azure Container Instance
The company already offers an Azure Container Service, so why another option? The idea is to simplify deployment by further abstracting the infrastructure. The existing Container Service works by creating a cluster of VMs (virtual machines) configured for orchestration by a management system such as DC/OS, Kubernetes or Swarm.
Although the Container Service does a good job of automating the configuration, there are awkward issues, such as keeping the VMs patched. It is also a relatively heavyweight solution if you just want to get a test containerised application up and running quickly.
The new Azure Container Instance (ACI) is smaller, quicker and easier. Currently it is only available through the Azure Cloud Shell. You can create a container instance using the command:
az container create
specifying the container image to run, the number of virtual CPUs required, the amount of memory, and whether the IP address is public or private.
Your container does, of course, run on a VM, but the details and management of this are handled by the service. It is a multi-tenant service, but Microsoft promises that “your application is as isolated in a container as it would be in a VM”.
Startup time is quicker than creating a VM-based container.
The new service is not intended to replace the Azure Container Service, which remains suitable if you want a more scalable deployment that you can use with an orchestrator. Having said that, Microsoft has also released an ACI connector for Kubernetes, so you can use both VM and ACI containers in the same Kubernetes cluster.
There is overlap with another Azure service, Web App on Linux, which is also in preview. This lets you deploy containers as Azure Web Apps, with easy scaling features. Like ACI, Web Apps relieve you of the responsibility of managing the VMs used for deployment. ACI still wins for the quickest way to get a container running on Azure.
All three of the above options can deploy container images from the same Azure Container Registry.
The ACI currently only supports Linux containers, though the director of Azure Compute, Corey Sanders, promises that Window container support is coming “in the next couple of weeks”.
Microsoft has also announced that it is joining the Cloud Native Foundation (CNCF) – a project of the Linux Foundation – as a Platinum member, one of 15 such members alongside Google, IBM and RedHat (just a sniff of “anyone but AWS” here). CNCF is committed to promoting container-packaged applications which are oriented towards microservices.
Once again, Microsoft is clear that it does not care whether you run Windows or Linux, provided you do so on its Azure cloud. ACI looks useful, if only as a quick way to deploy, test and tear down containerized applications with little pain, presuming the service works as advertised.
You can find more information here.®