ACA vs AKS vs ACI: Which one should you choose when?

When to use ACA?
ACA is a great fit if:
- You don’t want to deal with the complexity of managing or securing a cluster (like in AKS)
- You don’t need low-level infrastructure control
ACA is a cleaner and simpler alternative to AKS or ACI. Most of the setup is handled by Microsoft, so you only have to focus on your application. It's a strong fit for small teams, mainly composed of developers who need to build and deploy microservices without relying on an infrastructure team.
When not to use ACA?
While ACA is great for most container workloads, there are cases where it may not be the right fit. Think about:
- Windows containers: Only supports Linux containers. If your app needs Windows workloads, use AKS instead.
- Control and access to Kubernetes API: If you need granular control over workloads, direct access to the Kubernetes API, or want to manage custom controllers and CRDs, ACA won’t work.
- Scaling limits: While it can scale fast, AKS might be better if you need high-scale workloads without replica limits.
- Resource constraints: Not suitable for workloads requiring high compute power or GPU acceleration.
- Limited observability: Not the best for deep monitoring or more advanced observability features.
When to use AKS?
AKS is recommended when:
- Running containers across multiple platforms (cloud, on-prem)
- Having complex enterprise-level apps with service mesh and load balancing
- You prefer access and control to the full Kubernetes API and configuration
- Custom networking is important
- You have Windows workloads
- You have strict compliance or security needs
- You want multi-node scaling control
- You need GPU workloads
As long as your team has experience working with Kubernetes as an orchestrator (and you know what you are doing), AKS is the best option available in the market because of its capabilities.
There are no limitations regarding scaling or the use of GPUs; you simply get way more flexibility in what you can do, and you can go beyond. Even better, you get full access to the Kubernetes API, which gives you granular control over deployments, configuration, and how you manage resources across your cluster.
When not to use AKS?
AKS can run workloads suited for ACA and ACI, but it introduces additional complexity and operational overhead.
Let’s say you want to use KEDA on AKS. Then, you’d have to install it by yourself. In general, if you want to scale, you must think about: “How many nodes do I have? What resources do I have? What are the options I have to scale?”.
Again, if managing the environment is a downside for you, whether because of a lack of resources or insufficient Kubernetes expertise, running AKS (yourself) might not be ideal.
But that’s where AKS control by Intercept comes in.