Azure Kubernetes Service vs Self-Managed: An Honest Comparison
"Should we use AKS or run our own Kubernetes?"
I've had this conversation at least a dozen times. The answer is almost always AKS — but there are legitimate reasons for self-managed. Here's the honest comparison from someone who's run both.
Where AKS Wins Decisively
Control Plane Management
AKS gives you a free, managed control plane. Self-managed means you're responsible for etcd backups, API server availability, controller manager health, and Kubernetes upgrades. That's a full-time job for at least one engineer.
Upgrades
AKS: click a button (or automate it). Self-managed: weekend maintenance window, rollback plan, prayer.
Integration with Azure
AAD integration, Azure Policy for Kubernetes, Azure Monitor for containers, Azure Key Vault CSI driver, managed identities — all native. Self-managed means building each integration yourself.
Cost
AKS control plane is free. You pay for the worker nodes. Self-managed means paying for control plane VMs on top of worker nodes. For most workloads, AKS is cheaper.
Where Self-Managed Has a Case
Extreme Customisation
Need a specific Kubernetes version before AKS supports it? Custom admission controllers that conflict with AKS defaults? Unusual networking requirements? Self-managed gives you full control.
Multi-Cloud Consistency
If you're running identical workloads on AWS, Azure, and GCP, a tool like Cluster API with a consistent self-managed setup across clouds might make sense. AKS is Azure-only.
Regulatory Requirements
Some industries require full control over the control plane for compliance. If you must prove you control every component, self-managed is the only option.
My Recommendation
| Scenario | Choice |
|---|---|
| Standard web workloads | AKS |
| Microservices platform | AKS |
| ML/AI workloads | AKS (with GPU node pools) |
| Multi-cloud identical setup | Self-managed (maybe) |
| Extreme compliance requirements | Self-managed |
| Small team (< 5 engineers) | AKS (you can't afford the ops overhead) |
The Real Question
The question isn't really "AKS vs self-managed." It's "where do you want your engineers spending their time?" If operating Kubernetes is your competitive advantage, self-manage. For everyone else, let Microsoft handle the control plane and focus on what runs ON the cluster.
What's your experience with managed vs self-managed Kubernetes? Share your take on LinkedIn.
