When implementing a complete industrial IoT system, some of the biggest and most overlooked challenges begin at the edge. Generating business value requires well-architected technologies at layers that even experienced cloud developers may be unfamiliar with. Let’s look at a few of the most important areas to get right.
Software compatibility issues
In many cases, device software and drivers aren’t compatible with the latest connectivity clients from public cloud vendors. Library incompatibilities between the two can prevent your drivers from communicating with these clients. Fortunately, containers provide a way to sidestep the incompatibilities. Proper use of containers can help your team implement edge analytics, speed up delivery and increase the value of your system while using your investment in your existing device drivers and control logic.
IoT container management
Containers provide a way forward for resolving incompatibilities and enabling complex technologies spanning multiple systems. However, they require thoughtful orchestration and execution, such as how they are organized and what each will include. Additionally, these containers will be running on resource-constrained edge devices and gateways, so balancing the resource needs of each component inside each container must be considered as well.
Isolation at the edge
Another best practice is to isolate your I/O and control loops inside an individual container. Use a separate container for normalizing data and providing access to history for local usage. Clients for communicating with cloud IoT services should be in a separate container as well. If a human-machine interface is needed, this too should be in its own container. Why all the isolation? By separating your edge components into major functions, your team gains agility and control that are reflected in the speed of delivery and flexibility of the software produced.
This approach enables container ownership by different teams and decouples dependencies for both humans and technology. Versioning and driver incompatibilities are removed from the equation, and project managers can focus instead on challenges specific to their domain without impacting, or being impacted by, others with each change. Similar to microservices in the cloud, containers at the edge interact through well-defined interfaces, each with its own contract. These interfaces enable independent evolution and maintenance.
Containerization also enables each component to move forward over the life of the system at different rates. An I/O container can iterate at the speed of your internal engineering team, whereas your HTML5 user interfaces can improve at the speed of the web. Meanwhile, cloud client components can move forward at the speed of the cloud providers themselves, enabling your system to take advantage of their latest offerings independent of your own development capacity.
An additional challenge is that bill of materials constraints and available computing power may limit the number of available containers. Resource management across containers can be difficult. In these cases, sensor history rotation and memory management must be considered upfront. Several tradeoffs must be considered when physical constraints limit you to just two containers.
Maintaining IoT edge systems
Finally, expect new challenges after deployment. At a minimum, web components will need regular updates for maintaining security and browser compatibility. These updates may call for more resources than required by the original code. Design your system, both the software and hardware components, for the future — at least 18-24 months out. Adding a little more to your initial bill of materials cost to give your platform some headroom will pay off down the road with the flexibility to solve future problems without forcing updates to your hardware. Certification is costly and time-consuming. The longer you can prolong the lifespan of your equipment in the field through software updates, the more profitable your business is likely to be.
With increasing frequency, edge offerings from a range of vendors can be included on your gateway. These provide additional functionality and intelligence at the edge. With proper container isolation, your systems can always take advantage of the latest innovations from these vendors without requiring updates to other parts of your system.
Certainly, there are IoT and analytics services in the cloud generating tremendous value for industrial operations. However, obtaining maximum value from these tools requires proper upfront planning and strategy at the edge.
All IoT Agenda network contributors are responsible for the content and accuracy of their posts. Opinions are of the writers and do not necessarily convey the thoughts of IoT Agenda.