Live data from Hacker News

Serverless: I'm a Big Kid Now

simplethread.com

31–40 of 71 posts

Re: Serverless: I'm a Big Kid Now

#31
post #6

Isn't the article's vision of things like Kubernetes (and similar) a bit too idyllic? I've heard talks by experienced K8s adopters (I want to say "Kubernetes failure stories", but googling comes up with similar hits but not the specific talk I was thinking of) where they mention that when K8s goes bad, it has all the negatives or knowing the "traditional" tech stack plus all the failure modes of K8s itself. They argu…

I agree.

Ultimately I think it's just another leaky abstraction like so many other things we do. Wonderful when it works as intended and less so when it goes wrong.

I also think that the more layers of software and management you add in makes it more complicated to troubleshoot, you simply get a lot more to learn in order to understand things.

One of my life philosophies is "It's always more complicated", meaning when you think you understand something you've barely just started scratching the surface of the complexity of it.

I can understand the pull of the container and lambda style workflows, you gain feature velocity which is ultimately what gains you the business. On the flip side, I also suspect that it builds technical debt faster.

Re: Serverless: I'm a Big Kid Now

#32

> Nobody wants to manage servers. Managing servers is a nasty side effect of wanting to execute code. Actually, I am setting up a serverless app now. 4-5 lambdas, s3 buckets, RDS, IAM roles, and 6 weeks (easily) getting everything into CFT's and Ansible so that I can deploy this relatively small app. You know how I would replace all that stuff? 1 single VM. (Alright, maybe 2, 1 for the database.) A server buys you ea…

1 VM and managed database service. Couple mins to deploy. I’ve drank the serverless koolaide before.

I find it makes sense more for my uses cases to use it as a tool if I need to extend a monolithic app, not as a standard to create an app.

Re: Serverless: I'm a Big Kid Now

#33
post #20

> Nobody wants to manage servers. Managing servers is a nasty side effect of wanting to execute code. Actually, I am setting up a serverless app now. 4-5 lambdas, s3 buckets, RDS, IAM roles, and 6 weeks (easily) getting everything into CFT's and Ansible so that I can deploy this relatively small app. You know how I would replace all that stuff? 1 single VM. (Alright, maybe 2, 1 for the database.) A server buys you ea…

I can see both sides, and have used both sides (at my last company we used 1500-2000 EC2 instances at any given time and at my current company we have one non-critical EC2 instance and then a bunch of cloud functions on Firebase/GoogleCloud, though the current company is much earlier in its life than the former one). For a new project, serverless seems to involve a ton of momentum-stealing upfront work before you can…

> you do always feel one step further removed from your code, so it can be a pain to debug and troubleshoot.

This reminded me of a story I heard about RMS's kernel, GNU Hurd. Linux being built as a monolith in the 90's, Hurd was being built as a microkernel (microservices) architecture. Guess which one was easier to debug[1]?

1: https://biblioweb.sindominio.net/telematica/open-sources-htm...

Re: Serverless: I'm a Big Kid Now

#34
post #18
post #14

Earlier quoted context omitted.

I don’t dispute that serverless deployments are a mess. But I look at it the other way: they make you deal with scaling up front, whether you need it or not. RDS, S3, all that... it scales to huge volumes. Your single VM will not. You can set up auto scaling with multiple VMs but by that point you’re going to be dealing with a lot of the issues you have with serverless deployments. Now, could a lot of serverless depl…

Right, I’m a big fan of the monolith, but that doesn’t preclude anything you just described. Absolutely use RDS. Absolutely use S3. Even on a low traffic app. But what I see a lot of is engineering teams making sweeping consistency judgements. RDS and S3 are great as services, everything should be a (micro)service. Our calendar feels amazing as a React SPA—everything should be built in React. No. 90% of a product is…

This! Lol I even went one step further.. On my monolithic apps I use the language framework mvc or mvvm option. (Currently developing on Asp.net) and only has spa on a complicated page! My productivity has been great. Coming from someone with a background across just about all backend frameworks and working with spas since pre angular 1.0.

Re: Serverless: I'm a Big Kid Now

#35
> Serverless container services such as ... Google Kubernetes Engine ... You don’t have to worry about running the cluster that hosts your control servers, node servers

You don't have to worry about it, you get to worry about it.

At least from a cost perspective, GKE isn't serverless. Also I always end up with 2 node pools because the default one is misconfigured. Also kube runs so much crap that the first node barely fits any app containers.

Wouldn't call GKE a win for 'not managing nodes'.

Re: Serverless: I'm a Big Kid Now

#36
post #17
post #6

Isn't the article's vision of things like Kubernetes (and similar) a bit too idyllic? I've heard talks by experienced K8s adopters (I want to say "Kubernetes failure stories", but googling comes up with similar hits but not the specific talk I was thinking of) where they mention that when K8s goes bad, it has all the negatives or knowing the "traditional" tech stack plus all the failure modes of K8s itself. They argu…

Some of these stories (I just Googled for "kubernetes failure stories") have little to do with K8s. This one[1] is just whining that his app is slow when it runs out of CPU. That's more of a "I don't know what I'm doing" story, isn't it? Lifting the CPU rate limits in a container is not exactly a cost-free magic wand. 1: https://medium.com/omio-engineering/cpu-limits-and-aggressiv...

> That's more of a "I don't know what I'm doing" story, isn't it?

Sure, but k8s is big enough that "very few people know what they're doing" is a valid argument. It's loosely like saying that git sucks because the technology is solid but it's extremely complex and hard to get a grasp on.

Re: Serverless: I'm a Big Kid Now

#37
post #30

I feel we need to move beyond the "serverless" nomenclature. Although, what would be better? Remote Lambdas ?

Lambda is a "Function as a Service" product and FaaS is (usually) serverless in nature.

S3, DynamoDB, AppSync, API-Gateway, and Faregate are also serverless, but not FaaS products.

Re: Serverless: I'm a Big Kid Now

#38
> Security – The operating system installed in a container is usually short-lived, very minimal, and sometimes read-only. It therefore provides a much smaller attack surface than a typical general purpose and long-lived server environment.

Is this true? I always thought things like Docker are massively insecure because they don't respond to the threat landscape that well, since they are kind of 'frozen in time' and kept that way for years at a time without any critical security updates.

Re: Serverless: I'm a Big Kid Now

#39
post #3

One pain point I have is that functions as a service systems like Lambda have an special event format - this is sorted out by tools like Up which will install a small adapter and let you run your normal Http server in lambda. https://apex.sh/docs/up/ Besides this, the other service I like is Fly https://fly.io/ with lets me submit a container and runs that all over the world where necessary. Google Cloud Run does som…

You can now deploy apps on Cloud Run to different regions and use Google's HTTPS Load Balancer to traffic them with a serverless endpoint group.

Re: Serverless: I'm a Big Kid Now

#40
post #17

Earlier quoted context omitted.

Some of these stories (I just Googled for "kubernetes failure stories") have little to do with K8s. This one[1] is just whining that his app is slow when it runs out of CPU. That's more of a "I don't know what I'm doing" story, isn't it? Lifting the CPU rate limits in a container is not exactly a cost-free magic wand. 1: https://medium.com/omio-engineering/cpu-limits-and-aggressiv...

> That's more of a "I don't know what I'm doing" story, isn't it? Sure, but k8s is big enough that "very few people know what they're doing" is a valid argument. It's loosely like saying that git sucks because the technology is solid but it's extremely complex and hard to get a grasp on.

I don't think the ergonomics of k8s are anywhere near as bad as those of git. I think the perception of k8s as complex and confusing is promulgated by people who already don't understand how their process starts and runs on any given Linux box without container orchestration. Naturally these people are overwhelmed by adding k8s on top.

The article to which I linked describes itself as "a wild ride of discovery" but all that has been discovered is basic aspects of the Linux process scheduler. The author could have skipped the wild ride if they had understood Linux first.

Post reply on HN