Skip to main content

Overview

WIP. The eigr.io documentation is a work-in-progress right now.

Abstract

Serverless runtimes are often hidden in a cloud providers offering and exposed solely by their programming API and deployment procedures. eigr.io is an open-source serverless runtime built for the cloud and on-premises, running on the BEAM with a polyglot programming model to build general purpose applications.

Key Points

  • The eigr/functions project is no fork of Cloudstate but based on a new implementation of the Cloudstate protocol.
  • The technical basis for project eigr is Erlang/OTP and the BEAM-VM.
  • Developer Libraries are intended to be compatible with Cloudstate and Akka Serverless.

Function as a Service (FaaS)

FaaS
╔═══════════════╗    ╔═══════════════════╗    ╔═══════════════╗
║ ║ ║ ║ ║ ║
║ Message In ║───▶║ Service ║───▶║ Message Out ║
║ ║ ║ ║ ║ ║
╚═══════════════╝ ╚═══════════════════╝ ╚═══════════════╝

"message in, message out" – Bonér, 2020, "CloudState—Towards Stateful Serverless"

Stateful Services

State is brought to the incoming message right at the time the message passed to the service and even before the service handles that message. This is possible by state-models that are abstracted in a way so that state can be lifted to a context available to a service that has chosen the very state-model.

Stateful FaaS
╔═══════════════╗                             ╔═══════════════╗
║ ║─┐ ┌─▶║ ║
║ Message In ║ │ ╔═══════════════════╗ │ ║ Message Out ║
║ ║ └─▶║ ║─┘ ║ ║
╚═══════════════╝ ║ Service ║ ╚═══════════════╝
╔═══════════════╗ ┌─▶║ ║─┐ ╔═══════════════╗
║ ║ │ ╚═══════════════════╝ │ ║ ║
║ State In ║─┘ └─▶║ State Out ║
║ ║ ║ ║
╚═══════════════╝ ╚═══════════════╝