Deploy code to Kubernetes with full control, portability, and commercial support.
Deploy OpenFaaS to any Kubernetes cluster. Write a new function and ship it to production in minutes, knowing it will scale to meet demand.
OpenFaaS Pro adds autoscaling, event connectors, monitoring dashboards, SSO, RBAC, and direct-to-engineering support.
Get code into production within minutes using our templates, or create your own.
Your functions can be fine-tuned to scale to match the type of traffic they receive, including to zero to save on costs.
Invoke functions through events from Apache Kafka, AWS SQS/SNS, GCP Pub/Sub, RabbitMQ, Postgresql, Cron and MQTT.
The challenge
You want customers to extend your product with custom code — but running untrusted code safely is hard to get right.
With OpenFaaS
Turn code snippets into isolated functions, built and deployed through a REST API. Each tenant runs in its own namespace with security boundaries enforced at every layer.
Used in production by Waylay (IoT), LivePerson, Cognite (ML/data-science), and RudderStack.
The challenge
You're processing large volumes of data but managing the infrastructure for parallel execution, retries, and scaling is a project in itself.
With OpenFaaS
Fan out to thousands of parallel function executions that scale automatically. Batch jobs and ML models run as functions with built-in retries — whether they take milliseconds or hours.
Surge runs async jobs at scale — importing financial and government data to power background checks for customers through Salesforce.
The challenge
Kubernetes has the building blocks, but wiring up auto-scaling, queuing, retries, and event triggers from scratch takes months of work.
With OpenFaaS
Get all of that out of the box. Run functions on-demand or on a schedule, trigger them from Kafka or AWS, and benefit from async retries — no extra code. Teams ship to production in hours, not weeks.
Teams migrating from AWS Lambda to Kubernetes use OpenFaaS to keep the scaling and developer experience they had before.
The challenge
Your SaaS product needs to run on your cloud, your customer's cloud, and on-premises — with the same experience everywhere.
With OpenFaaS
Functions are portable OCI images that run anywhere Kubernetes does. Ship the same code to every customer environment without vendor-specific wrappers or per-cloud rewrites.
Use official templates for Node.js, Python, Go, Java, C#, Ruby, and PHP — or create your own.
Already have microservices built with Express.js, Flask, FastAPI, Django, or ASP.NET Core? Deploy them to OpenFaaS as-is and stop managing Kubernetes by hand.
$ faas-cli new --lang java11 java-fn
package com.openfaas.function;
import com.openfaas.model.IHandler;
import com.openfaas.model.IResponse;
import com.openfaas.model.IRequest;
import com.openfaas.model.Response;
public class Handler implements com.openfaas.model.IHandler {
public IResponse Handle(IRequest req) {
Response res = new Response();
res.setBody("Hello, world!");
return res;
}
}
$ faas-cli template store pull golang-middleware
$ faas-cli new --lang golang-middleware go-fn
package function
import (
"fmt"
"io"
"net/http"
)
func Handle(w http.ResponseWriter, r *http.Request) {
var input []byte
if r.Body != nil {
defer r.Body.Close()
body, _ := io.ReadAll(r.Body)
input = body
}
w.WriteHeader(http.StatusOK)
w.Write([]byte(fmt.Sprintf("Body: %s", string(input))))
}
$ faas-cli template store pull python3-http
$ faas-cli new --lang python3-http python3-fn
def handle(event, context):
return {
"statusCode": 200,
"body": "Hello from OpenFaaS!"
}
$ faas-cli new --lang node22 javascript-fn
"use strict"
module.exports = async (event, context) => {
const result = {
status: "Received input: " + JSON.stringify(event.body)
};
return context
.status(200)
.succeed(result);
}
$ faas-cli template store pull bash-streaming
$ faas-cli new --lang bash-streaming bash-fn
#!/bin/sh
for i in $(seq 1 100)
do
sleep 0.001
echo "Hello" $i
done
$ faas-cli new --lang dockerfile ruby
FROM ruby:2.7-alpine
WORKDIR /home/app
COPY . .
RUN bundle install
EXPOSE 8080
CMD ["ruby", "main.rb"]
Build and scale your first Python function with a step-by-step walkthrough.
READ TUTORIAL
Alex's hands-on eBook for building and deploying functions with Node.js.
GET THE EBOOKDeploy functions to production with autoscaling, SSO/IAM, and GitOps.
VIEW PRICING