Overview [1][2]#
Serverless is an Architecture and there’s no one clear view of what ‘Serverless’ is, and that isn't helped by it really coming to mean two different but overlapping areas:- Serverless was first used to describe applications that significantly or fully depend on third-party applications / services ("in the cloud") to manage server-side logic and state. These are typically "rich client" applications (think single page web apps, or mobile apps) that use the vast ecosystem of cloud computing accessible databases (like Parse, Firebase), authentication services (Auth0, AWS Cognito), etc. These types of services have been previously described as ‘(Mobile) Backend as a Service’, and we will be using ‘BaaS’ as a shorthand.
- Serverless can also mean applications where some amount of server-side logic is still written by the application developer but unlike traditional architectures is run in stateless Containers that are event-triggered, ephemeral (may only last for one invocation), and fully managed by a Third-party. (Thanks to ThoughtWorks for their definition in their most recent Tech Radar
.)
Both of these imply Cloud computing and remember the real definition of Cloud computing is: "Other people's computers"
One way to think of this is Functions as a Service (FaaS)'.
More Information#
There might be more information for this subject on one of the following:- API-Gateway
- AWS Lambda
- Azure Functions
- BigQuery
- Functions as a Service
- Google Cloud Functions
- OpenWhisk
- Persistent Compute Objects
- Web Blog_blogentry_040817_1
- Web Blog_blogentry_131016_1
- Webtask
- [#1] - Serverless Architectures
- based on information obtained 2016-10-13
- [#2] - The Comprehensive Guide to Serverless Architecture
- based on information obtained 2017-12-15