Skip to content

Commit 7c2c00a

Browse files
committed
Feedback from Lucas
Signed-off-by: Alex Ellis (OpenFaaS Ltd) <alexellis2@gmail.com>
1 parent 19f92d9 commit 7c2c00a

1 file changed

Lines changed: 19 additions & 20 deletions

File tree

_posts/2020-04-17-introducing-faasd.md

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ In this post Alex will introduce OpenFaaS' newest project: faasd. faasd brings t
1919

2020
From the first iteration of OpenFaaS in 2016 (then called "faas"), portability and openness were two driving values for the project and community. They've guided us ever since, and as the industry consolidated around Kubernetes, we added support in the project. That was back in May 2017.
2121

22-
<img src="https://raw.githubusercontent.com/openfaas/media/master/OpenFaaS_Magnet_3_1_png.png" width=400 alt="Workshop logo">
22+
<img src="https://raw.githubusercontent.com/openfaas/media/master/OpenFaaS_Magnet_3_1_png.png" width="400" alt="Workshop logo">
2323

2424
The [faas-provider](https://github.com/openfaas/faas-provider) SDK allowed us to do this and was extracted from the core project shortly after adding support for Kubernetes. We've had a number of other community providers, but this is the one with the most traction today.
2525

@@ -43,7 +43,9 @@ Imagine if you needed "just a few functions" written in something like Golang or
4343

4444
![k3s logo](https://img.stackshare.io/service/10432/logo-k3s.png)
4545

46-
So what about [k3s](https://k3s.io/)? I'm a big fan of Darren's work with k3s and I believe he was able to get so much interest in the project simply by inferring that it would be easier to use. It turns out that k3s nailed the bootstrap process and has dramatically reduced the memory footprint vs [kubeadm](https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/), but it's still upstream Kubernetes and it does not intrinsically make Day 2 operations go away.
46+
So what about [k3s](https://k3s.io/)? I'm a big fan of Darren's work with k3s and I believe he was able to get so much interest in the project simply by inferring that it would be easier to use.
47+
48+
It turns out that k3s nailed the bootstrap process and has dramatically reduced the memory footprint vs [kubeadm](https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/), but it's still upstream Kubernetes and it does not intrinsically make the day to day any easier.
4749

4850
## Enter faasd
4951

@@ -66,31 +68,28 @@ faasd is for anyone who wants to create an API, function, or microservice.
6668

6769
Parity with OpenFaaS on Kubernetes:
6870

69-
* [OpenFaaS workloads interface](https://docs.openfaas.com/reference/workloads/)
70-
* [REST API](https://docs.openfaas.com/architecture/gateway/#swagger)
71-
* private Docker registries
72-
* scale from zero
73-
* scale to zero
74-
* [async invocations](https://docs.openfaas.com/reference/triggers/#async-nats-streaming)
75-
* Prometheus metrics
76-
* logs
77-
* secrets
78-
* multi-arch - for both Intel and ARM
79-
* faas-cli support
80-
* Function Store and Template Store support
81-
* compatible with CI and TLS solutions
71+
*[OpenFaaS workloads interface](https://docs.openfaas.com/reference/workloads/)
72+
*[REST API](https://docs.openfaas.com/architecture/gateway/#swagger)
73+
* ✅ private Docker registries
74+
* ✅ scale to and from zero
75+
*[async invocations](https://docs.openfaas.com/reference/triggers/#async-nats-streaming)
76+
* ✅ Prometheus metrics
77+
* ✅ logs
78+
* ✅ secrets
79+
* ✅ multi-arch - for both Intel and ARM
80+
* ✅ faas-cli support
81+
* ✅ Function Store and Template Store support
82+
* ✅ compatible with CI and TLS solutions
8283

8384
Differences from Kubernetes:
8485

85-
* low memory footprint
86-
* almost immediate scale from zero
86+
* low memory footprint
87+
* almost immediate scale from zero
8788
* no clustering as of yet, use HA instead
8889
* no HTTP healthcheck support yet
8990
* no commercial OIDC / OAuth2 support
9091

91-
Another difference is that "scale from zero" is much faster. On a Dell XPS with a small, pre-pulled image unpausing an existing task took 0.19s and starting a task for a killed function took 0.39s.
92-
93-
> There may be further optimizations to be gained. It's very difficult to get Kubernetes anywhere near these sorts of cold-start speeds.
92+
On a Dell XPS with a small, pre-pulled image unpausing an existing function took only 0.19s and a cold start only took 0.39s, without further optimization. It's very difficult to get anywhere near these sorts of cold-start speeds with Kubernetes
9493

9594
As far as HA is concerned, you can deploy faasd in redundancy. You can integrate with CI systems, and you can get TLS by installing a reverse proxy like Caddy or Nginx.
9695

0 commit comments

Comments
 (0)