5 ms·
Having been at a company that was starting to move things to Kubernetes, when it had absolutely no reason to, I can say that it was being done because: 1) the d
by rossdavidh 7y ago
Having been at a company that was starting to move things to Kubernetes, when it had absolutely no reason to, I can say that it was being done because:
1) the developers wanted to be able to say they knew how to use Kubernetes, when they applied for their next job (perhaps at a company big enough to need it)
2) the managers didn't really understand much about what it was, to evaluate if it was necessary, but
3) some of the managers wanted to say they had managed teams that used Kubernetes, for the same reason as the developers
Which is not to say that it should never be used. But we have a recurring pattern of really, really large companies (like FAANG) developing technologies that make sense for them, and then it gets used at lots of other companies that will never, ever be big enough to have it pay off. On the other hand, they now need 2-3x the developers they used to, because they have too many things going on, mostly related to solving scale problems they'll never have.
Don't use a semi-tractor trailer to get your groceries. Admit it when you're not a shipping company. For most of us, the compact car is a better idea.
- deepsun 7y agoWell, for engineers sometimes it's just interesting to learn new tech, you know. And managers are ok with keeping the team motivated, especially if they can deliver new features while playing with the new tech. UPDATE: I mean, it's not about resume in most cases I've seen. Usually, people who don't love programming do not care about what tech to use, so resume-oriented people are usually not very vocal about using new cool and shiny tech. It's nerds who are, that keeps them motivated.
- BostonEnginerd 7y agoPlaying with new tech is fun. Using a nuclear weapon when a hammer would do is bad engineering.
- zaat 7y agoWe are talking about an orchestrator here, right? it's a piece of software that is safe for use in front of kids, last time I checked. Linux is preety complex system too, you know, with millions lines of code and gazillion moving parts. It's probably safe to say that no one alive, including Linus himself, ever read all the codebase required for running a base linux system serving Apache with a static site. And yet we do. Anyone who know how to code well can learn how to pack containers and run them within a kubernetes cluster in a way that will work reliably, even if those containers do nothing except serving pure html text files over port 80, and in fact the whole cluster is waste of money and it is not required and not helping a thing. It will serve the content just fine. No nukes will be hurt during the operation, don't worry.
- krageon 7y ago"Anyone who know how to code well can learn how to pack containers and run them within a kubernetes cluster in a way that will work reliably" If this is your criterium, sure. That's nice and simple and for much the same way that physics cows are perfectly spherical - this isn't how real life happens and I suspect you have enough life experience to know that this is the case.
- zaat 7y agoI don't know, I have seen a few simple kuberbenets deployments alive and well, as to spherical cows... Your comment reads like stating "I am right and deep down you know that too", and that is less than pleasing.
- rumanator 7y ago> this is your criterium, sure. That's nice and simple and for much the same way that physics cows are perfectly spherical Ironically your example is a good one, because tools like Kubernetes are what enables the proverbial cows of deploying services in heterogeneous clusters of COTS hardware to be interpreted as being spherical in the sense that they are only contained processes that execute somewhere. And the irony is that you might seriously argue that being forced to waste time modeling cow in higher detail than a sphere is necessary or even required.
- xorcist 7y agoI love playing with things that expand my mind to what is possible. I have never found newness in itself to be attractive. However I have come to respect that many people are different. These are often the same people who insist on buying a new phone, never mind that they haven't understood a millionth of the old one yet.
- pdr2020 7y agoNot using modern weapons and only using a hammer always is also bad engineering.
- rumanator 7y ago> Using a nuclear weapon when a hammer would do The hammer will only suffice in the eyes of those who only envision problems that resemble nails. But there's more to operations than occasionally hammering on a single nail.
- Bombthecat 7y agoFor those companies i recommend rancher... It's kubernetes under the hood but a lot is stuff is abstracted away..
- cryptica 7y agoI'm also a fan of Rancher. Especially the newer versions. It significantly simplifies the process of spawning up and managing a Kubernetes cluster. I do think that Kubernetes is overkill if you just want to spawn a couple of server instances. But if you want to build a complex system which scales and you happen to have experienced developers on the team who understand how to build scalable systems and who have experience with Kubernetes then you'd be foolish not to use K8s IMO. That said, having that specific talent and experience on the team is critical or else you're just wasting your time and money with K8s - And that talent is very hard to find. There is no point building some complex architecture for Kubernetes if that architecture is not designed to scale linearly from the ground up. Kubernetes can allow you to operate highly scalable systems easily and elegantly, but simply using Kubernetes doesn't itself guarantee in any way that your systems will be scalable and will benefit from K8s at all (aside from pretty UI). Very few people can build systems that scale and also meet business requirements.
- je42 7y agoI worked at company with k8s+rancher, and was constantly bumping into rancher specific issues. I am not sure if rancher is really worth the effort.
- colecut 7y agoSo docker runs a bunch of system services but abstracts them away... And kubernetes runs docker but abstracts that away... and rancher runs kubernetes but abstracts that away.. Should I just wait a year for something that lets me use rancher without knowing anything about it?
- rumanator 7y agoThe problem of infrastructure is that low level interfaces are always consumed by higher-level interfaces. And if you want to run a process, but you want to distribute the apps and run them as process containers, and you want to run them in an automatically configurable cluster of COTS computers communicating through a virtual private network... Don't you understand where and why are there abstractions? If anything, having people naively complain about how things are layered and abstracted is a testament of the huge success of the whole teck stack, because complainers formed such a simple mental model of how to distribute, configure, run, and operate collections of heterogeneous services communicating through a virtual network that they simply have no idea of the challenge of implementing a workable system that does half of this. But with docker+kubernetes it only takes a click, so it must be trivial right?
- boycaught 7y agoWell-said @rossdavich... also says a lot about tech company cultures: most people are just looking for the next job. Is there anyone actually interested in creating and contributing to building great products, ones that people actually need? #rhetorical
- danjac 7y agoDevelopers learn quickly that the only way to get a decent salary and/or job security is to cram as many buzzwords into their resume. Companies don't like to invest in training, so the only other way to get those buzzwords is to force the use of whatever cool tech into a project, whether it's appropriate or not. And no, experience in cool buzzword tech does not count if it's a side project or open source contribution - as much as we would wish that to be the case. We can blame developers, but they are just adapting, as humans always do, to their environment. Sometimes it is just bored devs chasing the next fad, but there is plenty of blame to be laid at the feet of modern tech companies.
- pdr2020 7y agoYou clearly understood one of the primary incentives that drives k8s adoption (career self-interest). And then you issued advice like "Don't do this". I'm curious if you truly believe that anybody in the above class of people would change their ways on that basis, and without a greater incentive.
- cactus2093 7y agoDoing a migration when you're not clear on what problem you're solving and why is always a bad idea. But I don't think this is a fair characterization of Kubernetes. There are lots of well supported hosted ways to use it, in which case it works a lot like other PAAS tools like Heroku or Elastic Beanstalk, except with much more powerful and better designed primitives and a big open source community of tools to make working with it even easier. It's not like using a tractor trailer to get your groceries, it's more like using a swiss army knife to cut a piece of string. Sure you don't need all the extra accessories for that task, but they're not really getting in your way, it's still a good tool for the job. And the extras might even come in handy at some point in the future.
- ethbro 7y ago> swiss army knife You mean one of the only major knives that refused to implement a standard blade lock for decades? Yeah, probably a perfect metaphor.
- yumraj 7y agoJob interviews should always consider if the correct tool was used for the use case. So, if someone used k8s where it was not needed, that experience means zilch: 1) it was the wrong tool for the job 2) it was not used at the right scale. So, if I need k8s to manage a really large deployment, someone who used k8s to manage 5 machines does not have the right experience since they never used it at my scale.
- Vesuvium 7y agoBefore you get on a technical interview, an automated system, an HR person and a project manager (or similar) will have to pass on the application, which encourages putting buzzwords tech terms on a CV. Sadly today fewer and fewer companies look at soft and engineering skills and prefer to hire people based on experience with specific tools.
- rossdavidh 7y agoThis is exactly the problem. "Able to learn new technologies, and pick the right one for the problem at hand", is virtually impossible for HR or a recruiting company to evaluate. If they're supposed to filter out the obviously unsuitable candidates so that the devs and tech managers only have to interview plausible candidates, then they will go with keywords, because that's something they can do. In other words, we have a systemic problem. If everyone does what the current system incentivizes, we get the wrong result.
- rumanator 7y ago> was starting to move things to Kubernetes, when it had absolutely no reason to There is "absolutely no reason" to use a system that automatically handles blue/green deployment of your containers for free and supporting auditable and revertible deployment histories? I'd like to hear what you consider to be operational best practices!
- hnick 7y agoAll startups are simply temporarily embarrassed unicorns.
- rumanator 7y agoAh, because no software project ever experienced problems due to their newly found inability to scale in any way.
- yahyaheee 7y agoI think teaching devs to use k8s is generally a good thing. The patterns in k8s are very well established and a developer can learn a lot by understanding how to implement them. For basic web apps on something like GCE the time needed to get operational should be minimal.
- aliswe 7y agoI call this "resume driven development"