Comment by locknitpicker

10 days ago

> Serverless means spinning compute resources up on demand in the cloud vs. running a server permanently.

Not quite. Serverless means you can run a server permanently, but you need pay someone else to manage the infrastructure for you.

You might be conflating "cloud" with serverless. Serverless is where developers can focus on code, with little care of the infrastructure it runs on, and is pay-as-you-go.

  • > You might be conflating "cloud" with serverless. Serverless is where developers can focus on code, with little care of the infrastructure it runs on, and is pay-as-you-go.

    That's not what serverless means at all. Most function-as-a-service offerings require developers to bother about infrastructure aspects, such as runtimes and even underlying OS.

    They just don't bother about managing it. They deploy their code on their choice of infrastructure, and go on with their lives.

    • A runtime is notably NOT infrastructure, had you said instruction set you might have landed closer to making a compelling argument, but the whole point is that AWS (and other providers) abstract away the underlying infrastructure and allow the developers to as I said, have "little care of the infrastructure it runs on". There is often advanced networking that CAN be configured, as well as other infrastructure components developers can choose to configure.

Close. It means there's no persistent infra charges and you're charged on use. You dont run anything permanently.

  • It still doesn't capture the concept because, say, both AWS Lambda and EC2 can be run just for 5 minutes and only one of them is called serverless.

    • Unless the engineer takes steps to spin down EC2 infrastructure after execution, it is absolutely persistent compute that you're billed for whether you are doing actual processing or not. Whereas lambda and other services are billed only for execution time.

Depends if you mean "server" as in piece of metal (or vm), or as in "a daemon"