Function-as-a-Service describes a serverless, pay-per-use approach to developing applications that is offered by cloud service providers. Serverless doesn’t mean that the application requires no server at all—it means a cloud service provider manages the servers rather than a company or developer.
The term function refers to one small component of an application, which can be coded through Function-as-a-Service (FaaS). After a developer has sent a request to trigger the FaaS server and the server has booted, the developer can quickly code the function and finish. FaaS application development differs from monolithic applications, which have components that interconnect and cannot be easily separated. Functions are more loosely coupled and can be coded individually.
FaaS saves money and resources for businesses that benefit from quick application development. It places the responsibility of managing servers on the cloud provider, allowing developers to focus on the applications. Cloud providers who offer FaaS charge per-use: when a user submits a request to add or change a function, they only pay for the time spent enacting that function. This also saves cloud resources because the server stops once a coding request has been completed. As FaaS is targeted at simple application development, Platform as a Service (PaaS) may be a better choice for companies that have advanced programming and performance needs.
Top FaaS providers include:
- Amazon Web Services (AWS) Lambda
- Microsoft Azure Functions
- Google Cloud Functions
- Cloudflare Serverless
- IBM Cloud Functions
- Alibaba Cloud