Introduction

ActyxOS makes it easy to run distributed applications on multiple nodes. It is a piece of software that allows you to run your own apps on one or more edge devices and have these apps seamlesslesy communicate and share data with each other.

Features

Data dissementation
Share events between nodes in real-time without the need for central servers or messages brokers.
Distributed data storage
Store events in the mesh network and have them ready for later consumption.
Edge runtimes
Run web-apps or docker apps on edge devices and easily package, deploy, configure and monitor them.

Our goal is to allow people to program the naturally dezentralized collaboration of humans and machines.

Architecture

On a technical level, ActyxOS combines two things:

  • a novel database dealing in flexible event streams, fully decentralised and thus available locally on each edge device — you could imagine this part as a message broker where the readers create the topics by their event stream queries, but without any central infrastructure
  • the ability to host apps and manage their settings and lifecycle

Your apps thus interact with both a runtime environment and event stream services, both offered by ActyxOS:

ActyxOS Architecture

ActyxOS provides five core services and, where applicable, associated APIs or deployment tools. These services either provide stand-alone functionality or allow you to build your own apps.

Refer to the following sections to learn more about the different services:

Design principles

  • Availability over consistency - We favor availability of each individual node to consistency of the system as a whole. Your app should always work, even when other nodes are unavailable

  • Deterministic, orthogonal APIs - APIs should have well defined behaviors and guarantees you can rely on and should be orthogonal; we like tools that do one thing but do that thing well

  • Layered architecture - We want to seperate concerns between layers. That is why ActyxOS is composed of different services and is completely independent of the Actyx Pond

  • Sensible defaults - Where possible we provide sensible defaults to flatten the learning curve. If you have specific needs, please reach out and we can help you tune ActyxOS to your needs

ActyxOS and Actyx Pond in 10 minutes

Here is a video that Alex, one of our engineers, made explaining Actyx in 10 minutes.

Get started

Want to jump right in? Check out the Quickstart. Alternatively, learn more about

Or start reading the API reference.

Stay informed

If you find issues with the documentation or have suggestions on how to improve the documentation or the project in general, please email us at [email protected] or send a tweet mentioning the @Actyx Twitter account.