Is Serverless Computing the future?

Harsha Vardhan
3 min readMay 9, 2021

Ever since Amazon has launched AWS Lambda in 2014 this particular question has been one of the prominent in the DevOps community. Following the principles of KISS(Keep it simple, soldier), the article will focus on 4 simple yet important questions in the DevOps community.

  1. What is Serverless Computing?
  2. Why use Serverless Computing?
  3. When to use Serverless architecture?
  4. Is Serverless the future?

How our Deployment Models have Evolved over the Years:

On the Y-Axis, you can see increasing Business focus on Logic so that you are concerned more about writing Code and less about the underlying Infra involved.

On the X-Axis, you can see Increasing Stack Independence, which means that you are in less control of what goes behind the scenes when you deploy your Code.

Bare Metal:

  • Had to be managed and configured Ourselves. Right from Installing OS, setting up Environment to Configuring Patches if required from time to time.
  • Quite Time Consuming !!

Virtual Machines:

  • Much more Resource Optimised than Bare Metal.
  • Less Resource Consumption Idle Time too. But still requires OS Installation and setting up the requisite Environment.
  • A bit optimized but still Time Consuming !!

Containers:

  • One can package her Deployment Code (Including all the Libraries and Dependencies Involved) into a single Container which could run on any underlying Infrastructure.
  • Did simplify a lot of things from the Deployment point of view. But still Scaling and orchestrating them requires our Intervention.

What is Serverless Computing?

Serverless computing allows to build and run applications without worrying about the servers and containers. But wait? How can an application run without a server. “Serverless” is a misnomer in the sense that servers are still used by cloud service providers to execute code for developers.

Ah!! Let’s Boil it Down

Serverless means that you are NOT responsible for managing and provisioning these Servers, it’s outsourced to the Cloud Provider whereas you, my Friend are Developer Focused as you focus on writing Code and developing Business Logic !!

Why use Serverless Architecture?

Businesses have to spend a lot of resources on

Advantage 1 — Can be easily Scaled up and Down and no underlying Hardware Maintenance Required.

Advantage 2 — Pay only for the computing resources which have been used.

Advantage 3 — Preferrable for Event-driven and short-run tasks

When to use Serverless Computing?

The problem with Servers is that they are NOT Flexible. Hosting your Own Website on your own Server is Good, but if you only have a handful of Visitors for your Website every day then your Server will remain Idle for most of the time.
Here, you are paying for a Server that has a certain capacity but most of it goes Waste because you are not using it!

Even the Opposite might happen. Your server gets overwhelmed with many visitors who are trying to load it at once. The server may run out of capacity and crash.
It’s very difficult to predict the exact Resource usage of your Online Service.
So why not leave it to the Cloud Provider and GO SERVERLESS!

In a Nutshell, with Serverless, you NEVER have too much or too little capacity. It’s always just Right.

When not to use Serverless?

  1. In serverless architecture, we don’t have fine-grained control over our applications.
  2. Serverless architecture is not efficient for an application like a webserver where the processes should be running continuously.
  3. Each Cloud provider has its own specific Serverless Products which might not be compatible with one another. So, one might get locked in by the Cloud Provider.

Is Serverless the Future?

Serverless is something new that has disrupted an era of distinction between developers and administrators. It has brought us closer to Real DevOps meaning.

If your organization is already in the cloud, it is in your best interest to start identifying and piloting workloads to leverage Serverless.

It is undeniable that Serverless has a place in the future. But, Serverless is not a one-size-fits-all solution and should not be treated as such. Going forward there are surely going to be many use cases for serverless computing as it continues to grow in market share and popularity.

The article has been co-authored with Kashish Bakshi

--

--