Fission: Serverless functions for Kubernetes

Serverless Functions for Kubernetes

Star

Fission is a framework for serverless functions on Kubernetes.

Write short-lived functions in any language, and map them to HTTP requests (or other event triggers).

Deploy functions instantly with one command. There are no containers to build, and no Docker registries to manage.

$ cat hello.js
module.exports = function(context, callback) {
    callback(200, "Hello, world!\n");
}

$ fission function create --name hello --env nodejs --code hello.js

$ fission route add --function hello --url /hello

$ curl http://router.fission/hello
Hello, world!

Extensible

Fission is extensible to any programming language (Python and NodeJS are supported for now).

It abstracts away containers by default, but you can build your own containers if you need to.

Fast

Fission maintains a pool of containers so your functions have very low cold-start latencies, typically ~100msec.

Everywhere

Fission is open source under the Apache License. It works on a Kubernetes cluster anywhere: in your private datacenter, in a public cloud, or on your laptop.

Build Serverless API Backends

Create API backends for web and mobile apps without managing servers. Just write functions, and map them to HTTP routes. Fission takes care of the rest: deployment, routing, scalability, availability. Use Kubernetes' service discovery and networking to interoperate with other services, like Redis, Postgres, Etcd etc.

Easily implement Webhooks

Webhooks are a popular way to integrate with third-party services. Slack provides webhooks that are triggered by certain words or messages; Github provides webhooks triggered by events in Git repositories. Fission is a great place to implement webhooks: just write the code, map it to a URL, and point the webhook at that URL.

Write Kubernetes Event Handlers

By subscribing to Kubernetes watches, you can write custom automation for your Kubernetes infrastructure. Fission's integration with Kubernetes watches allows you to monitor resources such as Pods and Services, and execute arbitrary functions when the watched set of resources change.

Learn More about Fission

Github Project Follow @fissionio Join us on Slack

Fission is an open source project by Platform9 Systems and many contributors.