Serverless is one of the most disrupting evolution of computing, without the need to manage infrastructure. This is the same thing when you user share a ride on Uber or Lyft : you do not think about cars or servers anymore. The engineers do not need to know how to operate an operating system, kernel, low level network as all that staff is delegated to the Serverless provider.
A Serverless application costs you nothing to run if nobody is using it, except data storage costs.
Most Serverless offerings are Function as a Service (FaaS) platform but Serverless offerings should not be reduced only too FaaS. This misinterpretation between Serverless and FaaS is due to the hyper growth of Amazon Lambda functions. Google AppEngine was the earliest Serverless offering amont the hyper scale cloud providers : it was released in 2008, more than 10 years ago.
Conversely all PaaS services are not Serverless. I often referred to Amazon Beanstalk that was released in 2011. This PaaS service offer a layer of abstraction for developers that could decide to build their environment and deploy codes without managing load balancer, OS, middleware, security groups, autoscaling, etc… This is a powerful PaaS service that offers the possibility to regain full control of underlying services later if needed.
Latest biggest changes in Serverless landscape include the launch of Serverless services that supports Docker container with Amazon Fargate in 2017 and Google Cloud Run in 2019. This reduces locking-in when fast reversibility is a real business constraint. Otherwise I have witnessed that reversibility is often used as a reason to slow cloud adoption although this reversibility need is often over-rated and business value benefit with Serverless is often under-rated.
The missing part in the Serverless environment is storage. Unstructured data can be managed as objects on Amazon S3 or Google Cloud Storage. The semi-structured data could be managed with Google Firebase or Datastore or Amazon DynamoDB. Finally Amazon released last year Aurora Serverless to offer Serverless relational database : it scales from 0 to thousands of instances.
Adoption of Serverless
The current pattern I often see is starting to run Serverless cron jobs. Then new applications are created with Serverless services to reduce time to market and experimentation costs. After several successes, teams start move some back-office to Serverless architecture. Finally they finish with the more mission-critical systems. DevOps team finds the perfect companion with Serverless services with an application environment that just works all the time, and make rolling deployment and A/B testing smoother than ever.
From a cost-benefit perspective, only the used computing power is billed, rather than paying VM that are idle most of the time or not totally used when auto-scaling is well configured. Most of the operations are eliminated during the lifecycle of the applications (patching, backup, configuration, network, etc…).
Serverless journey of ComicRelief reminds to the unconvinced ones that serverless drop by 90% the Cloud invoice as experienced within Veolia applications that have been built or rebuilt with Serverless only architecture.
Serverless is more than a hype technology or a buzz word but a real game changer in enterprises. Between the end of 2018 and the end of 2020, the portion of global enterprises that will have deployed Serverless application will skyrocket, from 5 percent to more than 20 percent. This is the perfect companion of every DevOps team with an application back-end infrastructure that just works all the time and scales automatically. The operating costs drop suddenly with end-to-end Serverless applications. It frees a lot of time to improve the application features and generate more business value than ever.
Serverless provides business benefits that makes it unavoidable for any successful IT organisations.