Live data from Hacker News

The Serverless Revolution Has Stalled

infoq.com

321–330 of 670 posts

Re: The Serverless Revolution Has Stalled

#321

Earlier quoted context omitted.

How is owning an AWS account easier than a cheap dedicates server? You should have a code repo and backups in either case. At least some people mention "but I can scale this lambda x1000" and that's one advantage... But you can do all those tasks on a hetzner server in same amount of type, just python scripts.

Because that "cheap dedicated server" isn't all that cheap. Just the documentation for backups on your Hetzner server is ridiculous. Why, in the 21st century, should I as an application developer ever have to worry about that? Let's say that Hetzner server goes completely toast at 2am and you get a pingdom message. You log in, realize you have to restore from backup. You fire up a new instance, and go through your re…

> Just the documentation for backups on your Hetzner server is ridiculous.

Nothing a server template, code repo, and daily db dump cronjob can't solve

Re: The Serverless Revolution Has Stalled

#322

Earlier quoted context omitted.

I have run AWS vs colo at scale. For the cost of precisely 1 engineer fully loaded, I can have 500TB of bandwidth per month, every month. Guess what, it isn't going to take just 1 engineer to maintain your homegrown worldwide CDN. Does it make sense for FAANG to run their own datacenters? Yes of course. Does it make sense for you? No. This is what I don't get about arguments for running a bunch of VPSs-- for literall…

Maybe it's hubris, but I'm 99% sure I could run a homegrown worldwide CDN for the cost of one engineer salary. I'd be willing to take that bet from anyone who thinks it can't be done.

But are you including your own salary into that cost?

I believe he is comparing aws bills vs. engineer time+other hosting bills.

Re: The Serverless Revolution Has Stalled

#323

Earlier quoted context omitted.

I have run AWS vs colo at scale. For the cost of precisely 1 engineer fully loaded, I can have 500TB of bandwidth per month, every month. Guess what, it isn't going to take just 1 engineer to maintain your homegrown worldwide CDN. Does it make sense for FAANG to run their own datacenters? Yes of course. Does it make sense for you? No. This is what I don't get about arguments for running a bunch of VPSs-- for literall…

Maybe it's hubris, but I'm 99% sure I could run a homegrown worldwide CDN for the cost of one engineer salary. I'd be willing to take that bet from anyone who thinks it can't be done.

Maybe you’re extraordinary, and for most people it’s not worth it.

Re: The Serverless Revolution Has Stalled

#324
post #245

Earlier quoted context omitted.

Because you need two servers. One to run the application. One to run the application while the first is being upgraded. Now you need three servers, one to run the application, one as backup and one as load balancer. 99.99% uptime means you can be down no more than an hour a year. Which is really easy to overshoot when you're dicking around with a dist upgrade on three linux boxes. So that's why you end up with a serv…

Basically nothing I have ever used had 99.99% uptime except maybe the phone and emergency services. Why do you need this level of uptime unless life and limb depends on you? My bank has regular scheduled downtime, Steam/Dota has regular downtime, entire Microsoft datacenters had issues and had around a day of downtime, Lime, Uber, my mobile carrier - all had downtime or bugs or glitches that were equivalent to downti…

But we can just stick my flavor of the month js library on lambda and bobs your uncle

Re: The Serverless Revolution Has Stalled

#325
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…

If you are expecting one thousand simultaneous requests, serverless or not, you will need a db and an appserver which support one thousand simultaneous connections. There is no getting around that.

You will have to analyze your burst rate and the lifetime of each request to figure out the size of your connection pool.

I also am not clear how AWS introduced the problem of not being able to connect to the DB. We've known about the need for connection pools and connection reuse from before AWS was a thing, no?

Re: The Serverless Revolution Has Stalled

#326
Ah. I've been on the road all day and caught this thread too late.

The reason that the "Serverless Revolution" appears to have stalled is that the customers who have the most to gain from serverless technologies have the least ability to recognize that the technologies they're using are actually serverless. Nor do they care.

In its most reductive form, "serverless" just means "SaaS." And Shopify store owners, for example, don't care about how many servers they run -- they care about how many snowboards they can sell. They could maintain one, twenty, or twenty thousand, or zero -- if the cost to run these things and provide value on top is abstracted away by a few tools it doesn't really matter. So you can use i.e. AWS Lambda to solve their problems, or you could sell ShopifyStoreManagerPlus but they don't care what it's called. They just care that they sold more snowboards.

So "serverless" stalled because the target audience doesn't actually care about the implementation, so the smart companies selling "serverless" solutions all dropped the lingo. AWS Lambda is just another tool in the toolchain; an engine and crankshaft instead of a horseless carriage.

Re: The Serverless Revolution Has Stalled

#327
post #314

Earlier quoted context omitted.

What about the psychological stress of a massive AWS bill because of a misconfiguration by you or someone on your team?

A very good point. Exchange the risk of a problem taking you offline, losing sales, for the risk of a problem not taking you offline, costing you a fortune. That's a big selling point for DigitalOcean: you sleep easy knowing what your bill will be. If you have an unexpected spike in traffic--whether a great opportunity, a mistaken test run wild, or a DDoS--it doesn't increase your bill. AWS offers the opposite: no ma…

A middle ground between both would be ideal. Does AWS offer settings to cap your spendings? (I googled and found AWS Budgets but it seems to be only an alerting system, not a cap.)

Re: The Serverless Revolution Has Stalled

#328

As someone on a two-man-team who runs a lot of little "utility" functions in AWS Lambda with the Serverless Framework[1] to support our DevOps / Build processes, it's been one of the most productive tools in my toolkit (after the initial learning curve, of course). It allows me to stand up a practically maintenance-free endpoint in a matter of hours (usually to glue separate services together): * Want to run a quick…

I'm ignorant How does a build trigger the serverless function to notify all of you? I kind of assume serverless means it activates on a timer or when you visit a specific URL. So a build script executes it by visiting a URL when it's finished? And the script executes from any internet connected machine? Why is it better than having a VPS? I currently use a VPS for a few one off scripts. Cron does the timer ones and t…

Serverless functions can be set on a timer exactly like cron jobs. But you can also set them to act on certain triggers, when a message comes into an SQS queue, when a notification goes to an SNS topic, etc.

You can do the same with a VPS, but I think VPS cost more because you pay for all the time you're not using them. With serverless functions you only pay for execution time. And with one-off, daily, hourly jobs you end up paying far less, unless your jobs are compute intensive (cron jobs tend to not be...?)

I have seen some VPS these days come in at like $2 a month though, so it's worth comparing the cost.

Re: The Serverless Revolution Has Stalled

#329

Earlier quoted context omitted.

This is so naive. Unless you’re just creating utilities all day long, at some point you’ll actually have a production service that people are using that needs to be monitored, even if it is build out of lambda functions. And unless you’ve run AWS vs colo at scale, you have no concept of the orders of magnitude cost savings on bandwidth (at 95th percentile billing vs per gig) and compute.

I have run AWS vs colo at scale. For the cost of precisely 1 engineer fully loaded, I can have 500TB of bandwidth per month, every month. Guess what, it isn't going to take just 1 engineer to maintain your homegrown worldwide CDN. Does it make sense for FAANG to run their own datacenters? Yes of course. Does it make sense for you? No. This is what I don't get about arguments for running a bunch of VPSs-- for literall…

You seem to forget there is are a ton of people who grew up on bare metal and know it quite well. And they can squeeze far more performance out of it then you could ever hope to see with outsourcing business-critical infra to a supplier who literally doesn't give a shit about you.

Have fun with an army of one-trick pony hires. One old-school diehard computer nerd knows enough to supplant 10 of those fools, but only costs 2x.

Re: The Serverless Revolution Has Stalled

#330

Earlier quoted context omitted.

Because that "cheap dedicated server" isn't all that cheap. Just the documentation for backups on your Hetzner server is ridiculous. Why, in the 21st century, should I as an application developer ever have to worry about that? Let's say that Hetzner server goes completely toast at 2am and you get a pingdom message. You log in, realize you have to restore from backup. You fire up a new instance, and go through your re…

> Just the documentation for backups on your Hetzner server is ridiculous. Nothing a server template, code repo, and daily db dump cronjob can't solve

I’m assuming this is a joke, but this is exactly what most people who just want to run some code don’t want to deal with.
Post reply on HN