Skip to main content

Working with edges

An edge is a a computing infrastructure that is close to the source of data. This is often a smaller unit such as a microcontroller but can also be a computer or smartphone with sensors that create the data we want to analyze. Often in this documentation edge refers to an instance of SA Engine running on an edge unit.

Getting started

To start working on the edge, begin with installing SA Engine on your unit. Installation intructions for different platforms are found in SA Engine Installation.

It is then possible to interact with the edge SA Engine through the command line interface. To do this, navigate to the sa.engine/bin directory and run the executable sa.engine. This will launch SA Engine in the terminal window, enabling execution of functions and queries. It is convenient to add the full path to the sa.engine/bin directory to the PATH environment variable on the edge unit.

Edge with sensors and SA engine

Edge with sensors and SA engine.

Federations

A federation is several instances of SA Engine that are connected to each other. Depending on their roles in the federation, the instances can be referred to as client, edge or nameserver. Any instance in a federation can also be referred to as a peer.

At minimum a federation needs one nameserver instance, to which edges and clients can connect. Once an edge is connected to a federation, queries and functions can be executed on the edge using a client on another unit. This enables using a richer user interface such as SA Studio or VS Code.

The SA Studio sandbox environment can be used as a first federation for experimenting with edge connection. It contains a nameserver and a SA Studio client that can be reached on the web.

A small federation

A small federation containing one edge running SA Engine. The edge is connected to a nameserver and a client in the cloud, and the client in the cloud is accessed from a web browser.