Layers and responsibilities¶
- NATS provides asynchronous execution and queuing
- Prometheus provides metrics and enables auto-scaling through AlertManager
- A container registry holds each immutable artifact that can be deployed on OpenFaaS via the API
The projects that make up OpenFaaS can be referred to as The PLONK Stack.
The Gateway can be accessed through its REST API, via the CLI or through the UI. All services or functions get a default route exposed, but custom domains can also be used for each endpoint.
Prometheus collects metrics which are available via the Gateway's API and which are used for auto-scaling.
By changing the URL for a function from
/async-function/NAME an invocation can be run in a queue using NATS Streaming. You can also pass an optional callback URL.
faas-netes is the most popular orchestration provider for OpenFaaS, but Docker Swarm, Hashicorp Nomad, AWS Fargate/ECS, and AWS Lambda have also been developed by the community. Providers are built with the faas-provider SDK.