Open source
Kubernetes-native
Serverless Framework



What is Fission?

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.

Benefits

Focus on Code,
Not Plumbing

Fission lets developers run code functions easily, while automating the menial work of configuring Kubernetes micro-services concepts behind the scenes. Just write your code functions and Fission will make it run on Kubernetes.

Portable: Run your Lambda-like service, anywhere

Fission is open source under the Apache license. Fission works on a Kubernetes cluster anywhere: on your laptop, in any public cloud, or in a private data-center. Write your application with the flexibility of deploying it anywhere.

Extensible and
Customizable

Fission is extensible to any programming language (Python, NodeJS, Go, C#, PHP are supported today). It abstracts away containers by default, but you can build your own containers if you need to.

Features

Kubernetes Native

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.

Fast Cold-Start

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

Declarative Application Specifications

Declarative specifications give the developer the capability to define a function once and then deploy it anywhere. Fission resources (functions, triggers etc.) can be checked into source control, and the application can be recreated from them.

Administration & Operational Simplicity

Fission aims for operational simplicity by incorporating logs directly into the CLI, via integration with Fluentd. It also integrates with Prometheus for metrics tracking and dashboard visibility.

Istio Service-mesh Integration

Fission integrates with Istio, which is an open platform to connect, manage and secure micro-services. With Istio, users also get the ability to monitor function usage and trace request latency through dashboards.

Wide Language Support

Fission is extensible to any programming language of your choice. Python, NodeJS, Go, C#, PHP are supported today, but you can build your own custom containers if you need to.

Function Autoscaling

Fission provides autoscaling for functions based on CPU usage. In the future, custom metrics will be also supported for scaling functions. You can set the initial and maximum CPU for a function and target CPU at which autoscaling will be triggered.

Use Cases

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.



What's New

FISSION DZONE REFCARD

New! Download the Fission.io Refcard

Get started with Serverless on Kubernetes in 5 minutes! Learn how to set up Fission, its key concepts, how to create and invoke a function, monitor its performance, and more.

BLOG

Fission PostgreSQL Database Sample

Learn how to use Fission functions with PostgreSQL database and perform basic operations on it.

BLOG

Next.js Application with Fission

Learn how you can create a Next.js application with Fission. We create a Next.js blog in this tutorial.