27 comments

[ 2.9 ms ] story [ 66.7 ms ] thread
"Ride the serverless wave by creating and maintaining a server"
You beat me to it. While this looks like some fairly cool automation, the very first step is to create a bloody server.
This is a funny thing, but still, having a "Function as a Service" is a nice tool to have, regardless of how truly "serverless" it is. Lambda, et al offer the convenience of not having to run your own server, but a FaaS is a great concept regardless of whether you're hosting it yourself or using a cloud provider's version.
I don't see how. I thought the whole use case for FaaS is that you're only paying for the literally milliseconds of compute time you use, and nothing more.

But if you're already paying for the server, what's the point? I suppose you could host a lot more low-volume apps on one server?

This is pretty edge case for who it would be useful for in my opinion?

I have a small droplet on digital ocean I use to host a few small personal projects. $5/month is pretty reasonable and if I don't want to sign up for AWS, this is a fairly beneficial thing to know about.

For people who want to use serverless functionality for cost benefit, it's probably not as helpful.

Serious question, what is the benefit to "serverless functionality" if not financial? The only benefit I'm aware of in micro-/milli-second level billing, and the infrastructure being obfuscated away from you.
Personally, it would be the benefit of not running 10+ express apps on a small server 24/7. I use a small server for personal projects and the traffic they get is minimal, but I also run a few small utilities off the same low-spec server 24/7. This is about the only benefit I see personally for me
Ok, we get it, “serverless” doesn’t mean “without a server.” its a misnomer. Can we all accept this now and talk about it underneath the semantics or does someone have the power to change it industry-wide?

Just feels like every discussion about this technology is hijacked by the stupid nameto the point it’s all some can focus on.

Normally, running a serverless App on something like AWS or GCP doesn't involve actually setting up a server as a part of the workflow.
"Serverless" isn't a misnomer. It's the movement of management of everything below some API and/or Runtime to outside of your organization.

A technology can enable a serverless culture within an organization, but that doesn't mean every deployment of a so-called "serverless" technology is actually serverless. If I write a lambda function, but then my ops team deploys it on a piece of metal running in their closet, its not serverless. Inversely, I can write a traditional stateful NodeJS app and give it to Heroku, and it becomes Serverless.

In that sense, Serverless isn't really a quality of the technology, though certain technologies are optimized to be serverless. Its a quality of how its deployed, and more importantly your organizational culture around that. Of course, technologists hate this definition because we can't just call whatever we want Serverless. Moreover, Serverless starts seeming a lot less like the desired end-state we should aim for; often it makes sense to manage your own servers, just like it sometimes makes sense to manage your own hardware.

OpenFaaS can totally be serverless. But to qualify, we'd have to be talking about an underlying Kubernetes infrastructure that abstracts the metal and OS away, so something like Fargate or Azure Containers. Certainly not on DigitalOcean. Here's the signal: If I can SSH into something within the stack, it's not Serverless.

There are shipload of "one-clicks" while doing this.
Aws lambda is serverless. This is not because you have to maintain a server
"Serverless" is one of the worst misnomers I've ever seen.
"Serverless" is just "server as a service". Horrible misnomer indeed.
My naive take is that serverless is just a movement back to the simplicity of ftp + cgi / php. It all looks very similar, just with a different pricing model, and a different implementation cloud computing vs shared hosting.
In what ways do they look similar?
Not GP, but uploading a single Javascript function to AWS in the form of a zip file is essentially identical to uploading an individual PHP script to a shared host via FTP/SFTP. The workflow around that process (or rather, the lack of workflow) is the same as the process for developing CGI applications in the 90s/early 2000s.

Of course, Serverless also offers elastic scaling and non-HTTP triggers, so that's a point of difference.

For all the talk of elastic scaling, I suspect that a lot of people are enjoying the idea of Serverless at the moment simply because it harks back to an earlier, pre-framework, pre-workflow approach to web development.

The scaling of serverless functions is a pretty major point of difference between them and SFTPing a PHP script to a shared web host. Another difference is isolation of your code from anyone else's code; this can vary widely between shared host vendors but with serverless functions you don't "neighbors" to worry about, in terms of server load or security (their code being exploited or your code being exploited).

Serverless functions seems like a nice addition to sites that are 98% static but need a little server-side code specific to the task.

This is just for the MVP. The next phase is to take all those functions, package them up in a monolithic framework so they can work together and then deploy to a machine in the office's server closet.
on a side note, heroku can be really nice serverless provider. The instances can be created (using the API) in a couple of seconds. And you can run anything in it.
Are you suggesting that an end user should be able to click a button on your site that will run client-side JavaScript spin up a Heroku instance to perform an action? That sounds dangerous and slow. How is destruction of the instance handled?
Doesn't sound like the world's best idea, but I guess it could potentially work on things like ETL or maintenance tasks - not so much for quicker, end user operations at scale.
no, I am suggesting using it based on what it provides. Lag 2-3 seconds, power: multi-cpu, up to 12 GB ram. So obviously it's not for trivial cases like "click a button, spin up a lambda" but more to "upload a video, spin up instance to resize/shrink/format/compress".

Serverless has many use cases.

Will we ever get to the point where we can talk about "serverless" (FaaS) without half the comments being about the term?
When people start saying FaaS or something else specific instead of "serverless" probably.
How is FaaS different from other RPC technologies that already exist like CORBA or SOAP?
I've seen plenty of articles about Lambda where aside from one or two quips about "Acktually, it's not really serverless yanno" the comments are largely constructive or technical.

But this is "use serverless by setting up and managing one of our servers," so I think the derision is pretty well placed, and I say that as a huge fan of DigitalOcean.