Avoguard

EdgeFlux™

Build industrial data delivery pipelines with unparalleled ease, flexibility, observability, and control.

Connect devices, gateways, networks, and protocols.
From the network layer to the application layer.

In a visual flow diagram or as code.

Learn more

Overview

EdgeFlux™ is an industrial software-defined edge networking solution, supporting a curated collection of devices, gateways, data formats, protocols, inputs, and outputs.

It is designed for OT and IT teams in industrial environments and system integrators (SI) to connect any device at a site into a unified edge software-defined network and build data delivery pipelines into a unified namespace in a modern, visual way.

https://edgeflux.avoguard.com/iot-example/input EdgeFlux™ | Avoguard DEVICE Wi-Fi wise4250.advantech.local IP 10.0.42.1 GATEWAY Wi-Fi gw.advantech.local IP 10.0.42.1 GATEWAY LoRaWAN lorawan.gw.avoguard.com IP 10.0.42.2 DEVICE LoRaWAN Motor #1 Health Sensor DevEUI CA:FE:BA::D1:BE:EF MQTT Broker mqtt.hivemq.local IP 10.0.42.254 | v3.1.1 DEVICE NB-IoT my.device.tmobile.com IMEI 35-305068-412417-3 MQTT Broker emqx.mqtt.edgeflux.net v5.0

EdgeFlux UI snapshot | Input flow example

We help you get your data faster, easier, and more reliably. Starting with hardware - industrial sensor devices and industrial gateways. No changes needed to the existing infrastructure.

We do that by combining a visual flow configuration, diagnostic, and monitoring tool with the power of WebAssembly to deliver both high-performance and customizability of data delivery, transformation, and aggregation pipelines.

For scale-out, all flows can be versioned and deployed as code (IaC). But writing coding is optional, the visual flow has all the power out-of-the-box.

https://edgeflux.avoguard.com/iot-example/output EdgeFlux™ | Avoguard MQTT Broker mqtt.hivemq.local IP 10.0.42.254 | v3.1.1 MQTT Broker emqx.mqtt.edgeflux.net v5.0 MQTT Subscription site/area/line/cell/# QoS 1 BOXLET Transformer Binary to JSON v0.3.11 @12 msg/s, 65535 msgs today BOXLET Aggregator 1 per hour v0.1.4 FILE Share file://archive.local/JSON/ Pattern {date}/{hour}.json BOXLET Transformer Binary to Influx V2 v0.3.11 INFLUXDB Client v2.influxdb.local Bucket EDGEFLUX

EdgeFlux UI snapshot | Output flow example

Highlights

Glue for IoT

No more compromises between ease-of-use and performance.
No more compromises between performance and flexibility.
EdgeFlux is the universal glue for IoT.

Whenever you need to connect two components together, EdgeFlux is the answer. Whether it is a device, a gateway, an on-premise system, or a cloud service.

Familiar UI

If you have ever used a visual tool like Node-RED, you will feel right at home with EdgeFlux.

EdgeFlux is a visual tool for building data pipelines. It is designed to be intuitive and easy to use, while still being powerful and flexible.

It is a web application, so you can access it from anywhere, and it is designed to be responsive, so you can use it on your phone or tablet.

Visual overview

Say goodbye to tables and rows of configuration data.

EdgeFlux is designed to give you a visual overview of your data pipelines, so you can easily see what is going on, instantly, on a single screen.

Our visual pipeline displays key health metrics, such as message rates, used bandwidth, latency, and connection status, as well as alerts.

Lightweight but powerful

EdgeFlux is designed to be lightweight and fast.

In minimum configuration, it can run on as little as 128 MB of RAM, which makes it great for deployment on edge gateways.

With more resources, it can handle tens of thousands of devices and thousands of messages per second per node of a cluster. It scales out to as many nodes as you need.

In enterprise configuration, it supports high-availability deployments and an active-active setup, so you can perform upgrades and maintenance without any downtime.

Customizable and extendable

EdgeFlux is powered by Boxlets™, a lightweight, secure, and portable runtime system for plugins.

When you need to process data according to custom business logic, many solutions use proprietary template formats, proprietary parser languages, or low-performance and high overhead Javascript workers.

EdgeFlux brings both the freedom of choice of programming language and performance to the edge.

It is built on top of WebAssembly, which means that you can write plugins in any language that compiles to WebAssembly, such as C, C++, Rust, Go, and many more.

Vast library of inputs and outputs

EdgeFlux comes with a sizable library of inputs and outputs, so you can connect to any device, gateway, or cloud service out-of-the-box.

The library includes specific devices, gateways, and cloud services, as well as generic protocols.

If you need an input or output that is not included, Avoguard can develop one for you. But you can also write your own Boxlet™ in any programming language that compiles to WebAssembly.

Control interface x4

The versatility of EdgeFlux means that anyone on an OT or IT team can use their preferred method of work, without compromises.

Control for OT teams

1. Visual flow

Our primary control plane is a visual flow diagram. The visual flow shows not only configuration, but also runtime state, monitoring information, alerts, and logs. It is a web application that you can access from anywhere.

Any changes made through the Visual flow can be tested before deployment and simulated.

Once deployed, the changes will be instantly available in the Responsive UI, API, and the configuration file.

2. Responsive UI

Do you prefer forms and tables over a visual tool? Or do you simply need a basic interface usable on a small screen of a mobile phone or a tablet? No problem.

EdgeFlux comes with a responsive UI in which all visual flows can be displayed and configured as a regular web page.

Changes made through the responsive UI will be instantly available in Visual Flow, API, and the configuration file.

Control for IT teams

3. API

In case you have an existing system that you use as a single source of truth or control plane, you can integrate EdgeFlux into it through the EdgeFlux API.

The API can also be used to automate configuration changes, or to integrate EdgeFlux into CI/CD.

Changes made through the API will be instantly available in Visual Flow, Responsive UI, and the configuration file.

4. Configuration file

In cases where you need CI/CD pipelines and versioning, EdgeFlow configuration can be exported as code (JSON / YAML / TOML)

The configuration file can be backed-up, versioned as text in a Git repository, and loaded back into EdgeFlux at any time.

Changes made to the configuration file will be instantly available in Visual Flow, API, and Responsive UI.

How does it work?

EdgeFlux is installed on an industrial gateway, industrial edge server, an on-premise server, or in the cloud. Or a combination of these in advanced configurations. You can also buy a pre-installed gateway or server that is plug-and-play.

Once installed, a web drag-and-drop interface will guide you towards connecting your first data stream. It can start with an auto-discovered device, or you might need to configure your devices explicitly.

Alternatively, you can connect to an existing MQTT broker or an OPC-UA server, tap into the existing data stream, and direct them to new destinations.

The destinations might be auto-discovered too, or you might need to configure them explicitly.

From there, you can monitor the flow status, such as message rates, bandwidth, latency, and status of individual components and connections. Alerts can be configured to notify you should something go wrong.

Want to know more about how it works? Reach out!

 

  1. Install EdgeFlux

    or

    Buy + plug-and-play

  2. Drag-and-drop input

    or

    auto-discover input

  3. Drag-and-drop output

  4. Data flows.

  5. Monitor, alert,
    tap into data

+

The power of WebAssembly meets visual tooling

With many legacy systems, you have to choose between ease-of-use and performance.

High performance systems used to have complex configuration files, with proprietary formats and syntax that takes long time to master. Especially if you need to write custom business logic.

Easy to use systems used to have limited performance and high overhead, because they relied on scripting languages, and a bloated system of dependencies that consumes all the resources of an embedded gateway.

With EdgeFlux, you get best of both worlds. The innovative combination of Boxlets™, WebAssembly, visual configuration, and visual monitoring brings you both ease-of-use and performance.

Boxlets™

Boxlets are a system for building, deploying, and running plugins for EdgeFlux. They are lightweight, secure, and portable runtime system for plugins.

Boxlets are the building blocks of EdgeFlux. They enable composability through well-defined but versatile input and output interfaces.

Learn more

WebAssembly

By running Boxlets in WebAssembly, we get the best of two worlds. We get the performance of native code with the portability of a virtual machine.

Thanks to WebAssembly, Boxlets can have low memory footprint, resource usage, and provide high degree of isolation.

Visual configuration

All the technology would be useless if it was not easy to use. That is why we have designed EdgeFlux to be intuitive and easy to use.

To build a flow in EdgeFlux, you simply drag and drop Boxlets from the library to the canvas, connect them, and configure them into a data pipeline.

Visual monitoring

For operations teams, work does not end with configuration. That is why EdgeFlux comes with a monitoring tool integrated in the visual configuration tool.

The visual monitoring tool gives you an instant overview of the health of your devices, connections, and data pipelines, so you can quickly see if something is wrong.

Boxlet™ library

Device plugins

Advantech device plugin
Advantech
Banner device plugin
Banner
Emerson device plugin
Emerson
IFM device plugin
IFM
Monnit device plugin
Monnit
NCD device plugin
NCD
SKF device plugin
SKF

Gateway plugins

Aaeon gateway plugin
Aaeon
Advantech gateway plugin
Advantech
Cisco gateway plugin
Cisco
Dell gateway plugin
Dell
Lenovo gateway plugin
Lenovo
OnLogic gateway plugin
OnLogic
RAK gateway plugin
RAK
Robustel gateway plugin
Robustel
MultiTech gateway plugin
MultiTech

Input plugins

IO-Link input plugin
IO-Link
MQTT input plugin
MQTT
Modbus input plugin
Modbus
OPC-UA input plugin
OPC-UA
Sparkplug B input plugin
Sparkplug B
Ignition input plugin
Ignition
PTC input plugin
PTC
ActiveMQ input plugin
ActiveMQ
Aerospike input plugin
Aerospike
AMQP input plugin
AMQP
Aurora input plugin
Aurora
Azure Storage Queue input plugin
Azure Storage Queue
Cassandra input plugin
Cassandra
ClickHouse input plugin
ClickHouse
GCP PubSub input plugin
GCP PubSub
Amazon CloudWatch input plugin
Amazon CloudWatch
Consul input plugin
Consul
CouchDB input plugin
CouchDB
Docker input plugin
Docker
Dovecot input plugin
Dovecot
Amazon ECS input plugin
Amazon ECS
Elasticsearch input plugin
Elasticsearch
Azure Event Hubs input plugin
Azure Event Hubs
File input plugin
File
GitHub input plugin
GitHub
GrayLog input plugin
GrayLog
HTTP input plugin
HTTP
Icinga2 input plugin
Icinga2
InfluxDB input plugin
InfluxDB
Jenkins input plugin
Jenkins
Jolokia input plugin
Jolokia
Kafka input plugin
Kafka
Kibana input plugin
Kibana
Kinesis Consumer input plugin
Kinesis Consumer
KNX input plugin
KNX
Kubernetes input plugin
Kubernetes
Logparser input plugin
Logparser
Logstash input plugin
Logstash
Memcached input plugin
Memcached
MongoDB input plugin
MongoDB
Monit input plugin
Monit
MySQL input plugin
MySQL
NATS input plugin
NATS
NSQ input plugin
NSQ
NVIDIA SMI input plugin
NVIDIA SMI
OpenLDAP input plugin
OpenLDAP
OpenSMTPD input plugin
OpenSMTPD
OpenStack input plugin
OpenStack
OpenTelemetry input plugin
OpenTelemetry
PF input plugin
PF
PgBouncer input plugin
PgBouncer
PostgreSQL input plugin
PostgreSQL
Prometheus input plugin
Prometheus
PuppetAgent input plugin
PuppetAgent
RabbitMQ input plugin
RabbitMQ
Redfish input plugin
Redfish
Redis input plugin
Redis
RethinkDB input plugin
RethinkDB
Riak input plugin
Riak
Salesforce input plugin
Salesforce
SFlow input plugin
SFlow
SNMP input plugin
SNMP
Solr input plugin
Solr
SQL input plugin
SQL
SQL Server input plugin
SQL Server
Stackdriver input plugin
Stackdriver
Suricata input plugin
Suricata
Syslog input plugin
Syslog
Webhooks input plugin
Webhooks
Wireguard input plugin
Wireguard
Wireless input plugin
Wireless

Output plugins

Aveva historian output plugin
AVEVA historian
Canary historian output plugin
Canary historian
Factry historian output plugin
Factry historian
AMQP output plugin
AMQP
Azure Data Explorer output plugin
Azure Data Explorer
Azure Monitor output plugin
Azure Monitor
GCP BigQuery output plugin
GCP BigQuery
GCP PubSub output plugin
GCP PubSub
Amazon CloudWatch output plugin
Amazon CloudWatch
Datadog output plugin
Datadog
Elasticsearch output plugin
Elasticsearch
Azure Event Hubs output plugin
Azure Event Hubs
File output plugin
File
Graphite output plugin
Graphite
GrayLog output plugin
GrayLog
HTTP output plugin
HTTP
InfluxDB output plugin
InfluxDB
IoTDB output plugin
IoTDB
Kafka output plugin
Kafka
Kinesis output plugin
Kinesis
Logz.io output plugin
Logz.io
Loki output plugin
Loki
MongoDB output plugin
MongoDB
MQTT output plugin
MQTT
NATS output plugin
NATS
New Relic output plugin
New Relic
NSQ output plugin
NSQ
OpenTelemetry output plugin
OpenTelemetry
PostgreSQL output plugin
PostgreSQL
Prometheus output plugin
Prometheus
RedisTimeSeries output plugin
RedisTimeSeries
UNIX Socket Writer output plugin
UNIX Socket Writer
SQL output plugin
SQL
Stackdriver output plugin
Stackdriver
Sumo Logic output plugin
Sumo Logic
Syslog output plugin
Syslog
Amazon Timestream output plugin
Amazon Timestream
Warp 10 output plugin
Warp 10
WebSocket output plugin
WebSocket

Comparison of EdgeFlux and Node-RED

We love Node-RED and we use it ourselves.

The intent of this table is to show the factual differences between the products,
and help you choose the right product based on your needs.

If you are looking for a TL;DR, you can think of EdgeFlux as an enterprise version of Node-RED.

If you find any inaccuracies, or if you didn't find answer to your question, please let us know.

EdgeFlux

Node-RED (v.3.1.0)

Visual configuration Yes Yes
Code-based configuration (IaC) Yes No1
Configuration API Yes No1
Responsive UI
(usable on mobile phone)
Yes No
Secure by default Yes No
Operations
Visual monitoring Extensive Basic
Observability / monitoring API Easy Hard
Flow simulation Easy Hard
Debug logs Yes Yes
Audit logs Yes Yes
Plugins
Plugin language Any2 Javascript
Plugin isolation High None
Plugin security High Low
Plugin ecosystem Less than a hundred audited modules Over 225,000 unaudited modules
Plugin runtime WebAssembly V8
Runtime
Execution mode Compiled Interpreted
Resource usage Low High
Maximum throughput Great (scale-out) Good (no scale-out)
RAM Usage
Minimum / empty flow
~20MB ~100MB
RAM Usage
with debug and monitoring3
50MB - 100MB 500MB - 1GB
DevOps
IaC (Infrastructure as Code) Yes No4
Versioning Yes No4
Multi-tenant Yes No
Tenant isolation High N/A
Clustering /
Horizontal scaling
Yes No
Mesh / distributed deployment Yes DIY
  1. We don't consider editing generated Node-RED JSON files as code-based configuration.
    We see them more as import / export tool than an IaC tool.
  2. Any language that compiles to LLVM or WASM
  3. Based on measured usage of Node-RED v3.1.0 docker container on an x64 machine with debug and status reporting nodes enabled.
  4. Available through 3rd parties like FlowFuse

Next steps

If you're ready to use or evaluate EdgeFlux,
please contact us or ask for a product quote or a product demo.

Contact Avoguard

Frequently asked questions (FAQ)

How does EdgeFlux fit into the Unified Namespace (UNS) Architecture?

EdgeFlux is the data delivery component of the Unified Namespace Architecture.

It is the component that connects the data sources to the data sinks, through the Unified Namespace servers / brokers. For example, it can be used to connect a Modbus device to an MQTT topic, or to connect an MQTT topic to a REST API or a webhook.

Having a unified namespace makes EdgeFlux flows simpler, easier to maintain and extend.

But EdgeFlux can also be used to connect data sources and sinks that are not part of the Unified Namespace Architecture, and bring them into the Unified Namespace through transformations and protocol translation.