Live data from Hacker News

The Serverless Revolution Has Stalled

infoq.com

181–190 of 670 posts

Re: The Serverless Revolution Has Stalled

#181
post #147
post #25

Kind of surprised the article didn't mention lack of reasonable development environment. At least on AWS, the "SAM" experience has been probably the worst development experience I've ever had in ~20 years of web development. It's so slow (iteration speed) and you need to jump through a billion hoops of complexity all over the place. Even dealing with something as simple as loading environment variables for both local…

Take a look at the [CDK]( https://aws.amazon.com/cdk/ ) if you haven't already. It lets you define your infrastructure using TypeScript, which then compiles to CloudFormation. You can easily mix infrastructure and Lambda code in the same project if all you're doing is writing some NodeJS glue Lambdas which sounds like what you're looking for. There's a couple of sharp edges still but in general it just 'makes sense'.…

This doesn't solve the general lack of observability, lack of logging, and slowness of CloudFormation itself.

Re: The Serverless Revolution Has Stalled

#182
post #59

Earlier quoted context omitted.

Honestly, we've had a lot of fun with OpenFaaS and services that can publish to it. You'd be surprised how great it is to pass a parametized query and have it turned into a function quickly. Doing stupid things on AWS is really easy and sadly billing can be up to 24 hours delayed.

Isn't there some sort of security built-in, like "if suddenly the bill becomes 1500% the norm, kill the instance and start serving 404s"? (I know nothing about cloud, honestly curious)

OpenFaaS isn't lambda, it's a function as a service software that can be hosted as a docker container.

Re: The Serverless Revolution Has Stalled

#183

An interesting rant to be sure, but what the author misses (in my opinion of course) that serverless isn't new, it just isn't recognized by a lot of programmers for what it is. Serverless computing is exactly mainframe computing. And by exactly I mean exactly. You see when I was taking CS classes for my degree students bought something called "kilocoreseconds" (kCs) and they are exactly what they sound like, they are…

I generally agree that there is nothing new under the sun. But I also think history doesn't repeat, it rhymes. > When to mainframes kind of suck? Well when you don't know whether or not you want to use them. ... Ending up, nearly exactly back where they started except that now one company owns a mainframe and dozens of companies use it to run their bits of code. I think this reveals that there is an economic distinct…

I really like this observation as well, especially the "cost to first kCs" which, for me, is the one differentiator.

One of the things that amazed people was the Blekko, the search engine company, operated its own clusters in a data center rather than using AWS. We got a lot of side-eye for that but the numbers were pretty stunning. For our app, the cost of running that data center was about $120K/month, on Amazon (or IBM's cloud) that cost was at least $1.2M/month so 10x higher. What was even more of a pain that getting all the machines in the same racks so that they didn't share "east west" bandwidth with other racks in the data center was a huge ask for these folks, the proposed solution of over provisioning, made it just that much more expensive.

Re: The Serverless Revolution Has Stalled

#184

Earlier quoted context omitted.

I generally agree that there is nothing new under the sun. But I also think history doesn't repeat, it rhymes. > When to mainframes kind of suck? Well when you don't know whether or not you want to use them. ... Ending up, nearly exactly back where they started except that now one company owns a mainframe and dozens of companies use it to run their bits of code. I think this reveals that there is an economic distinct…

I really like this observation as well, especially the "cost to first kCs" which, for me, is the one differentiator. One of the things that amazed people was the Blekko, the search engine company, operated its own clusters in a data center rather than using AWS. We got a lot of side-eye for that but the numbers were pretty stunning. For our app, the cost of running that data center was about $120K/month, on Amazon (o…

From an outside view it seems like AWS has definitely arbitraged costs over time to collect a lot of money. Raw capacity that costs them $1 today costs them $0.80 next year, but they still sell it at the price they chose to cover the $1.

Having said that, there will be someone sprinting breathlessly into the thread to tell me that AWS has lowered prices on X a dozen times and on Y fourteen times and so on. But these decisions are made intermittently, by humans with bonus schemes, and AWS is harvesting the surplus in the meantime.

It feels from the outside as if retail Amazon pays serious, ongoing attention to selling at the minimum possible price, but AWS just doesn't feel the same pressure to do so.

Re: The Serverless Revolution Has Stalled

#185
Serverless is really just a specialized niche of PaaS. Smaller lighter functionality akin more to scripts rather than full applications, with more billing and scaling flexibility, and typically leveraging other cloud services to get things done.

Another big reason it's stalled is because PaaS has rapidly improved and now deploying a Docker container running whatever you want is just as fast and easy. No need for all the vendor lock-in, frameworks, complex environments and everything else when you can just package up a typical webapp and run it anywhere, even with the same billing (like GCP Cloud Run). In return you get a much better dev environment with all the existing tooling and best practices.

Re: The Serverless Revolution Has Stalled

#186
post #158

Earlier quoted context omitted.

We happily connection pool using sequelize by leveraging the fact that lambdas run in reusable containers. If the next lambda invocation happens within minutes of the previous one ending, you can carry forward a db connection from the older lambda, no magic needed. Just place your db connection object in global scope (nodejs).

Yeah, they can use the same connection for a while. The problem is that 1000 lambdas cannot use 50 connections while waiting their turn. Each of them wants a connection to the DB server. Now if you somehow get a spike of requests to some endpoint that goes over your DB connection limit, suddenly all your newly scaled functions fail because they cannot get a connection to the database. AWS added a service for RDS to d…

My view is that logic shouldn't be retrieving or storing data. Separation of Church and state, so to speak.

Re: The Serverless Revolution Has Stalled

#187
post #25

Kind of surprised the article didn't mention lack of reasonable development environment. At least on AWS, the "SAM" experience has been probably the worst development experience I've ever had in ~20 years of web development. It's so slow (iteration speed) and you need to jump through a billion hoops of complexity all over the place. Even dealing with something as simple as loading environment variables for both local…

Couldn’t agree more, the dev experience was awful. You basically have to develop against public AWS services, my dev machine became a glorified terminal. They do seem to be iterating on the tooling quickly, but I wouldn’t use it again if I had a choice.

Edit: CloudFormation was also painful for me, the docs were sparse and there were very few examples that helped me out.

Re: The Serverless Revolution Has Stalled

#188
post #25

Kind of surprised the article didn't mention lack of reasonable development environment. At least on AWS, the "SAM" experience has been probably the worst development experience I've ever had in ~20 years of web development. It's so slow (iteration speed) and you need to jump through a billion hoops of complexity all over the place. Even dealing with something as simple as loading environment variables for both local…

we use the serverless framework and use > serverless invoke local All the time for doing testing. You can pass in a json file that contains a simulated event to test different scenarios. Works very well for us.

Unfortunately, it has a lot of issues with how credentials are handled.

I believe they decided to re-create their own credentials chain and a lot of things are not working with MFA (like support for credential_process).

Re: The Serverless Revolution Has Stalled

#189

Serverless is really just a specialized niche of PaaS. Smaller lighter functionality akin more to scripts rather than full applications, with more billing and scaling flexibility, and typically leveraging other cloud services to get things done. Another big reason it's stalled is because PaaS has rapidly improved and now deploying a Docker container running whatever you want is just as fast and easy. No need for all…

I tend to agree.

This is not helped by the fact that cloud providers are approaching (and even in some cases surpassing) the complexity and price of running standard compute instances again.

It can be a lot trickier to navigate the nuances of ECS+Lambda than it is to run standard EC2 instances.

Even GCP is not immune, though I find it better in these areas, a common problem I have with cloud run for instance; is container instances which don't have permissions to talk to their linked/associated database, instead you have to instantiate a credentials file programatically inside the container.. which seems superfluous when you're the platform provider and you control both resources.

Re: The Serverless Revolution Has Stalled

#190
"You Can't Run Entire Applications".

I mean, what are we really calling serverless. Many serverless platforms, like fargate allow you to bring a container image, and whatever happens in that container image is non of fargate's business.

I agree with many of the points made though, and admit I am writing this reply mostly because the ckick baity headline got me.

Post reply on HN