A Pre-Integrated, Open Source Stack for Cloud to Edge
In the October 2019 Eclipse Foundation newsletter, Jens Reimann and I explored the need for Eclipse IoT packages and introduced the Eclipse IoT Packages project. Since then, the IoT Packages project has been expanded to include edge technology and we’re now working to add the Eclipse ioFog project to the package.
The resulting package will give developers a pre-integrated, open source, cloud-to-edge stack to address edge use cases. If you’re familiar with Microsoft’s Azure IoT Edge, we’re working to solve the same issues, but with open source software.
Before I get to the benefits and use cases of the Cloud2Edge package, here’s a quick summary of the four projects it will encompass:
- Eclipse Hono for device connectivity
- Eclipse Ditto for managing and organizing digital representations of physical objects —digital twins
- Eclipse hawkBit for rolling out and managing software updates to IoT devices
- Eclipse ioFog for building and running applications at the edge at enterprise scale
Developers can install a single, off-the-shelf package and immediately start using the technologies within it without the time and effort required to manually integrate them.
Inserting an Edge Node in IoT Applications Increases Efficiency
With a classic IoT application, the devices at the edge of the network are directly connected to a cloud backend. But, in many applications, this is not the optimal approach.
For example, if application logic is developed in a cloud environment and deployed in the cloud, you can run into situations where you’re transferring large volumes of data from edge devices to the cloud, but most of the data is filtered out when it’s processed in the cloud. You’re using valuable bandwidth for data that’s not needed. In applications, such as data analytics, where edge devices are producing data at very high sampling rates, you can’t afford to transmit all of that data over the internet to the cloud.
The Cloud2Edge package inserts an edge node in between the cloud backend and the edge devices. Now, the edge devices connect to the edge node and the edge node connects to the cloud backend.
Shifting Workloads for Maximum Flexibility
The business logic is implemented in the cloud using containers and orchestrated using Kubernetes, as is typical in IoT applications. However, the business logic is also deployed on the edge node in the form of a container image. This approach gives developers the flexibility to move workloads from the cloud to the edge node that’s closer to the devices.
The edge node processes, filters, and aggregates the data from the edge devices so only relevant data is sent to the cloud. This is possible thanks to the trend toward ever-increasing computing resources at the edge. It used to be that only minimal computing resources were located close to the edge device, but today, we’re more likely to see rack-mounted server systems with plenty of compute power and RAM.
Shifting workloads closer to edge devices reduces:
- Bandwidth consumption because less data is transmitted to the cloud backend
- Backend processing power requirements because data processing occurs on the edge node
- Latency because the edge node is closer to the edge devices
Because the edge node is already integrated into the overall system, developers can redeploy the workload with a simple system configuration change. In the past, this flexibility wasn’t possible because development and deployment models for the cloud backend and the gateway were completely separate.
Delivering Software Updates to the Edge
In businesses with many distributed franchises or branch locations, the ability to take business logic closer to the network edge enables more efficient and cost-effective operations.
In the past, the organization responsible for IoT operations had to send software updates, or an IT person, to each point of sale location so the software could be updated locally.
With integrated cloud and edge technologies, the computers at each branch location are considered the edge nodes in the overall cluster that’s managed from the cloud. This allows the IoT operations organization to roll out and manage the software updates to each point of sale location from the cloud. The IoT operations organization can ensure all locations migrate to the updated software at the right time with no need to send IT personnel to each site.
As manufacturers continue to evolve their global operations, they may also be able to leverage the edge paradigm to roll out software updates to the furthest reaches of their organization from a central system. This capability will help manufacturers ensure every facility is running the same software and applying the same monitoring processes to meet manufacturing consistency and corporate compliance requirements.
IoT and Edge Are Complementary and Evolutionary
Moving workloads from the cloud to the edge is important no matter which way you approach IoT and edge.
Some people believe edge computing originates at the field devices and the goal is to extract the business logic from the device onto a gateway that’s close to the device. In this case, the technologies are complementary.
Others believe edge computing originates with the business logic in the cloud and extends out to the devices at the edge. This is the evolutionary viewpoint.
With the Eclipse Foundation’s approach to integrating IoT and edge, developers can approach applications from any perspective. They can run business logic in the cloud backend. At the same time, they can integrate and manage edge nodes to bring workloads to them using the same management tools they use in the cloud.
Developers have a de-facto standard, open source stack that allows them to move cloud workloads wherever needed, whenever needed. They can customize the stack for their unique requirements and deploy it anywhere from a public or private cloud to a private data center or even their local laptop.
Get Involved in Our IoT and Edge Working Groups
We’re in the early stages of experimenting with the Cloud2Edge package, but we see a lot of potential for it and we’re excited about the opportunities it enables.
We invite everyone with an interest in IoT and edge applications to get involved with advancing the projects at the Eclipse Foundation, even if you’re not ready for integration.
- Eclipse IoT provides access to more than 40 open source IoT projects and a community that includes leading organizations from a variety of industries.
- The recently created Edge Native Working Group delivers open source edge computing code that’s already widely deployed in production environments.
The more we collaborate, the easier it will be for everyone to take advantage of the innovative technologies in these two rapidly evolving groups at the Eclipse Foundation.