Live data from Hacker News

Why is Kubernetes getting so popular?

stackoverflow.blog

421–430 of 681 posts

Re: Why is Kubernetes getting so popular?

#421

The simple answer is that Kubernetes isn't really any of the things it's been described as. What it /is/, though, is an operating system for the Cloud. It's a set of universal abstraction layers that can sit on top of and work with any IaaS provider and allows you to build and deploy applications using infrastructure-as-code concepts through a standardized and approachable API. Most companies who were late on the Clo…

OS for the cloud is exactly what it is. I see AWS, Azure and GCP as OEMs for cloud, just like Samsung, Oppo, Motorla, etc are OEMs for smartphones. Android was the open source abstraction across these devices. K8s is the open source abstraction across clouds. The meaning of "app" on top of these two operating system abstractions is entirely different and the comparison probably doesn't extend beyond this. From a comp…

AWS and other cloud provider provides far more reliable and simpler features/toolkings than k8s. For teams that's serious about building services on the cloud, having k8s to take over certain area of orchestration make sense, but the "operating system" K8s provides is just a tiny peace of the overall infrastructure.

Re: Why is Kubernetes getting so popular?

#422
post #389
post #282

Earlier quoted context omitted.

I count the "glue it with existing infrastructure" to be higher cost than doing it from scratch. It was one feature that I definitely knew regarding Nomad, as one or two people who used it did chime in years ago in discussion, but for various reasons that might not be applicable to everyone I consider those unnecessary complication :)

Depending on how big the infrastructure is and how long you want to migrate over... usually there's not enough resources to "redo all from scratch", millions of LoC are already in production, people who owned key services are no longer in the company, other priorities for business exists other than have what you have already working in k8s..

The context was rather different (home setup), but all that you mention can be used as arguments Noth for and against redo, basing on situation in company, future needs, etc.

I have actually done a "lift and shift" where we moved code that had no support or directly antagonistic one to k8s because various problems reached situation where CEO said "replace the old vendor completely" - we ended up using k8s to wrestle with the amount of code to redeploy.

Re: Why is Kubernetes getting so popular?

#423
post #191

Earlier quoted context omitted.

Yes, people ought to do a side by side comparison of a new user learning to K8S v AWS v GCP before claiming Kubernetes adds more complexity than it returns in benefits. Remember the first time you saw the AWS console? And the last time?

> Remember the first time you saw the AWS console? And the last time? There was a time in between for me - that was Rightscale. For me, the real thing that k8s bring is not hardware-infra - but reliable ops automation. Rightscale was the first place where I encountered scripted ops steps and my current view on k8s is that it is a massively superior operational automation framework. The SRE teams which used Rightscale…

> The SRE teams which used Rightscale at my last job used to have "buttons to press for things", which roughly translated to "If the primary node fails, first promote the secondary, then get a new EC2 box, format it, install software, setup certificates, assign an elastic IP, configure it to be exactly like the previous secondary, then tie together replication and notify the consistent hashing."

If I understand this correctly, all of the things could have been automated in AWS fairly easily .

"If the primary node fails" Health check from EC2 or ELB.

"get a new EC2 box" ASG will replace host if it fails health check.

"format it" The AMI should do it.

"install software, setup certificates" Userdata, or Cloud-init.

"assign an elastic IP, configure it to be exactly like the previous secondary, then tie together replication and notify the consistent hashing" This could be orchestrated by some kind of SWF workflow if it takes a long time or just some lambda function if it's within a few mins.

Re: Why is Kubernetes getting so popular?

#424
post #405

Earlier quoted context omitted.

Dokku is magical. It blows my gob whenever I use it. It’s the best parts of Docker and Heroku together, and I can actually control everything that goes with my app.

I find that Dokku requires me to do too much on the machine itself, well as forcing me into a certain model. I currently use exoframe with docker-compose files, and it's fantastic.

Haven't seen this one - it looks really good, thanks. I also like they integrated traefik in the solution.

Re: Why is Kubernetes getting so popular?

#425
tl;dr - Kubernetes is a good tool, but it has been marketed and evangelized to where it is today, it's meteoric rise is not organic.

I am a huge Kubernetes fan, and think that it is a good and necessary tool with little accidental complexity (most concepts are there because you will likely need them and/or that they are a valid concern), but my position is that the growth of Kubernetes has not been organic -- it's been heavily promoted and marketed and pushed to where it is today.

Let's compare a project like Ansible first release in 2012[0], and the first AnsibleFest is in 2016[0]. Ansible is a very useful abstraction/force multiplier for doing ops. If a dedicated conference is a measure of community/enthusiasm reaching a fever pitch, it took 4 years for Ansible to reach critical mass. Kubernetes had it's first Kubecon in 2015[1] ONE year after it's initial release in 2014[2]. Did it reach critical mass 4x quicker than ansible? Maybe, but I think the simpler explanation is that the people who want Kubernetes to succeed know that creating buzz and the appearance of widespread adoption and community is more important than it actually being there, as it becomes a self-fulfilling prophecy. Once you have enough onlookers, people motivated to work on open source (i.e. give away labor, time and energy for free) will come improve your project with you, serve as an initial user base, your biggest promoters, all the while strengthening your ecosystem.

Another interesting side to this is how thoroughly Kubernetes seems to be crushing it's competition -- DC/OS (Mesos), Nomad and other competition are not fighting a functionality war, they're fighting a marketing war. DC/OS and Nomad are not obviously worse in function, but certainly don't compare when you consider ecosystem size (perceived, if not actual) and brand. It's a winner-take-most scenario and tech companies are particularly good at seizing this kind of opportunity. Of course, if you compare the resources of the entities backing these projects, it's clear who was going to win the marketing war.

In a world of free tiers as a good way to get people locked in, developer evangelists who build essentially propaganda projects (no matter how cool they are), and shrinking attention spans, Kubernetes is a good tool which has marketed itself to greatness. In it's wake there are efforts like the CNCF which I struggle to characterize because it's hard to differentiate their efforts to standardize from an effort to bureaucratize. I'm almost certainly blinded by my own cynicism but most of this just doesn't feel organic. Big, useful open source software gets world-renowned after years/decades of being convenient/useful/correct/etc but Kubernetes (and other projects given the CNCF gold star) seem to be trying to skip this process or at least bootstrap a reputation out of the gate.

DevOps traditionally moved much slower -- I can remember what seemed like an age of "salt vs ansible vs chef", with all three technologies having had lots of times to prove themselves useful. Even the switch to containers instead of VM/user based process isolation took more time than Kubernetes has taken to dominate the zeitgeist.

[0]: https://en.wikipedia.org/wiki/Ansible_(software)

[1]: http://www.voxuspr.com/2019/03/what-is-kubecon-its-past-pres...

[2]: https://en.wikipedia.org/wiki/Kubernetes

Re: Why is Kubernetes getting so popular?

#426

The simple answer is that Kubernetes isn't really any of the things it's been described as. What it /is/, though, is an operating system for the Cloud. It's a set of universal abstraction layers that can sit on top of and work with any IaaS provider and allows you to build and deploy applications using infrastructure-as-code concepts through a standardized and approachable API. Most companies who were late on the Clo…

Just running docker-compose on load balanced machines is pretty close to having all k8s features (that would give you an endpoint, scaling, running pods[containers],heartbeats and nodes[vms]). If you run Kubernetes on GCP you will see it's just a wrapper of GCP vms, load balancers, instance groups and disks. EG: GCP k8's autoscaling for the nodes isn't any better than just simple GCP load balancers and instance group…

GKE uses other GCP products, but ”k8's autoscaling for the nodes isn't any better than just simple GCP load balancers and instance groups (it literally is the same thing)” isn't entirely accurate - GKE and K8S have logic that manages node pools that you won't be able to use with just instance groups.

Re: Why is Kubernetes getting so popular?

#428
post #402
post #280

I honestly couldn't tell you. What I can tell you, is that the unbelievable bloat in the complexity of our systems is going to bite us in the ass. I'll never forget when I joined a hip fintech company, and the director of eng told us in orientation that we should think of their cloud of services as a thousand points of light, out in space. I knew my days were numbered at exactly that moment. This company had 200k uni…

I'm curious how long ago you were at that company serving 3m customers a day. I have not been in the industry very long, so I don't really know what things were like >5 years ago, and don't want to sound as if I'm pretending to be an expert. That said, a couple thoughts that came to mind: 1. having only 4 servers in 2 locations serving 3m customers a day seems crazy to me, atleast in the context of current practices…

Good questions, and you are onto something here for sure. This wasn't too long ago, around 2014-2015.

This was all for a weather radar app, and you are correct, there really weren't any SLA's, but we had to handle very high loads. We did make use of cloud services for some pieces of the system (there was a database and a small API for some minor bookkeeping, mostly around users). I included those costs in my estimate of monthly expenses. We had lots of caches, for all our JSON and for things like user authentication, which saved us from having to really figure out the database side. The caches were typically push-based, so we didn't let user requests get to the disc, if we could help it.

The vast majority of requests were for those images though, which required moving lots of clumsy geographic data into the GPUs to render map tiles (at high-def and high zooms as well), so the requests were still somewhat costly to serve, even if they didn't hit a database. We were able to get away with a small footprint in the datacenter by making heavy use of CDN caching. Cache lifetimes for the latest weather images were often measured in seconds, and getting those timings right was crucial. Screwing up cache lifetimes would rapidly swamp the system with requests, but the software was good at continuing to keep latency low under heavy load, and degrading gracefully. In fact, the vast majority of bandwidth usage in the datacenters was actually not requests, but streaming geographic data from various government sources. We regularly had 50-100MB/s coming in, and we stored all of it in memory. The GPU machines had 100-200GB of memory, and we used all of it. We had to cycle through that memory pretty rapidly as well, so making sure allocations were low and memory was freed up on time was important.

It may not sound like we had much redundancy, but with all the caches, and each machine being quite powerful, it was better than it sounds in that regard. We often took machines in an out of nginx. The way the graceful degradation worked, we would prioritize the imagery from higher zooms (more zoomed out) so the worst that would happen on a typically day is that some very zoomed in images, in places few people were looking, might be slow or time out.

So, in the end, you are correct, the situations are different. The bank had to store things for a lot longer, and had to uphold more stringent SLA's and the like. That said, I still think they were flushing a lot of cash down the toilet, and making things over complicated :).

Re: Why is Kubernetes getting so popular?

#430

Earlier quoted context omitted.

What's wrong with logging in to a server? I love logging in to a server and tinkering with it. Sure, for those who operate fleets of hundreds it's not scalable, but for a few servers that's a pleasure.

The problem is when you need to duplicate that server or restore it due to some error, you have no idea what all the changes you made are. Besides, it's additional hassle and a chance for things to go wrong, the way I have it set up now is that production gets a new deployment whenever something gets pushed to master and I don't have to do anything else.

> The problem is when you need to duplicate that server or restore it due to some error, you have no idea what all the changes you made are.

A text file with some setup notes is enough for simple needs, or something like Ansible if its more complex. A lot of web apps aren't much more than some files, a database, and maybe a config file or three (all of which should be versioned and backed up).

Post reply on HN