Ivan Velichko Profile picture
Software Engineer. Bootstrapping https://t.co/9b6sZ2UVQj - a place to help you learn Containers and Kubernetes 🚀 Newsletter (deep reads) → https://t.co/PE0hfGjrL3

Dec 8, 2021, 7 tweets

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…

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.

Keep scrolling