Fission is an open source project maintained by

Key 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.

FUNCTION COMPOSITION

Fission Workflows is an open source framework that allows you to orchestrate a set of serverless functions without directly dealing with networking, message queues or any other function plumbing. Fission functions can be composed into workflows to create complex serverless applications with sequential, parallel or even dynamic flow controls.

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. This helps reduce the difficulties involved with managing a function base of serverless code across multiple endpoints.

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 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. Autoscaling enables optimal usage of resources to execute functions, by using a baseline capacity with minimum scale and ability to burst up to maximum scale based on spikes in demand.