Serverless Computing is an emerging computing technology that enhances the performance of Cloud Computing technology. It is the next generation of Cloud computing, supporting the dynamic allocation of resources and its management through the service provider without server knowledge.
Serverless computing provides a platform for application development by hiding Operating System and middleware layer. It assists the Cloud users to focus on the computation of their application instead of its deployment and maintenance. The advantages of serverless computing include reduced deployment time consumption, improved performance, limited resource overhead, and flexibility.
Serverless computing is an advancement of the Platform as a Service (PaaS) and it is also known as Function as a Service (FaaS). Serverless computing executes the application without the provisioning or maintaining of the resources. Serverless computing provides automatic resource scaling for reducing the resource usage in which the billing method is based on the actual resource utilization, which is cost-effective computing.
Serverless computing executes the logic of the application and stores the data only in the local disk. As serverless computing is still in the infancy stage, that has several drawbacks that hinder the widespread adoption of serverless computing. The limitations of serverless computing include,
Lack of mechanism for accessing Specialized hardware
Communication through slow storage
Lack of strong Service Level Agreement(SLA) Potentially high latency
Lacks to provide a feasible solution since it does not have idle servers in resource-constrained environments
Need to focus on the modularity of an application, such as control and flexibility.
Lack of programming models with high-level abstractions