Known as the ‘future of computing’, serverless architecture is a model of cloud computing and a software design pattern where applications are heavily dependent on third-party services (Backend-As-A-Service).
It is also known as Function-As-A-Service (Faas).
It is opposite to the traditional hosting service in which we are responsible for managing and provisioning servers.
Some characteristics:
- Auto-scaling and auto-provisioning based on the requirements
- Cost is based on usage
- No need to manage server hosts and processes
- High availability
- No need to pay for idle servers and unused capacity
AWS Lambda, Azure Functions, and Google Cloud Functions are major FaaS service providers.
Benefits:
- Reduced operational cost
- Less complexity
- More focus on development and scaling
- Significantly cost-efficient
- High performance
It removes the need for maintaining physical infrastructure, managing operating system configurations, web server software management, and other dependencies to run apps. It offers great benefits at the cost of high dependency on third-party systems and services. This is a major disadvantage of serverless.
It is widely-adopted and has popularized practice like DevOps. It can also be used with microservices and best suitable for real-time analytics, data processing, encoding, and IoT apps.
A Good Read: A Quick Guide to Serverless Computing