Serverless Computing And Their Benefits

Gunasundaram
Gunasundaram
Published in
5 min readMar 8, 2022
Serverless Computing And Their Benefits

Serverless computing allows customers to build and run applications and services without the need for having dedicated servers for the specific purpose rather it is an execution model where the cloud provider is responsible for executing a piece of code by dynamically allocating necessary resources such as computing, memory and storage as needed for such execution only, that can be triggered by a variety of events including http requests, database requests, etc. The code is in the form of a function usually, hence this is also referred as “Function as a Service ‘’, the customer is charged only for the consumption of these dynamic resource utilization for execution of the function.

In this model, the term “serverless” is from the customer’s perspective, that they don’t require to spin up a server for a specific service . Cloud providers do use servers anyway at the backend, however specific services are available for consumption on need basis. However, if you purchase the technology, you will not have to purchase back-end servers to build or deploy applications or services And you won’t maintain those back-end servers either.

Regardless of what you call it, serverless computing is popular. In a 2019 survey, for example, 40 percent of respondents worked for companies that used some kind of serverless architecture. The most common benefit cited was the reduced cost.

Let’s look at what serverless computing is and how it works to see if it’s a feasible option for your company.

What is serverless computing?

As a result of serverless computing, developers can focus solely on the front end of an application or interface of the service.

Graphics, text, and other visual cues make up the front-end of a website or application. It is what consumers see, interact with, and remember.

The back-end of a website includes all the pieces that users can’t see but that users need to experience their website smoothly.

Those back-end bits can include the following:

Data files

Inventories of available products, locations of open stores, and lists of blog posts all need a home in the back-end.

Processing

Everything a consumer does needs a bit of power, and most of the data crunching happens on the back end.

Security

A user might need to log in to see specific parts and pieces. The login page is on the front, but the function happens in the back.

Typically, serverless computing vendors implement back-end functionality through separate pieces of code that sit idle until the user triggers them. When the user triggers the code, the serverless computing takes over, gives the user space, and makes the execution seamless.

According to an expert in 2014, developers write application code that is loaded into a serverless computing environment. The code sits dormant until an event triggers it.

At this point, the serverless computing takes over and executes the code in the cloud environment. After the event has concluded, the code goes dormant.

In serverless computing, “functions” are the key components. For instance, a website might have a function that allows users to upload photos that are then resized and formatted. Whenever a user uploads a photo, the function begins.

These functions are used in serverless models and may or may not run continuously. If the website or app experiences heavy traffic, the cloud can provide additional space and processing power (for a fee). If the traffic slows, the space and processing power (for a fee) can be reduced.

There are four essential characteristics of true serverless applications.

Variable in price

Cloud service providers charge clients only for what they use.

Self-maintaining

Clients don’t need to perform server maintenance.

Scalable

They scale up and down dynamically at runtime with no client intervention.

Reliable

These products have built-in high availability and fault tolerance.

What makes serverless computing different?

If you’ve read about cloud-based servers for managing websites or apps, you won’t be surprised to learn that some of these products are somewhat similar to serverless computing.

Many cloud-based services share attributes with serverless computing, including:

BaaS

Backend as a service (or BaaS) allows developers to outsource the administration of back-end functions.

PaaS

Platform as a service (or PaaS) enables clients to develop and deploy products within the cloud environment.

IaaS

Infrastructure as a service (or IaaS) allows clients to do almost everything involving a website or app within the cloud environment.

When a client needs more space, you’ll need to talk to your BaaS, PaaS, or IaaS vendor. In the serverless computing model, clients won’t need to converse with their vendor.

As serverless computing becomes more popular, it is changing as well. For example, some companies are experimenting with distributed networks with nodes distributed far from central data centers.

This arrangement reduces latency and offers a better experience for users. Other cloud-based models may not move in this direction.

Serverless computing advantages and disadvantages

Should you abandon your current setup and move to a serverless stack? Let’s dig into the pros and cons.

Advantages of serverless computing include:

Cost

You’ll only pay for what you use. In some other cloud-based models, you’ll reserve space (whether you use it or not).

Flexibility

Serverless models scale without your intervention.

Accuracy

Developers will be able to focus on the specific function rather than worrying about the backend architecture that supports that function. This separation of duties could lead to cleaner code.

Speed

Developers don’t need to waste time worrying about estimating and allocating server space.

Drawbacks of serverless computing include:

Security

Serverless systems hand part of your data over to another company that may or may not protect it. The top concerns with the model among the 60 percent of companies who do not adopt it are security and fear of the unknown.

Privacy

Your resources are shared in cloud environments that could also be inhabited by others.

Complexity

If something isn’t working as it should, spotting the issue could be difficult. You’ll have multiple spaces in which to look.

--

--

Gunasundaram
Gunasundaram

Digital Transformation Leader, Enterprise Architect, Agile Transformation Leader