Traditionally once an application gets developed, the next step is to get it deployed on the servers. For this the capacity planning, procurement, installation of server hardware and software must be done, which might take from a few weeks to a few months. Not only it is time consuming, but it also involves a lot of CAPEX (initial expenses) and OPEX (running expenses).

With the Cloud, it’s all on demand and so the requirement for the capacity planning comes down a little bit as there is there is commitment on the server and the characteristics of the server like RAM, CPU, Hard Disk can be changed at any time based on our requirement. Although Cloud computing has solved many of the problems, there is scope for still saving on the CAPEX/OPEX costs, decreasing the deployment time, hiring less staff by using Serverless computing. So, let’s look at the Serverless computing in this blog.

The name Serverless computing is a bit of a misnomer. It doesn’t mean that there are no servers, they are involved, but it means that we don’t need to worry about them. In the Serverless world, we simply upload a function, specify the resources it requires and simply upload the function to the Cloud. The Cloud vendor (Amazon, Microsoft, Google) will take of provisioning the server and deploy the function on it.

This way, we don’t think anywhere about the servers and so the name Serverless. As the demand for the function goes up, the Cloud vendor will provision more servers and decommission them when the demand goes down. All of this is transparent to the end user. Along the same lines, we should be able to create a RDBMS table and put data into it, without worrying about the server infrastructure.

Google CloudFunction, IBM OpenWhisk, Azure Functions and AWS Lambda are the services which enable us to upload a function and the rest is taken care for us automatically. Although Serverless functions are convenient, there are a few problems associated with it.

For More: https://kovidacademy.com/aws-serverless-computing/

Author's Bio: 

Traditionally once an application gets developed, the next step is to get it deployed on the servers. For this the capacity planning, procurement, installation of server hardware and software must be done, which might take from a few weeks to a few months.