January 04, 2022
Functions
Production
Nodejs
Community
Alex the founder of OpenFaaS shares his highlights for the project from the year of 2021.
A few days ago, I shared Seven of My Personal Highlights from 2021 and wrote a similar post for the inlets project – “Tunnels Reimagined for Cloud Native”. So it seems only right that I should do the same for the OpenFaaS community.
OpenFaaS Highlights
In this post, I’ll share highlights from the OpenFaaS project itself and from related community efforts like K3sup and Arkade. So whether you’re a seasoned OpenFaaS practitioner or just curious, then I’m sure there’s something for you here.
Going to production
The Open Source version of OpenFaaS is really meant for developers, but we also continue to see teams going to production.
That’s where OpenFaaS Pro – a commercially licensed distribution of OpenFaaS starts to make sense.
This year we saw more uptake of OpenFaaS Pro and extended the feature-set:
- Tuned the Kafka connector with a customer to support jobs processing millions of messages at a time
- Added retries to enable concurrency limited jobs (think one or N invocation(s) per container)
- Added a new SQS event connector for customers on AWS to trigger functions from AWS services
- Added PKCE support to the SSO / OpenID Connect support
One of our customers also needed to build hundreds, if not thousands of functions and wondered how they could achieve this without overloading their GitLab or Jenkins servers. That’s where the Pro Function Builder came in. It provides a HTTP API that can build functions using OpenFaaS templates or Dockerfiles and upload the resulting container image to your registry.
We also did some tuning work for a client who needed to run jobs for long periods of time: Improving long-running jobs for OpenFaaS users
In February, I invited David Flanagan to join me for a deep dive into use-cases for OpenFaaS and functions.
Check out the blog post and live-stream:
- Exploring Serverless Use-cases from Companies and the Community
- Send in your own use-case to the ADOPTERS.md file
We also covered several case-studies and configuration pieces on the blog:
- Configure your OpenFaaS functions for staging and production
- Case-study: Building a Low Code automation platform with OpenFaaS by Waylay
- Serverless storage for your functions from the Datastax Astra DB
- Event-driven OpenFaaS with Managed Kafka from Aiven
- Learn how Istio can provide a service mesh for your functions
If you’d like to know about running in production – or integration with any of these tools, feel free to reach out to speak to us.
Find out more about going to production here: OpenFaaS in Production
OpenFaaS gets its own manual
In January I launched my first eBook named Serverless For Everyone Else
In Serverless for Everyone Else, you’ll learn practical use-cases for Serverless Functions, how to build and deploy your own functions that you can run anywhere at a low, predictable cost.
Finally someone writes a #serverless book I might understand, with some real world stuff I might be able to accomplish. Of course it would be @alexellisuk https://t.co/X9JFybGOHq
— Joe Onisick (@JoeOnisick) January 22, 2021
The examples are geared around JavaScript and Node.js and cover a the fundamentals that you’ll need to build useful functions. Things like databases, APIs, unit-testing, customising templates and scheduled tasks. On an operational level, it also covers monitoring & dashboards, deployment with faasd and how to set up TLS.
One of the examples on Postgresql and MongoDB.
I consider the book to be “the” manual for OpenFaaS, so if you’re looking to learn or go deeper, it’s likely that you’ll learn something that you didn’t know about the project already.
It’s available on Gumroad.
You can read a bit more about the launch here: My first eBook launch – results & feedback (10k USD in 27 days)
faasd – 20,000 functions on one host
This was the year of faasd. Not only did it get featured extensively in Serverless For Everyone Else, but we focused on bringing its feature set in-line with OpenFaaS on Kubernetes, to the point that we are now hosting some of our own functions using faasd.
faasd can now limit the memory used by fu