Serverless Computing From A Misnomer to the Next Big Thing

Serverless computing

The Cloud Computing world has seen new developments coming to life at a breakneck speed. While the industry was still catching up with flexible and on-demand infrastructure provisioning, most of the world’s top cloud providers have already turned a notch up by introducing Serverless Computing.

Serverless computing refers to a new way of creating cloud based applications that shifts the onus of heavy infrastructure lifting to the cloud service providers such as Amazon, Microsoft and Google. This means that the developers can just focus on creating applications without needing to worry about the server provisioning or storage allocations.

The term ‘Serverless’ is a bit of misnomer. There are still servers involved, just that their management and provisioning is hidden from the developers. It’s a higher level of abstraction and is commonly referred to as Function as a Service (FaaS). Each function lives as an independent module, which is brought to life when triggered with an internal or external event. The server hosting the function is ‘spun down’ when the processing is complete. It is conceptually similar to Microservice Architecture, wherein every service in an architecture lives as an independent module.

Function as a Service has been a huge adoption in cases where Data Processing (both online and offline) and Stream / File Processing is involved. A lot of web applications have also included FaaS in their backend architecture to handle discrete operations. An example use case could be a popular digital magazine using a FaaS to resize images according to different screen sizes, as and when they’re uploaded.

Serverless Computing Services

Serverless Computing is a very recent development in Cloud Computing, first offered by (wikipedia) in the year 2014. Since then, most of the Cloud Computing service providers have added FaaS to their list of offerings. Some of the more popular ones are:

  • AWS Lambda
  • Apache OpenWhisk
  • Microsoft Azure Functions
  • Google Cloud Functions

One of the biggest reasons behind the large scale adoption of Serverless Computing service is the cost benefits that come with it. Because the service providers bill on a metered usage of servers, there’s a clear advantage over renting or owning of servers. Serverless Computing servers turn out to be more cost efficient even compared to the autoscaling servers, due to efficient bin-packing.

Employing a Serverless Computing service frees the developers from worrying about scaling and deployments. It reduces the Operational burden on an organisation. On the flipside, a serverless code might show a higher latency as the service provider will ‘spin down’ the server when not in use. So, if the runtime requires significant time to start, it will add extra latency to the application.

The Future

Technology leaders across the world are bullish towards a Cloud based future with Serverless computing being typical paradigm. Nick Rockwell, CTO of The New York Times has been a public advocate of going serverless. Not just with Functions (which are smaller, less complex than full blown applications), Nick feels that a complete Platform as a Service, wherein the organisations can focus only on the Development and not Operations, has a very bright future. He’s termed the opposition to serverless, as ‘futile’. (link)

“As a CTO, I spend so much more money on development than infrastructure. If serverless helps optimize development, that has a bigger impact on the organization”, he said in a recent interview. In another interview AWS Chief Executive, Andy Jassy agreed that serverless adoption has been very rapid. “The torrid pace of adoption and innovation in the serverless space has totally blown us away,” he said.

VP of Cloud at Expedia, Subbu Allamaraju tweeted a while back, “Serverless patterns are pulling the rug from underneath container cluster managers faster than the latter becoming industrial grade”. The conversation moved on to cost vs managed benefits. But the general consensus was in the favour of managed serverless systems.

Madhavan Srinivasan

Managing Director – Products and Solutions