Your AI agent runs perfectly on your laptop. Docker Desktop starts it in seconds, localhost:8000 responds, everything works. You're ready for production.
Except you're not.
Production means your agent serves real users, handles real traffic, and operates when you're asleep. Docker Desktop was designed for development, not for running 24/7 services that customers depend on.
This lesson explains why Docker Desktop can't serve production workloads, what managed Kubernetes services offer instead, and when self-managing your own cluster makes financial sense. By the end, you'll understand how to evaluate cloud providers using the cost-control-operations triangle.
Docker Desktop excels at local development. But production requires capabilities Docker Desktop was never designed to provide.
Docker Desktop runs everything on your laptop—one machine. Production requires:
When your laptop closes, Docker Desktop stops. Your "production" service disappears.
High availability means your service stays up when components fail. Docker Desktop provides zero high availability:
Real production systems expect components to fail. They're designed so failures don't become outages.
Docker Desktop networking exists only on your machine:
In production, users need to reach your services from the internet. That requires:
Docker Desktop doesn't provide any of these. It's not designed to.
Docker Desktop is a development tool. Treating it as production infrastructure is like using a bicycle as an ambulance—it's the wrong tool for the job.
Managed Kubernetes services run the control plane for you. You focus on deploying workloads; they handle the infrastructure that makes Kubernetes work.
In a previous Module, you learned Kubernetes has two parts:
Managed Kubernetes means the provider operates the control plane:
You get: A working Kubernetes API endpoint. Run kubectl get nodes and see your cluster.
They handle: etcd backups, API server availability, scheduler health, control plane upgrades, security patches.
Pricing source: DigitalOcean, Microsoft Azure, Google Cloud, and Amazon Web Services pricing pages (December 2025).
DOKS offers the simplest path to managed Kubernetes:
Minimum viable cluster: 2 nodes at $12 each = $24/month.
Best for: Side projects, startups, and teams who want Kubernetes without enterprise complexity.
Microsoft's managed Kubernetes integrates deeply with Azure:
Best for: Organizations already using Azure, .NET workloads, enterprises with Microsoft agreements.
Google invented Kubernetes; GKE reflects that heritage:
Best for: Teams wanting the most Kubernetes-native experience, ML/AI workloads with TPU access.
AWS's offering integrates with the AWS ecosystem:
Best for: AWS-heavy organizations, enterprise compliance requirements.
Some teams run Kubernetes themselves on affordable cloud providers. This trades operational simplicity for cost savings and control.
Hetzner offers some of the cheapest cloud VMs in the industry:
K3s is a lightweight Kubernetes distribution that runs on small VMs. A minimal production cluster:
Compare to managed DOKS at $24/month—you save 50%. But what do you give up?
With self-managed Kubernetes, YOU handle:
If your etcd data corrupts at 3 AM, there's no support ticket to file. You fix it or your cluster is gone.
Self-managed Kubernetes works when:
Self-managed doesn't make sense when:
Every cloud infrastructure decision involves three competing priorities:
Cost: How much you spend monthly Control: How much you can customize and configure Operations: How much work you do to keep it running
Startup with 2 engineers, building MVP:
Scale-up with dedicated DevOps, 50 services:
Agency running client projects, predictable workloads:
Use this matrix when your multi-cloud-deployer skill needs to recommend infrastructure:
Before recommending a provider, your multi-cloud-deployer skill should consider:
Let's compare running a small production workload across providers:
Note: Actual costs vary by region, instance type, and discounts. Always use provider calculators for accurate estimates.
The sticker price isn't everything:
A "cheap" self-managed cluster becomes expensive if you spend 10 hours/month maintaining it. At $100/hour engineering cost, that's $1000 in hidden labor.
Test your understanding of production infrastructure tradeoffs:
Prompt 1: Docker Desktop limitations
What you're learning: How to articulate why development tools aren't suitable for even demo production scenarios. The "laptop closes, demo dies" scenario is real.
Prompt 2: Provider recommendation
What you're learning: How to apply the cost-control-operations triangle. For learning + cost sensitivity + uptime needs, DOKS is likely the answer.
Prompt 3: Self-managed evaluation
What you're learning: The self-managed tradeoff analysis. $216/month in control plane fees might not justify the operational overhead for a team already on AWS.
Safety note: Always validate cloud provider pricing before committing. Prices change, regions vary, and promotional pricing expires. Use official pricing calculators for accurate estimates.
Test your multi-cloud-deployer skill against what you learned:
Ask yourself:
If gaps exist: