F2S

Functions as a Service

open source
scale to zero
gitops config

F2S

F2S OSS is our OpenSource Functions as a Service Platform for Kubernetes.
It is under active development and has a lot of useful business features:

  • scale to zero
  • autoscaling
  • gitops configuration (crd's)
  • kafka integration (in development)
  • authentication (none, basic, token)

Architecture

F2S Architecture

F2S uses 2 namespaces: "F2S" - where the F2S Operator runs and "F2S-Containers", where the workloads / Pods are started.

The F2S Operator itself is an opensource Go-Program. One instance of the F2S Operator will serve as the master. F2S Operator encompasses the following components:

  • API Server
    API Server is the REST API Interface. Functions can be defined and invoked via API. All invocations are sent to the dispatcher component.
  • Metrics
    F2S Exposes Metrics in order to be able to make scaling decisions and have insight in all current activity
  • Config
    The Config Component observes CRD's (F2SFunction Declarations) in "f2s" namespace on Kubernetes
  • Kafka
    Package for Interaction with Kafka Event Bus (planned). All invocations are sent to dispatcher.
  • Operator
    Operator reacts to Config Changes and creates or deletes deployments and services in f2s-containers namespace. It is also responsible for scaling functions up and down.
  • Dispatcher
    Dispatcher picks up all incoming requests (REST, Kafka) and decides which function pod should serve the request.

Gitops

F2S allows for a Gitops approach as you can define all F2S Function Declarations by Kubernetes CRDs

Links

Quick Start

Get it up and running on your Kubernetes Cluster in 5 Minutes

Contribute

Start contributing to the project on our Github Page