News for hackers. Stuff that matters.
Re:Managed Kubernetes Price Comparison by spectramax on Saturday March 07, 2020 @12:38PM (#22512818)
Just curious - what's wrong with buying a large instance (24 cores) and running it for < 10,000 users? Kubernetes feels like an insane complexity that doesn't need to be taken on and managed. You're gonna spend more time managing Kubernetes than writing actual software. Also, it feels like if something goes wrong in prod with your cluster - you're gonna need external help to get you back on the feet.

If you're not going to build the next Facebook, why would you need so much complexity?

Re:Managed Kubernetes Price Comparison by mjfisher on Saturday March 07, 2020 @01:15PM (#22513028)
> Kubernetes feels like an insane complexity

There's two things there - the complexity of engineering the cluster itself, and the complexity of using it.

The former is where the pain is. If you can remove that pain by using a reliable managed offering, it changes the perspective a bit.

The complexity of using it is also non-trivial - you have to learn it's terminology and primitives, understand the deployment and scheduling model, know how volumes are provisioned, aggregate logs, etc.

However, the ROI for learning that complexity can be pretty good. If you get comfortable with it (maybe a month or so of learning and hacking?) you get sane rolling deployment processes by default, process management and auto healing, secrets and config management, scheduled tasks, health checks, and much, much easier infrastructure as code. Which means if things do go really sideways, it's usually not that hard just to stand up a replacement cluster from scratch. With a bit more reading and some additional open source services, you get fully automatic SSL management with let's encrypt too.

All that said, I absolutely agree with you in principle. No one should overcomplicate their deployments for no benefit. It's just worth reflecting on what those benefits are. Kubernetes had a bunch of them - and whether they're worth the effort of getting to know it depends very much on the system(s) you're running.

Re:Managed Kubernetes Price Comparison by spectramax on Saturday March 07, 2020 @01:36PM (#22513164)
I used to work for a company that had less than 130 employees and none of the software services were exposed to public - the total user count was 130 users. And we had a Kubernetes cluster.

Thanks for an insightful response - Don't you think that a lot of wizbang software developers just want to use latest and greatest buzzword thing, whatever that might be, to get some cool points? As I grow older, I see increasing lack of objectivity and decreasing attention to KISS principles.

Re:Managed Kubernetes Price Comparison by mjfisher on Saturday March 07, 2020 @01:46PM (#22513227)
> Don't you think that a lot of wizbang software developers just want to use latest and greatest buzzword thing

Yes, absolutely, and it drives me up the wall. I've seen some incredibly unsuitable technology choices made, the complexity of which have absolutely sunk productivity on projects.

That said, it's easy to become cynical and associate anything that's become recently popular with hype-driven garbage. But that can blind you to some really great new stuff too. I tend to hang behind the very early adopters and wait to see how useful new tech becomes in the wild - the "a year with X" style blog posts tend to be really informative.

Re:Managed Kubernetes Price Comparison by bernawil on Saturday March 07, 2020 @10:56PM (#22516254)
What's a good recent example of hype-driven software? The only good example I can think of is MongoDB. All the other hyped techs in recent memory I can think of were all objectively good: Nodejs, Reactjs, Docker, Kubernetes, etc. In the same vein, I laugh every time someone brings out "javascript framework flavor of the month". That hasn't been true for 5 years at least.
Re:Managed Kubernetes Price Comparison by mjfisher on Sunday March 08, 2020 @04:35AM (#22516995)
I think React would be a pretty good example of the kind of thing I'm talking about, actually. Just to be clear: I like React and I'm building a product with it right now of my own free choice. It does what it was built to do very well.

The point I'm trying to make is that people often think in absolute terms. The problem isn't thinking "React is good for SPAs" - it's thinking "React is good for all websites". I've come across a number of engineers now who genuinely think React is a good fit for e.g. totally static sites, "because it's fast".

I've come across similar persistent beliefs around NoSQL databases. Some teams wouldn't begin to consider an RDBMS for their primary data store, even while their data is heavily relational - because "SQL databases don't scale".

It's not that technologies are good or bad - it's the blind belief that a given technology is best for all situations. The hype drives the development. Not of the underlying tech itself, but in the teams using that tech.

Re:Managed Kubernetes Price Comparison by quickthrower2 on Sunday March 08, 2020 @01:10AM (#22516601)
Yeah I agree web dev has settled imo on React/npm/typescript/webpack. I like the stability. Hooks is there for some excitement though!
Re:Managed Kubernetes Price Comparison by coryrc on Saturday March 07, 2020 @01:48PM (#22513240)
If you switch companies every two years for your first ten years, you make 50% more than someone who changed once. Companies have set it up so you must optimize your resume to get a competitive salary. Now, start giving 10% yearly raise as standard and maybe employees can afford to work on simple solutions.
Re:Managed Kubernetes Price Comparison by t-writescode on Sunday March 08, 2020 @03:02AM (#22516735)
I don't know. I'm a pretty big fan of staying with a company that treats me well and pays me well enough. I don't need a 300k / year salary when I have a team that respects me and that I respect and we work on interesting problems together.
Re:Managed Kubernetes Price Comparison by scarface74 on Sunday March 08, 2020 @08:00AM (#22517598)
A company that respects you wouldn’t pay you under market value.

If the same company had to hire someone else with your same skillset as they expand or replace a coworker, they would pay them market value. They would have to offer competitive salary. When that happens, you find new employees making more than equally skilled existing employees. It’s called salary inversion.

Re:Managed Kubernetes Price Comparison by t-writescode on Sunday March 08, 2020 @07:44PM (#22521542)
Well, some companies don't make enough to pay you market value;

but, the company I worked for was not paying higher wages for the newer employees than myself and I got pretty regular, pleasant raises.

Re:Managed Kubernetes Price Comparison by scarface74 on Sunday March 08, 2020 @07:56PM (#22521613)
Why would I sacrifice my finances because a company that didn’t have a business plan that allowed them to pay their employees market value? If the owner’s sold the business would they give you part of the proceeds?

I bet they talk about the company “being like a family”, don’t they?

Re:Managed Kubernetes Price Comparison by t-writescode on Monday March 09, 2020 @12:23AM (#22522978)
Well, let’s see. We did hackathons and competitions with nearly all employees in the company and many of the hackathons resulted in products or internal changes that went on to live in production and help grow the business. I had stock in the company, as well, so my improvements to the company could impact my own money.

It remains the best company I’ve ever worked for. Small and my opinion and actions actually had real impact to core features of the company, so :)

Worth it, I think.

Re:Managed Kubernetes Price Comparison by scarface74 on Monday March 09, 2020 @12:55AM (#22523089)
Now if you have significant equity in the company, that’s an entirely different story....
Re:Managed Kubernetes Price Comparison by t-writescode on Monday March 09, 2020 @08:26PM (#22531462)
I didn’t have significant equity. I had a few thousand dollars.

I did have direct influence into huge and important parts of that business, though and I really, actually was respected and given broad rein in what I could do. My coworkers and I also tended to have a great time working, and I had direct lines to the CTO. We talked often.

Re:Managed Kubernetes Price Comparison by the_other_b on Saturday March 07, 2020 @12:54PM (#22512906)

  If you're not going to build the next Facebook, why would you need so much complexity?
You don't. I think this is a recent point people are trying to make. Kubernetes makes sense at a certain scale, but for smaller startups it maybe shouldn't be the go to.
Re:Managed Kubernetes Price Comparison by DelightOne on Saturday March 07, 2020 @01:10PM (#22513005)
So if Kubernetes is too complex, then terraform is a Nono too?

I don't find them complex at all. You just tell the tools to be in a specific state and the tool applies the necessary changes. Server templates. Provisioning. Orchestration. etc.

Re:Managed Kubernetes Price Comparison by the_other_b on Saturday March 07, 2020 @01:41PM (#22513198)
I don't think theres a comparison there (or I'm just unsure of the point you're making with that statement). I agree, they aren't conceptually complex, but Kubernetes is a large scheduler that _definitely_ benefits from having a dedicated team managing it.

That being said, I always recommend using a tool like Terraform to back up infrastructure and the likes.

Re:Managed Kubernetes Price Comparison by DelightOne on Saturday March 07, 2020 @02:14PM (#22513393)
Maybe I didn't do enough with Kubernetes to need a dedicated team hmm.

The point I wanted to make is that my opinion is a bit different. Being able to declare how state should be instead of doing it imperatively/with configuration management is just something I enjoy and which I think does not cost much more in comparison.

That is why I wondered why not use it as a small startup?

Re:Managed Kubernetes Price Comparison by the_other_b on Saturday March 07, 2020 @09:53PM (#22516023)
You definitely still could if you feel the maintenance is manageable. This was just my experience :) I chose to go with something like Cloud Run.
Re:Managed Kubernetes Price Comparison by inapis on Sunday March 08, 2020 @03:42AM (#22516836)
Terraform and Ansible are not nonos! I use them for my small product and they are reliably good! Kubernetes has much more complexity and a steeper learning curve compared to those tools! But it has its own benefits. Apply what is necessary than what is fancy!
Re:Managed Kubernetes Price Comparison by spectramax on Saturday March 07, 2020 @01:07PM (#22512983)
Can you educate on at what point Kubernetes actually makes sense? Is there a rule of thumb?
Re:Managed Kubernetes Price Comparison by p_l on Saturday March 07, 2020 @01:22PM (#22513076)
When you need to run more than 1-2 applications, especially in HA, and you're cost-conscious so just throwing tons of machines in autoscaling groups doesn't work for you.

Said applications don't have to be applications that you're writing as part of your startup. It can be ElasticSearch cluster, Redis, tooling to run some kind of ETL that happens to be able to reuse your k8s cluster for task execution, CI/CD, etc. etc.

Re:Managed Kubernetes Price Comparison by the_other_b on Saturday March 07, 2020 @01:43PM (#22513210)
I don't think I'm in a position to answer this (heavily experienced outside the control plane, but not in), but if I had to answer I'd say:

Once you don't personally have your hand in every application your company is running (in addition to the points the other comments have brought up).

Re:Managed Kubernetes Price Comparison by halfmatthalfcat on Saturday March 07, 2020 @01:00PM (#22512954)
Because it removes both provisioning and deployment concerns when you can build a container and then just tell Kubernetes to deploy it onto the cluster. Theres not much that goes into spinning up these managed Kuberentes clusters. Most of it is telling them what classes of instances you want created.

When you buy a large instance, you still need to set up the instance and tweak it to your application's needs. You then need to babysit this node.

Re:Managed Kubernetes Price Comparison by warrenm on Friday March 13, 2020 @12:17PM (#22568491)
>When you buy a large instance, you still need to set up the instance and tweak it to your application's needs. You then need to babysit this node.

It's called "use kickstart"

Re:Managed Kubernetes Price Comparison by crypt1d on Saturday March 07, 2020 @12:56PM (#22512923)
I don't know why you are being down-voted, you are not wrong - Kubernetes is not something I would roll out at a start of a project. I think people are just excited to try it out so they often overlook the operational side of things.
Re:Managed Kubernetes Price Comparison by p_l on Saturday March 07, 2020 @01:24PM (#22513087)
Considering that once you get through possibly high upfront cost, it greatly simplifies operational side, I often get the feeling that the "you are not Google" crowd misses the operational side completely, or looks at it through rose-tinted glasses.
Re:Managed Kubernetes Price Comparison by petilon on Saturday March 07, 2020 @01:39PM (#22513186)
Absolutely agree. The point of Kubernetes is to simplify operational side. I use it for my hobby projects. There is some learning investment needed, but after that it simplifies things so much. You can use Kubernetes for simple projects that don't need to scale to the size of Google.
Re:Managed Kubernetes Price Comparison by p_l on Saturday March 07, 2020 @02:05PM (#22513339)
In another recent thread, I mentioned running ~62 apps on kubernetes, and people asking if it could be simplified to less.

They are mostly plain old PHP webapps, non-trivial amount of them Wordpress (shudduer), some done in random frameworks, some with ancient dependencies, some in node.js, one was ruby, etc. They are the equivalent of good old shared hosting stuff.

With kubernetes, we generally manage them in much simplified form, and definitely much cheaper than hosting multiple VMs to work around issues in conflicting dependencies at distro level or keeping track of our own builds of PHP.

We also run CI/CD on the same cluster. Ingress mechanics mean we have vastly simplified routing. Yes, we cheat a lot by using GKE instead of our own deployment of k8s, but we can manage that too, it's just cheaper that way.

Pretty much smooth sailing with little operational worries except the fact that Google's stackdriver IMO sucks :)

Re:Managed Kubernetes Price Comparison by eknkc on Saturday March 07, 2020 @01:08PM (#22512986)
It is a single point of failure. I want multiple smaller instances even if I’m running something trivial. It is not about scale but about reliability for us. And the moment I go with multiple instances I need something to manage that mess. Kube handles it well.
Re:Managed Kubernetes Price Comparison by spectramax on Saturday March 07, 2020 @01:09PM (#22512996)
I've used DigitalOcean's load balancer + multiple instances that run app containers. It works fine and without Kubernetes.

I wasn't saying that just use 24 core single instance. Perhaps I should have worded it better.

Re:Managed Kubernetes Price Comparison by eknkc on Saturday March 07, 2020 @02:28PM (#22513469)
Well a managed kubernetes cluster is not any more complex than the other solutions.

You can use GCP control panel to launch clusters, add nodes, launch containers expose and autoscale them without touching a single line of config file or a terminal if thats what you like. If you launch / manage your own cluster though.. It’s a pain.

Re:Managed Kubernetes Price Comparison by closeparen on Saturday March 07, 2020 @04:27PM (#22514213)
How do you obtain the right docker images and launch them with the right settings?

How do you coordinate rolling deployments?

(I'm not saying you need Kubernetes to do these things. But if you've written something to handle them, it is very probably Kubernetes-shaped).

Re:Managed Kubernetes Price Comparison by p_l on Saturday March 07, 2020 @01:20PM (#22513057)
It all depends on how many applications you really have to run. When you have one application, can depend on vendored services for some of the infra, or have sufficiently small requirements for extra services, it all works pretty well.

Helps if you also don't do due diligence on various things (like actually caring about logging and monitoring), so you scratch out those concerns. This is not even half sarcastic, people went pretty far with that.

You might probably still spend more time than you think on actual deployment and management due to lack of automation & standardization, but if you're sufficiently small on the backend it works.

When the number of concerns you have to manage rises and you want to optimize the infrastructure costs, things get weirder. Kubernetes' main offering is NOT scaling. It's providing a standardized control plane you can use to reduce the operational burden of managing often wildly different things that are components in your total infrastructure build - Things like infrastructural metrics and logging, your business metrics and logging, various extra software you might run to take care of stuff, making it easier to do HA, abstract away the underlying servers so you don't have to remember which server hosted which files or how the volumes were mounted (it can be as easy as classic old NFS/CIFS server with a rock-solid disk array, you just don't have to care about mounting the volumes on individual servers). It makes it easier to manage HTTPS routing in my experience (plop an nginx-ingress-controller with a host port, do a basic routing setup to push external HTTP/HTTPS traffic to those nodes that run it, get the bliss to forget about configuring individual Nginx configs anymore --- or use your cloud's Ingress controller, with little configuration difference!).

In my experience, k8s was a force multiplier to any kind of infrastructure work, because what used to be much more complex, even with automation tools like Puppet or Chef, now had a way to be nicely forced into packages that even self-arranged themselves on the servers, without me having to care about which server and where. Except for setting up a node on-prem, or very rare debug tasks (that usually can be later rebuilt using k8s apis to get another force-multiplier), I don't have to SSH to servers except maybe for fun. Sometimes I login to specific containers, but that falls under debugging and tweaking the applications I run, not the underlying infrastructure.

That's the offering - whether it is right for you, is another matter. Especially if you're in cash-rich SV startup, things like Heroku might be better. For me, the costs of running on PaaS are higher than getting another full-time engineer... and we manage to run k8s part-time.

Re:Managed Kubernetes Price Comparison by neop1x on Sunday March 08, 2020 @09:48PM (#22522198)
Single point of failure. What if your machine needs reboot to apply kernel patches. What if your network connection breaks.

Additionally, new crazy things are emerging like service mesh (Istio, Linkerd) which make observability and security easier.

Of course, it all is getting quite complex. But it brings value in the end.

Re:Managed Kubernetes Price Comparison by saber6 on Saturday March 07, 2020 @01:20PM (#22513061)
While I see a lot of derision about Kubernetes these days, if I am starting a Greenfield platform/design/product, why wouldn't I use it?

There are tremendous benefits to K8S. It isn't just hype.

On the flip side, starting out as a monolithic (all in one VM) app will take significant effort to transition to micro services / K8S.

If I think I might end up at microservices/K8S, I think I might as well plan for it (abstractly) initially.

Re:Managed Kubernetes Price Comparison by allset_ on Saturday March 07, 2020 @05:22PM (#22514630)
I believe this is the right way to think about it. You can start off with a relatively monolithic architecture, and then break that out into smaller microservices as needed with a much easier transition.