Description
Application contact emails
[email protected],[email protected],[email protected],[email protected],[email protected]
@g7ed6e @lilian-delouvy @antoineblancke @guillaume-chervet
Project Summary
The slimest and simplest Function As A Service
Project Description
SlimFaas act as a very small proxy to add into your Kubernetes namespace, it provide :
- Scale to 0 after a period of inactivity (work with deployment and statefulset)
- Scale up/out (comming soon)
- Synchronous HTTP calls
- Asynchronous HTTP calls
- Allows you to limit the number of parallel HTTP requests for each underlying function
- Synchronous Publish event via HTTP calls (events) to every replicas which deployment subscribe to the event name
- Retry: 3 times with graduation: 2 seconds, 4 seconds, 8 seconds
- Private and Public functions
- Private functions can be accessed only by internal namespace http call from pods
- Mind Changer: REST API that show the status of your functions and allow to wake up your infrastructure
- Very useful to inform end users that your infrastructure is starting
- Plug and Play: just deploy a standard pod
- No impact on your current kubernetes manifests: just add an annotation to the pod you want to auto-scale
- Very Slim and very Fast
Org repo URL (provide if all repos under the org are in scope of the application)
Project repo URL in scope of application
https://github.com/AxaFrance/SlimFaas
Additional repos in scope of the application
No response
Website URL
https://github.com/AxaFrance/SlimFaas
Roadmap
https://github.com/AxaFrance/SlimFaas/issues?q=is%3Aissue+is%3Aopen+Feature
Roadmap context
- Aggregate functions swagger
- Web Interface from swagger
- Async call Scale up/out
- Sync call Scale up/out
Contributing Guide
https://github.com/AxaFrance/SlimFaas/blob/main/CONTRIBUTING.md
Code of Conduct (CoC)
https://github.com/AxaFrance/SlimFaas/blob/main/CODE_OF_CONDUCT.md
Adopters
No response
Contributing or Sponsoring Org
AXA
Maintainers file
https://github.com/AxaFrance/SlimFaas/blob/main/MAINTAINERS.md
IP Policy
- If the project is accepted, I agree the project will follow the CNCF IP Policy
Trademark and accounts
- If the project is accepted, I agree to donate all project trademarks and accounts to the CNCF
Why CNCF?
Being part of the CNCF will help SlimFaas gain visibility, more feedback, support and consumers. We built it in response to a series of needs.
Benefit to the Landscape
Our history:
6 years ago, we chose OpenFaas for our data science production project (in test and learn mode). It worked pretty well. Over time, we learned that OpenFaas was not compatible with our way of building and deploying projects (1 namespace per project). The configuration was too complex and tightly coupled with OpenFaas. We had to deploy one OpenFaas instance per project. Monitoring was not compatible with our internal system, and the license was too expensive. We tried to switch to Knative, but it was not compatible with our internal security and Kubernetes management methods. So we started building a proxy to replace OpenFaas without making any breaking changes in our application. This proxy was designed to work with Keda for scaling up and down. However, we realized that it was very easy to scale up/down directly from this small proxy without any dependencies. SlimFaas was born. It is a very simple Function as a Service, very light and simple to install and use within your namespace whithout any magic and the most important : with no coupling. We saved a lot of time and money!
Cloud Native 'Fit'
It is a proxy, but it aim to bring better scale up/down (scale to 0).
It is a kind of a Function As A Service but whithout the magic behind. It aim to be really plug and play with few annotations to add to your kube configuration.
Cloud Native 'Integration'
N/A
Cloud Native Overlap
N/A
Similar projects
The most similar project is OpenFaas.
Also Keda and knative would be some alternatives.
Landscape
No
Business Product or Service to Project separation
N/A
Project presentations
https://github.com/AxaFrance/SlimFaas
Videos
- French : https://www.youtube.com/watch?v=Lvd6FCuCZPI
- English: https://youtu.be/hxRfvJhWW1w?si=4LuPgHVsuEVhlhpF
Project champions
May be @scraly in the future if she is interrested by the project.
Additional information
No response