Combine Crosser Edge Streaming Analytics and Azure IoT Edge
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.
Replace developers with self-service software From a business perspective the Crosser / Azure Edge combination brings several benefits:
- Easier - Empowers non-developers to quickly and easily build advanced Industrial IoT projects.
- More Innovation - Visual development with pre-built modules encourages more innovation.
- No Dependencies - Simplifies decentralization and lets teams cooperate easily.
- Frees up Developer Time - Allows developers to focus on more value-added tasks.
- Faster - Enables faster POC’s and Time to Market.
- Lower Cost- Dramatically reduces Total Cost of Ownership
- Flexibility & Independence - Send data to any cloud or enterprise systems. Allows for a multi-cloud strategy.
About the author
Goran Appelquist (Ph.D) | CTO
Göran has 20 years experience in leading technology teams. He’s the lead architect of our end-to-end solution and is extremely focused in securing the lowest possible Total Cost of Ownership for our customers.
“Hidden Lifecycle (employee) cost can account for 5-10 times the purchase price of software. Our goal is to offer a solution that automates and removes most of the tasks that is costly over the lifecycle.
My career started in the academic world where I got a PhD in physics by researching large scale data acquisition systems for physics experiments, such as the LHC at CERN. After leaving academia I have been working in several tech startups in different management positions over the last 20 years.
In most of these positions I have stood with one foot in the R&D team and another in the product/business teams. My passion is learning new technologies, use it to develop innovative products and explain the solutions to end users, technical or non-technical."