Search code examples
azurecontainersazure-container-servicewindows-containerazure-container-instances

Scale Azure Container Instance


Is it possible to scale an ACI running container?

Problem:

We have some old-school Cloud Services (.NET Framework v4.7.1) we're migrating to Docker containers, we've successfully got them running and responding in Azure Container Instances now, but need the ability to be able to scale them for load and resilience.

This is part of a larger project where we're also running our newer solution inside k8s - all .NET Core 2 microservices.

The goal will eventually be to bring them into the main k8s solutions when we have the ability to run Windows and Linux nodes against the same master, allowing us to run both projects in the same cluster.


Solution

  • It is not possible to scale a specific ACI instance. If you wanted more CPU/Memory you would need to redeploy that container.

    You can Horizontally scale ACI, i.e. add more containers, however, ACI does not support load balancers, so you would need to manage the collection of IP addresses you would be provided with. Of course, you could deploy a frontend container to spread the load.

    As mentioned in comments, you can connect AKS to ACI, and use Kubernetes to handle orchestration and scale. Unfortunately, I don't believe Windows is supported under AKS currently (though that should be arriving very soon I imagine)

    Depending on your use case, you may be better deploying to a standalone cluster while AKS / ACI catch up with what you need.