The term and meaning of serverless has been vigorously debated. Most of the discussion is dominated by application development thinking and revolves around front-end vs. back-end development and the use of serverless functions.
We believe serverless is as much of a methodology and philosophy as it is a technical architecture. The application development lens is too narrow in scope for this important shift in cloud computing.
To illustrate what we mean there are services that do not fall into the traditional application development debate like Google BigQuery. BigQuery is a fully managed service that does not require you to worry about provisioning and deployment of the data warehouse. You simply write SQL queries and pay for how much data is returned. This service by definition would be serverless. There are a number of services like this.
The reality is there is a spectrum between un-managed and fully managed that other services fall into. We understand that not all applications, new or legacy, can be completely serverless. However, organizations should aspire to move their applications and infrastructure as far into the serverless spectrum as possible. Doing this over time will eventually result in a snow-ball effect resulting in faster development times, innovation cycles and overall lower cost due to less ‘technical debt’.
Like most technical shifts, there is a tremendous amount of hype and promise associated with serverless. We understand not all applications and services make sense as a serverless capability. There is a pragmatic approach that needs to be taken to understand technical feasibility and cost.