18 ms·
I think the crux of the problem is that everyone encounters the problem Kubernetes solves. As the GP states, Kubernetes gives you "infrastructure as code" so
by dkarl 7y ago
I think the crux of the problem is that everyone encounters the problem Kubernetes solves. As the GP states, Kubernetes gives you
"infrastructure as code" so that application infrastructure can be managed in a way similar to application source code (e.g. PRs, blame, code reviews, CI, rollbacks etc). This helps ops people because it allows them to think about infrastructure as abstract resources rather than as a collection of individual machines with specific designations
Who doesn't want that? Of course you want that.
But will the investment of time and effort pay off for your organization, and if so, how quickly? That's the hard question to answer. It depends on scale, personnel, the types of workloads involved, how easily your tools and practices can be updated, and presumably many other considerations. From my personal experience it seems like in practice the answer to this question is so murky that the deciding factors turn out to be social, including the personal risk aversiveness of the people making the decision, people's loyalty to the company versus their own resume, and whether leadership cultivates a hyperoptimistic growth mentality of making 10x or even 100x decisions (i.e., make decisions assuming the company will be 10x or 100x bigger in a year.)
The problem, then, is helping people compare the cost/benefit of Kubernetes compared to their current practices, for their own organization.
- cweagans 7y agoThere are lots of tools that give you "infrastructure as code". Why is Kubernetes special?
- honkycat 7y agoWhat is the point of this question? Why are the other tools special?
- cweagans 7y agoMy point is that if "infrastructure as code" is your sole requirement, Kubernetes doesn't seem like the first choice. Adopting Kubernetes is not a small task, but it seems to be the go-to answer for a lot of the HN crowd. Don't get me wrong: it's a great tool for some things. But IMO, for 80% of projects it's completely overkill.
- dragonwriter 7y agoK8s is the only IaC platform with heavy buy in by all the major public clouds.
- cweagans 7y agoI'm not particularly interested in limiting myself to using only the tools that large companies have deemed worthy. There are plenty of tools out there that can get the job done at the scale that the vast majority of businesses operate in with lower operational and cognitive overhead than Kubernetes.
- auslander 7y ago+1. Infrastructure as code is exactly that, code. For AWS it is Cloudformation template code, Cloudformation service and some CI/CD on top, like jenkins or ansible. Or Terraform for unlucky ones. K8s is container orchestration, like AWS ECS, totally different beast.
- StavrosK 7y agoCloudFormation is for the lucky ones and Terraform the unlucky ones? I'm thinking you've never used one of the two...
- auslander 7y agoOn AWS, Cloudformation is far more reliable and lean (less LOC) than TF. No corrupted state issues, all resource properties are supported, parallel (fast) resource creation just for starters. And TF sales pitch about "multi-cloud" is nonsence, resources are too different between different clouds.
- dkarl 7y agoIt's also directly supported by multiple first-tier cloud providers.
- cweagans 7y agoI mean, so is Terraform (kinda).
- dragonwriter 7y agoTerraform supports first-tier cloud providers, but the other way around?
- dkarl 7y agoPerfect way to put it.
- tnolet 7y agoI'd argue the opposite. Only a relative handful of companies, startups etc. encounter the problems IAC solves. Most do fine without it. Or maybe they use Puppet or Chef. Most won't even need that.
- autotune 7y agoThat’s how you get every other startup thinking Heroku is the solution and then two years later they realize they might need to invest in building out their own self-documenting, automated architecture. More than happy to upvote you as it means more work opportunities for me down the line.
- GuB-42 7y ago> Who doesn't want that? Of course you want that. If you only have a couple of servers you probably want to think of them as individual machines rather than abstract resources. A lot of equations simplify when you set x to 1.