Function as a service (FaaS) is a cloud computing model that enables cloud customers to develop applications and deploy functionalities and only be charged when the functionality executes. FaaS is often used to deploy microservices and may also be referred to as serverless computing.
FaaS provides developers with the ability to run a single function, piece of logic or part of an application and only be charged when the code executes. Code is written into the developer end that triggers remote servers to execute the intended action. Unlike other cloud computing models that run on at least one server at all times, FaaS only runs when a function is conducted and then shuts down.
Advantages of FaaS
- Developers can spend more time writing app-specific code and less time handling server logistics
- Allows applications to be scalable and independent rather than integrated within a larger platform
- Customers are billed solely based on amount of executed functionality, meaning money is never spent on inactive resources
- Features such as support, availability and fault tolerance are inherently included
Disadvantages of FaaS
- There is less transparency involving the backend infrastructure as it is being managed externally
- Cost can be hard to predict or incorporate into budgets due to the pay-per-use model
- Due to the fairly recent introduction of FaaS, solutions to issues such as keeping track of functions and remote debugging have yet to be developed