Serverless Computing: Things You Should Know

serverless computing
Sharing is Caring:

Do you know that companies such as Netflix, Coca-Cola and AirBnb are using serverless computing/architecture for their workload.

Why?

Well that’s why this post is here. Let’s find out why ???

This post is all about serverless computing. To be honest, serverless is one of the most misleading names in the cloud computing world. So let’s make ourselves aware of this misnomer.

Now you will tell me- wait Preeti !!!

Few days ago you explained us cloud computing. Now what’s this new thing “Serverless” doing here?

Well, the world is evolving at really fast pace and so is cloud computing.

Even the biggest cloud providers like Amazon, Microsoft and Google has dedicated branding for serverless. Indicating us that serverless is the next big thing in cloud computing world.

Serverless architecture allows us to run our application without thinking of servers. It lets us serve and scale as per demand without planning the capacity ahead of time.

In short you can say that, serverless computing has literally changed the way applications are built and deployed into the cloud.

This post basically covers-

  • What is Serverless Computing?
  • Features of Serverless Architecture
  • Evolution of Serverless Computing
  • Best Serverless Computing providers in market
  • Cloud Computing vs Serverless Computing
  • Advantage of Serverless Computing
  • Disadvantage of Serverless Computing

So are you ready to start ? Let’s go !!!!

What is Serverless Computing?

Firstly, let me tell you a fun thing. Opposite to what it sounds, serverless doesn’t mean that there are no servers. It’s just that you no more worry about them.

In other words, There are no servers to provision or manage at all. Your cloud provider will take care of that.

All you need is to focus on your application. Because serverless will allow you to run your application without doing any infrastructure management.

Now that’s cool !!!

I mean from a developer’s point of view I really like this. All I need to worry is how to make my application more effective and let the cloud provider handle boring stuff for me.

Serverless: Overall It lets you run code on demand and pay only for the time your code is actually running

Features of Serverless Architecture

Okay, now when we know what serverless is…

Let’s have a look on what are the characteristics that makes a serverless architecture serveless.

  • No need to provision or manage any server
  • Serverless computing is event driven
  • Your serverless application scales automatically
  • You will only pay for actual service uses and never pay for idle time
  • High availability/ fault tolerance is build in
  • Serverless functions are stateless

Those are some of the really cool features of serverless.

Let’s see how the computing world has evolved from deploying our application to our own server to being completely serverless.

Evolution of Serverless Computing

We will see here how Serverless fits here with other cloud computing types

On Premises

Initially we used to deploy our application in the servers running in our own premises/data centers.

With that said, we were responsible for managing everything such as-Applications, Data, Runtime, Middleware, OS, Virtualization, Servers, Storage and Networking etc.

Then came IAAS

Here cloud providers managed Virtualization, Servers, Storage and Networking. However we were still responsible for managing Applications, Data, Runtime, Middleware and OS for example AWS EC2

IAAS to PAAS

With the release of services such as AWS Elastic Bean Stalk, our cloud provider literally freed us from almost all the management thing except our Applications and Data

A very good progress indeed !!!

Then comes…

PAAS to Serverless

Serverless has brought a revolution in the computing world in the true sense. With the release of services like AWS lambda ,all we need to worry is creating our lambda function i.e. our Application and uploading our code to lambda. Rest all is taken care by our very own cloud providers.

That’s superb 🙂

I hope this made things a bit clear.

Serverless Computing providers in market

There are many serverless providers in the market however when it comes to best in terms of serverless we have-

  • AWS : Lambda, API Gateway, DynamoDB, Step Function etc
  • Microsoft Azure: Azure Functions
  • GCP: Cloud Functions, App Engine, Cloud Run etc.

Cloud Computing vs Serverless Computing

Many a times difference between cloud computing and serverless seems to be confusing.

That’s why, Let’s understand the basic difference between the two so that we know what is what 😛

Cloud ComputingServerless Computing
Resources needs to be allocated in advance Resources are allocated on demand
Pay for your servers whether you use it or notPay only for the resources you actually use
Pay for the idle time as wellYou don’t pay for idle time
Scaling needs to be Scaling happens automatically

Advantage of Serverless Computing

If you re designing and developing a new application. you may think on the reasons to move to serverless.

Let me tell you, there are plenty of them .

So let’s go ahead and discuss them here.

No Server Management

With Serverless you don’t to provision or manage any server. That means you don’t need to-

  • Install software or runtime to run your application
  • Monitor your server health 24/7
  • Planning capacity ahead
  • Maintenance of server including security and updates
  • Scale the server up and down as per the uses

Cost Effective

Serverless is very cost effective then buying/renting a server for full time.

You only pay for the time your code is executing and the memory/resources you consume. There are no charges for idle time.

Now that’s full utilization of resource. Right ?

Elastic

Serverless architecture allows your application to scale up as soon as the demand go huge and scale down when there is no demand. So they are kind of elastic in terms of scaling.

You don’t have to worry about adding an extra server. Your serverless application will scale automatically

Automated High Availability

When it come to running production load, you always want to deal with uncertain times.

What happens when one of the server fails?

Well, You need to have multiple redundant servers so that even if one fails, other one will continue to serve the request.

With Serverless, you don’t need to worry about making your application highly available by deploying into multiple availability zone. Your cloud provider by default support this functionality.

Faster Time to Market

As with serverless, developer are freed up from provisioning and managing infrastructure. They can focus more on application code and business logic. As a result, a production grade application can be developed in really lesser time.

Disadvantage:

Now where there are pros there are cons as well.

I will mention few of them here.

Vendor lock-in

Serverless computing are by default tightly tied to the specific cloud provider /vendor which makes migration very difficult.

Not Suitable for long/continuous running apps

Serverless is not suitable for long running applications. Because mostly serverless functions have runtime limitation for example AWS lambda can run for 900 seconds or 15 minutes.

Also if you have a 24/7 running app with multiple request per second , serverless will be more expensive as compared to running it on a virtual machine or container.

Performance

Serveless application may face latency issues for first few request also known as cold start time.

Because your code is only running when requested. After request is served, cloud provider spins down the servers.

In result, if your application is developed in java and required higher start up time, you will see additional latency for that.

Conclusion:

To sum up, Serverless architecture is the future of cloud computing. It provides the companies capability to be more agile, cost effective and increase their overall operational efficiency.

Despite having pros and cons, cloud providers are constantly trying to make serverless ecosystem better each passing day.

So one thing I am sure that serverless is here to stay !!!

Well, That was my take on “Serverless Computing“. Please feel free to share your feedback.

Enjoyed the content?

Subscribe to our newsletter below to get awesome AWS learning materials delivered straight to your inbox.

Subscribe to our newsletter below to get awesome AWS learning materials delivered straight to your inbox.

If you liked reading my post, you can motivate me by-

  • Adding a comment below on what you liked and what can be improved.
  • Follow us on 
  • Subscribe to our newsletter to get notified each time we post new content.
  • Share this post with your friends and colleagues.

Also Read:

Sharing is Caring:

One thought on “Serverless Computing: Things You Should Know

Leave a Reply

Your email address will not be published. Required fields are marked *