|
|
|
|
|
by bri3d
1386 days ago
|
|
Yes, I 100% agree with this take. Engineers need to understand how k8s works at least at a surface level to engineer their service topology, and whatever devops/SRE/ops team will support k8s needs to scale up on test workloads and simulated production workloads and understand how to debug the system before it can be operated at scale. Running k8s at scale is very challenging due to its complexity and comes with a learning curve that you probably don't want to be ramping through in live-site production issues. It's a big tool for a big problem that most people don't have. I have seen k8s used in production 3 times: In a very slow, measured, long-term rollout on owned hardware, which was generally speaking quite successful and paid dividends against the previous home-rolled Ansible/Docker based solution with manual container scheduling by improving allocation, moving networking definition into a much more declarative / "shift-left" way where engineers would define their network topology directly, and improving insight into the system using off-the-shelf tools. I've also seen k8s used in a very basic fashion on GKE in a mostly painless way - basically just send it and it works. The worst k8s situation I've seen is one where a startup's GKE infrastructure was migrated into a self-hosted k8s cluster which was cobbled together and had never been scaled up before. Nobody understood the failure points of the system, trivial mistakes caused frequent outages, and as engineers lost faith in the system they started blaming k8s for application level issues. Diving headfirst into a complex system with a production workload is a recipe for pain. |
|
A thousand times yes. To a lesser extent, I would apply this to containerization generally.
If your needs are met by some Ansible/Chef/Puppet plays/recipes on a VPS, then you should embrace the simplicity and immediate flexibility you have, and just go that route.
I have seen so much relative over engineering to run simple workloads in containers that never needed to be scaled like that in the first place.