DEV Community

Discussion on: FaaS != Serverless –> discussion

byrro profile image
Renato Byrro • Edited on

How I see "serverless" is a system that abstracts away from me (developer) the need to think and care about provisioning, scaling and maintaining infrastructure.

SQS and S3 services predate Lambda by many years, but they fit the "serverless" category because they meet the key principle above.

I also think there are secondary - but still highly important - characteristics of a "serverless" system:

Pricing is ideally a variable of actual usage, which reduces waste with idle resources and reduces the financial risks for users.

There should be clarity around SLAs. Not only availability, but specific service metrics. If it's a database, how many queries can I make per second at max? If it's a compute platform, how many jobs can I run concurrently?

AWS, for example, provides clear service limits (and allow to increase them if needed, per request). It allows developers to model the application to how the infrastructure will behave. And we can trust is will behave that way almost all the time. That's very difficult to accomplish when we're deploying and managing our own infrastructure.