Based on customer requests we have implemented support for running Crosser Edge Streaming Analytics on Azure IoT Edge. Now you can innovate much faster and without the cost, risk and developer dependencies that come with writing code.
The Crosser Edge Streaming Analytics solution allows non-software developers to implement and deploy streaming analytics at the edge, while at the same time supporting advanced use cases including machine learning and custom algorithms. It’s a self-service platform that empowers more people to easily design and implement advanced IoT solutions.
The Azure IoT Edge solution provides a generic platform for collecting data and deploying and managing Docker containers running at the edge for processing of data to be delivered to the Azure IoT Hub in the cloud.
In this article we will look at why it may make sense to combine these two solutions.
Crosser Edge Node
The Crosser Edge Streaming Analytics solution consists of the Crosser Edge node and The Crosser Cloud service.
The Edge node runs one or several flows where pre-built modules are connected into flows to define the processing of data. The module library contains Collector modules for getting data from different sources (OPC, Modbus, MQTT…), Compute modules for processing the data (filtering, conditions, metadata, Machine Learning…) and Action modules for sending the results to external systems, on-premise or in the cloud (AWS, Azure, HTTP, Mail…) or for creating local triggers.
For advanced users, it is also possible to run custom code in code modules (C# and Python), for example, to run a trained ML model in TensorFlow. Flows are easily built with drag and drop using the graphical Flow Studio editor, a part of the Crosser Cloud service.
Once a flow has been built the Edge Director is used to deploy the flow. The Edge Director operates on groups of nodes, where a group is selected by filtering on tags assigned to the nodes. It’s as easy to deploy or update a flow on a single node as on thousands of nodes which saves significant time for deploying and updating flows. All nodes are monitored to ensure proper operation. The Edge Director is another tool within Crosser Cloud.
The Crosser Cloud service is a pure management solution, a control layer. The actual sensor data and the results of the edge computing are not sent to Crosser Cloud, it is sent to wherever you want, as defined by the flows running on each edge node.
Azure IoT Edge
The Azure IoT Edge solution is an extension of the general Azure IoT solution that adds processing of data at the edge before being sent to the Azure cloud through the IoT Hub. It offers a generic Docker environment where custom processing is implemented in one or several docker containers.
An edge IoT hub is used to route data between the modules/containers and module twins are available for configuring modules at the edge. Docker containers are deployed at the edge using centralized deployment scripts and these can be applied on groups of edges that should run the same configuration.
The combined Architecture
The Crosser edge node is deployed as a single Docker container and can run on any platform that supports Docker. The Azure IoT edge solution provides deployment and management of Docker containers and is therefore perfectly suited to host the Crosser edge node. Once deployed the Crosser edge node is configured using the Crosser Cloud service, just like any other edge node.
The module library has connectors for getting data from the edge hub into the Crosser flows and for sending the result back to the edge hub, for further processing by other modules, or for delivery to the IoT hub in the Azure cloud.
In addition, all capabilities of the Crosser edge node are still available, including connectors to external data sources and services. It is, therefore, possible to get data from other sources than the edge hub and results can be sent to other services than the edge hub.
Why combining Crosser Edge and Azure IoT Edge?
The Crosser edge solution can run on any platform supporting Docker and doesn’t rely on any other local services, so why combine it with the Azure IoT Edge?
There are several technical reasons why this makes sense, including:
- Implement advanced streaming analytics functions on Azure IoT Edge without any software development
- Use the Crosser collector modules to get data from your machines into the edge hub. The Azure IoT Edge only supports MQTT natively.
- Use the Crosser action modules to send data to any external system. The Azure IoT Edge only sends data to the IoT hub in the cloud natively.