Function as a service (FaaS) is a cloud computing model that enables users to develop applications and deploy functionalities without maintaining a server, increasing process efficiency. The concept behind FaaS is serverless computing and architecture, meaning the developer does not have to take server operations into consideration, as they are hosted externally. This is typically utilized when creating microservices such as web applications, data processors, chatbots and IT automation.
FaaS provides developers with the ability to run a single function, piece of logic or part of an application. 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