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!
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