JustFaaS is a set of components for deploying and running auto-scaled functions and microservices on Kubernetes. No vendor-lock, no boilerplate code, language agnostic and no reinventing the wheel.
- No vendor-lock
- No boilerplate code or templates
- Automatically scale your functions
- Async requests
- Management APIs
- Custom resource definitions
- Official documentation
- Serverless for Kubernetes on Medium
- Securing a JustFaaS Cluster on Medium
Functions are deployed to Kubernetes using a CRD. Behind the scenes, a custom operator deploys the required resources for the function.
When invoking a function through the gateway, metrics are fed to a Prometheus instance which are then scraped by the metrics server and exported to Kubernetes as custom metrics.
Both the scaler and the idler components feed off of custom metrics, in order to scale the functions up or down as required.
graph LR
Gateway --> Metrics
Metrics --> HPA
Metrics --> Idler
HPA --scales 1..N--> Function
Idler --scales 1..0--> Function
Note
The idler component is not installed by default. An option must be set when installing/upgrading to enable the idler. The reason for this is that the idler is seen as a future deprecation, since Kubernetes will most likely offer a solution for this in future releases. You can read more about scaling to zero in the docs.
Like most open-source projects, its success depends on its contributors and sponsors. If you like the project and use it personally or commercially, please consider sponsoring. Every little helps.