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.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
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.