| "k8s saves a TON of time if you need to run on more than 1 machine and you use a managed solution (by AWS/GCP/Azure) and only use it as a glorified docker container orchestrator." How? Just use AppService / EC2 for managed machines. Scales just as well. "Ingress solves how to route HTTP traffic coming into your domain." This is actually helpful and "easier" out of the box than putting nginx in front of statically hosted sites, so I will reluctantly give you this one. "PersistentVolume solves how and where to store data." You need a DB most of the time. Managed DBs are easier. "LivenessCheck solves how to restart your crapware when it freezes. Just don't go crazy with it unless you actually need the fancy stuff." Our crapware doesn't freeze. Needs a custom Health Check endpoint. Can just as easily restart the instance when that check fails. K8S is a ton of extra overhead for no gain. We have this debate at work all the time. Great resume builder though. |
It's not about scaling. It's about being able to make a docker image, run that locally on your developer laptop (even if it's a mac) and running the exact same thing in production. Sure you can use docker on top of EC2 but why would you? Just use the ready to go solution you can just buy (managed k8s) and avoid the lock-in. Again, it's critical that you use managed k8s. Don't roll it yourself on top of EC2.
> You need a DB most of the time. Managed DBs are easier.
Sure. Using k8s for your app isn't stopping you from doing that if you want. We deploy 1 database server per testing environment, which kubernetes makes easy to do. For production we use a managed database, but they're too expensive for testing environments.
> Our crapware doesn't freeze. Needs a custom Health Check endpoint. Can just as easily restart the instance when that check fails.
Mine doesn't either. But I have to run plenty of software that isn't mine.
> K8S is a ton of extra overhead for no gain
If you used managed k8s you're just trading server management for kubernetes resource management. I've migrated our system from Ansible + Cloud VMs to kubernetes several years ago, after running it for years before, and things have become significantly easier to maintain and our costs are roughly the same as before. Less vendor lock-in, too. It would take me an about an afternoon to switch between any of the major managed kubernetes offerings, and some of our clients have expressed preferences for a specific cloud.