At Wander, we’ve built new development infrastructure using Kubernetes, Tilt, and Telepresence on developers’ laptops, with images built directly in-cluster without pushing to a registry, and live update so code changes are visible in seconds. The laptop environment is ~identical to staging and production. Same version of Kubernetes, same container runtime, so there are minimal surprises.
I'm using Kubernetes to run my products on Hetzner. But not because it needs to scale - but because it's super practical.
Whenever I hear people say "Kubernetes is overkill" they always talk about it from a "scale" perspective.
My reasons:
I want staging/sandbox + production environments, and I want a smooth deployment process.
I push to a branch on GitHub, a pipeline starts, new code is deployed, old code is gracefully shut down, traffic is pointed over.
Like I'm used to with PaaS.
Kubernetes + Helm does this super well! This would be hell to automate with just docker and various manual scripts...
But of course, you can overengineer just about anything and ramp up cost... That isn't specific to Kubernetes.
Kubernetes can be just about as simple as you want it to. I think this is misunderstood 👇