Serverless Functions, Made Simple. OpenFaaS makes it simple to turn anything into a serverless function that runs on Linux or Windows through Docker Swarm or Kubernetes.
OpenFaaS (Open Function as a Service) is a production-ready serverless framework designed to make deploying functions and microservices to any Kubernetes cluster simple, portable, and manageable. Founded by Alex Ellis, it allows developers to run event-driven workloads across on-premises and multi-cloud environments.
The main features of this platform include:
Kubernetes-Native & Portable: Functions are deployed as portable Open Container Initiative (OCI) images on any Kubernetes cluster, providing a consistent experience across on-premises infrastructure and public clouds without vendor lock-in.
Language & Framework Agnostic: Supports official templates for Node.js, Python, Go, Java, C#, Ruby, PHP, Bash, and custom Dockerfiles. Existing microservices built with frameworks like Express.js, Flask, FastAPI, Django, or ASP.NET Core can also be deployed as-is.
Efficient Auto-Scaling (Including Scale-to-Zero): Functions automatically scale to meet incoming demand and can be fine-tuned to scale down to zero when idle to minimize infrastructure costs.
Event-Driven Workloads: Invokes functions automatically from a wide range of event sources, including Apache Kafka, AWS SQS/SNS, GCP Pub/Sub, RabbitMQ, PostgreSQL, Cron schedules, and MQTT.
Out-of-the-Box Queuing & Async Retries: Simplifies ETL, batch jobs, and machine learning data pipelines by providing built-in asynchronous queuing, retries, and parallel execution for jobs lasting from milliseconds to hours.
Customer Code Sandboxing: Enables SaaS applications to safely execute untrusted customer code by converting code snippets into isolated functions deployed via a REST API, with security boundaries enforced in dedicated Kubernetes namespaces.
OpenFaaS Pro Enterprise Features: Adds advanced capability modules including SSO (Single Sign-On), RBAC (Role-Based Access Control), monitoring dashboards, queue-based autoscaling, and direct-to-engineering support.
Developer CLI (faas-cli): Features a command-line interface to pull language templates from the template store, create new functions, and build or deploy workloads easily.