How to Run a FaaS Platform On Your Own Terms
FaaS is a higher-level kind of Serverless tech where the smallest deployable unit is a Function.
AWS Lambda, Azure Functions, GCP Cloud Function are all super handy, but what if you can't use them for some reason?
Meet OpenFaaS! 🔽
OpenFaaS is an open-source project that turns a piece of lower-level infra into a high-level FaaS solution.
Sounds too abstract?
Kubernetes cluster + OpenFaaS = FaaS API
Single VM + containerd + OpenFaaS = same FaaS API!
where FaaS API is:
- mgmt. methods
- invoke functions
At a high level, OpenFaaS has a universal architecture that allows it to be installed on almost any kind of infra:
API Gateway (concrete) + FaaS-Provider (abstract)
OpenFaaS on Kuberentes
With Kubernetes FaaS-Provider, you get out of the box:
- High-availability
- Horizontal scaling
- Disaster recovery (the only state is in etcd)
OpenFaaS on a VM with containerd
A lightweight setup designed for cheaper servers and IoT devices (e.g Raspberry Pi).
- Blisteringly fast scaling to zero
- Super quick function cold starts
- x10 functions per server (comparing to K8s)
- systemd manages all long-living processes
I've been evaluating OpenFaaS for my personal projects, both from:
- Developer's standpoint
- Operator's standpoint
And as usual, documented my findings
iximiuz.com/en/posts/openf…
@openfaas on GitHub github.com/openfaas/faas
Share this Scrolly Tale with your friends.
A Scrolly Tale is a new way to read Twitter threads with a more visually immersive experience.
Discover more beautiful Scrolly Tales like this.