Saturday, April 25, 2020

What is Serverless ?


    In the recent times after the tremendous evolution of cloud, I came across the word serverless / serverless computing / serverless architecture frequently. I was curious to know how an architecture does be named serverless and a computing be done without servers!! I got the answer when I was exploring about Cloud computing & learnt about AWS in recent times.

    Then I realized that Serverless is just a buzzword. It is not a technology or architecture. It just means that we do not care about infrastructure and manging servers. It is done by someone else for us. As simple as that!



Img Src : https://www.freelancinggig.com/

    Serverless computing is a dynamic execution model where the execution of the code is taken care by a cloud provider like Amazon AWS, Google Cloud, Microsoft Azure. The allocation of necessary server and resources are taken care automatically by the provider. The code is typically split into multiple functions and run inside the stateless containers. It’s because of this concept of split , sometimes serverless is referred as “Faas – Function as a service”. The major advantage is that we pay only for what we use.

    The evolution of serverless has started from the use of traditional on-premise servers, hiring remote server machines and then at last the containers.

    The developer will need to upload the code to the cloud and the provider takes care of the rest. The most fascinating thing which I have learnt recently regarding serverless is an offering from Amazon AWS - Lambda. It does a lot of magic & supports most of the commonly used programming languages.

Major advantages:
·       Cost efficient:
Pay only for what we use and nothing needs to be paid when the code is not executed (We just need to pay for any underlying resources used. E.g: Storage). Also, we pay per invocation call of the function, which is event driven.

·       High availability:
The availability is high & guaranteed since the code is put into the cloud. We can
take advantage of multiple availability zones / regions which is turn provides disaster recovery and so on.

·       Scalability:
Multiple instances of the function are created automatically when there is a need. Also, it is scaled down after a specific duration if the function is idle for a specific time.

·       No management of servers
No more worries about installing servers, configuring it, maintaining it, managing it with patches and so on.

    On a whole, we just write the code and it will be deployed & available for the end user in a matter of seconds! Serverless computing – it is just awesome!

No comments:

Post a Comment

What is oAuth 2.0 ?

Almost every one of us is using services of Google, Microsoft, Facebook, Apple etc., every day, either directly or indirectly. We see in mos...