Overview

This service is currently available as a beta release. Functionality may be subject to change.

Soracom Orbit is an inline data processing service that gives you the ability to write custom programs that transform device data as it passes to and from the cloud. With Orbit, your devices and cloud services can speak in their own separate languages, while Orbit provides translation in between.

In many IoT applications, differences between hardware requirements and cloud architecture considerations often lead to situations where devices and backend services speak different languages. For example, your hardware engineers may be trying to reduce power consumption by transmitting data only in raw binary without any additional processing, while your backend developers are building systems that handle data in a more universal format like JSON to ensure cloud services can be easily maintained. Usually, some amount of compromise is required, such as formatting the data on the device before sending it, or implementing additional server functions to parse device data.

Orbit lets you build a translation layer so that data is seamlessly transformed between different formats, which allows you to keep device and cloud concerns separate and maintain a highly scalable architecture.

With Orbit, you can:

Orbit is a bidirectional service, meaning that data transformation can happen both from device-to-cloud as well as cloud-to-device. In addition, Orbit gives you the power to customize the transformation applied in each direction.

Architecture

Orbit consists of the following components:

With Orbit, you first develop a module on your local machine, implementing the actual code that transforms device data into a format understood by your servers, or vice versa. Then you create a Soralet and deploy your module into this environment.

Orbit overview

You can then activate the Soralet for a Soracom device group, and once the devices begin sending data to your servers, the Soralet runs the code on the device data, as well as any responses sent from your server back to the device.


Compared to Binary Parser

Binary Parser provides some similar capabilities by receiving binary data sent from your device and decoding it into JSON data based on a pre-defined format.

While Binary Parser does not involve any code development, it has several significant limitations:


Compared to Funk

In terms of functionality, you can also use Soracom Funk to send device data to a cloud function service (such as AWS Lambda, Azure Functions, or Google Cloud Functions) in order to process the data before sending the data to your servers. However, as this process involves an external function provider, there are several limitations:


Orbit SDKs and Tools

Soracom provides SDKs for developing WASM modules in the following programming languages:

In addition, Soracom provides tools for Visual Studio Code that allow developers to test and deploy to a Soralet directly within VS Code, to provide a robust development experience.


Limitations

When developing and testing a module, the following resource limitation apply:

In addition, the following limitations may apply due to Orbit runtime restrictions:


Implementation

Developing WASM modules for use with Orbit involves the following steps:

  1. Set up a WASM module development environment on your machine using the SDKs provided by Soracom
  2. Develop a WASM module and test it locally
  3. Create a Soralet and deploy a WASM module, then test it remotely on the Soracom platform
  4. Configure a group to use your Soralet
  5. Begin sending and receiving data with an Air device attached to the group

Free Tier

Soracom provides a free tier for Orbit with each Soracom account. Refer to the Pricing & Fee Schedule for more information.