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 👇
Kubernetes migration almost killed our startup.
Where we were:
- 8 EC2 instances
- Ansible for deploys
- Boring but working
- $1200/month AWS bill
Why we migrated:
- New investor wanted 'cloud-native'
- Engineers wanted K8s experience
- Competitors were using it
- Seemed like the future
6 months later:
- 3 engineers spending full-time on K8s
- AWS bill at $4500/month
- Deploys took longer than before
- More outages, not fewer
- Product development stalled
We rolled back:
- Moved to ECS Fargate
- 2 week migration
- Back to $1800/month
- Engineers back on features
K8s is amazing for scale. We weren't at scale. Technology should solve problems you actually have.