Imagine if you give all of your time in building amazing apps and then deploying them without giving any of your time in managing servers. Serverless computing is something that lets you to do that because the architecture that you need to scale and run your apps is managed for you. The infrastructure has always been an issue for the developers. Serverless computing is a big solution for them as it relieves that burden from them.
Serverless computing is the technology of abstracting the servers, operating systems and the infrastructures. It is a cloud computing execution model in which the cloud provider dynamically manages the allocation of the machine resources. When we are building the serverless application, it helps us in taking our minds off from the infrastructure concerns because we do not need to manage any of the servers. The developers can dedicate their focus on their core products instead of worrying about managing operating systems or configurations for it. In this way lot of time and energy of the developers be saved. They can make use of single services (like S3 for storage or Auth0 for identity management) and elastic computer platforms like AWS Lambda or Microsoft Azure to execute code. Such serverless systems can grow, scale and evolve without requiring the developer’s efforts of remembering to patch the web servers again and again.
The main advantages of the serverless applications are:
- The regular maintenance of any servers is not required. Also, we there is no software or platform to install for it.
- The scaling of the application is very flexible in serverless computing. They can be scaled automatically by adjusting the capacity of the configurations required to run the application. Ex:- Memory, processor requirement etc.
- They have inbuilt availability and fault tolerance. We do not have to decide the architect for these capabilities as they are by default provided by the services that are running the app.
- You don’t have to pay for idle capacity. There is no need to pre- or over-provision capacity for things like compute and storage. For example, there is no charge when your code is not running.
Serverless computing is more cost-effective than purchasing the servers with required configurations. The features like more efficient bin-packing of the underlying resources of machine can make it more cost-efficient than provisioning an autoscaling group.
Some famous platforms for serverless computing:
-
AWS lambda
It stands for Amazon Web Services Lambda. It is the platform of Amazon that executes our code only when we need and also has the features of automatic scaling, from a few requests per day to thousands per second. We have to pay for the time we consume to use it and there is no charge when our code is not running.
-
Microsoft Azure
This is the platform provided by Microsoft. It also provides all the features and here also we have to pay for the time we use its services. It is known to improve developer productivity, focus on business goals and building intelligent apps.
-
Google Cloud Platform
It is Google’s online platform that is based on serverless computing. It is a suite of cloud computing services that runs on the same infrastructure that is used by the Google internally for its end-user products
Reference : https://en.wikipedia.org/wiki/Serverless_computing