Function as a Service (FaaS)
Function as a Service (FaaS) is a cloud computing model, often called serverless computing, in which developers deploy individual functions that run in response to events, with the provider automatically managing scaling, availability, and…
Definition
Function as a Service (FaaS) is a cloud computing model, often called serverless computing, in which developers deploy individual functions that run in response to events, with the provider automatically managing scaling, availability, and infrastructure, and billing based only on actual execution time.
Overview
FaaS is the most granular of the cloud compute abstractions: instead of deploying an application to a server or a container that runs continuously, you deploy a single function, and the platform invokes it only when triggered — by an HTTP request, a file upload, a message on a queue, or a scheduled timer. AWS Lambda, Azure Functions, and Google Cloud Functions are the major hyperscaler implementations. The defining characteristic of FaaS is scale-to-zero: when there's no traffic, no resources are running and there's no cost, and when a burst of requests arrives, the platform automatically spins up as many parallel function instances as needed. This makes FaaS well suited to unpredictable or spiky workloads and event-driven architectures, where different functions each handle a discrete piece of work — resizing an uploaded image, processing a queue message, validating a webhook — rather than a single monolithic server handling everything. The tradeoffs are real: cold starts can add latency the first time a function runs after being idle, execution time and memory are capped by the platform, and functions are stateless, so any state has to be pushed out to a database, cache, or object store. FaaS is often used alongside Platform as a Service (PaaS) for the parts of an application that don't fit the always-on server model, and both fall under the broader umbrella of serverless architecture, which the Serverless Architecture course covers in depth.
Key Concepts
- Deploys individual functions rather than full applications or servers
- Event-driven triggers: HTTP requests, queues, file uploads, schedules, and more
- Automatic scale-to-zero when idle, with no charge for unused capacity
- Automatic parallel scaling to handle traffic bursts
- Billing based on execution time and memory rather than provisioned capacity
- Stateless execution — persistent state must live in an external database or store
- Cold-start latency on the first invocation after a period of inactivity