Serverless computing is a model of cloud computing that allows developers to build and run applications without the need to manage the underlying infrastructure. Instead of deploying and managing servers, developers can focus on writing code for specific functions, and the cloud provider takes care of running and scaling the application.
With serverless computing, developers only pay for the exact amount of computing resources that their application uses, which can lead to cost savings and increased agility. Serverless computing is particularly well-suited for event-driven and microservices architectures.
Higher developer productivity
Paying for execution only
Versatile, develop in any language
Streamlines development and DevOps cycles.
Cost effective performances
Usage visibility
Improved application quality/performance
Greater flexibility to scale resources up or down automatically
Better security of company/customer data
Better user interfaces since devs can focus exclusively on code
Uncertainty regarding the time and costs involved in building applications
Apps with long-running processes cost more to run in serverless architecture
Security concerns
Complexity of serverless architecture
Lack of control due to vendor lock-in
Difficulty moving applications from dev/test into production
Less visibility of back end processes
Negative impact on performance due to ‘cold starts’ vs running constantly
References