Architecture

Fission architecture in detail

Fission consists of multiple components that build up the architecture. From a user’s and contributor’s perspective these components can be broadly grouped into core and optional components.

The core components are the ones you should definitely know about while using fission. The optional components, on the other hand, are good to know and can be learned as you go.

Core Components

The core components include:

Controller

Accept REST API requests and create Fission resources

Executor

Component to spin up function pods

Router

Bridge between triggers and functions

Function Pod

Place to load and execute the user function

Builder Manager

Compile the source code into a runnable function

Builder Pod

Place to build and create executable user function

StorageSvc

Home for source and deployment archives

Optional Components

The optional components include:

Logger

Record and persist function logs

KubeWatcher

Hawkeye to watch resource changes in Kubernetes cluster

Message Queue Trigger

Subscribe topics and invoke functions

Timer

Invoke functions periodically