For years I told myself a VPS and a docker-compose file were enough. They were, right up until they weren't. The day a stray cron job on a shared VPS consumed all the available memory and took three running services down with it, I started reaching for something with guardrails.
A Kubernetes cluster at home is, on paper, absurd overhead for hobby code. The setup takes a weekend. The maintenance takes an evening here and there. If you measure it purely against the apps it serves, the cost-to-value ratio looks ridiculous. But that is not the right way to measure it.
The real benefit isn't uptime.
It is that every shortcut I would normally take (I'll add resource limits later, I'll wire up health probes when the app is stable, I'll set up proper log shipping eventually) simply vanishes. There is no just SSH in and tail the log. There is the log aggregator, or there is nothing. There are the manifests, the rollout strategy, the liveness probe that bounces the pod at 3am when it deadlocks, or there is the crash I find the next morning.
Running production-grade infrastructure for toy apps forces production-grade habits. When the day job hands me a similar shape of problem (an app with real users, real consequences), the muscle is already there. I have made the mistakes on code nobody depends on.
What it actually costs.
Time, mostly. The initial setup is non-trivial: a lightweight distribution on a couple of machines, a container registry, a wildcard cert, an ingress controller, a basic monitoring stack. That is a weekend if you have done it before and two weekends if you haven't. The ongoing cost is lower: an hour a month, usually less.
Money, very little. The cluster runs on hardware I already owned. Having a cluster also means I can spin up a new service in under ten minutes (a database, a deployment, an ingress rule) and tear it down without paying for idle compute.
The right call for the right person.
It is not the right call for everyone. If your time is scarce and your appetite for infrastructure is low, a managed platform with a sensible free tier will serve you better. But if you want the practice, and you want it to feel real, there is no substitute for being the person who has to fix it when it breaks.