Chart the Right Course for Your IoT System Development
June 20, 2019
Story
The IoT landscape is fairly broad, so you need to look at it from the perspective of enabling the hardware and operating system (OS), supporting the OS, and managing all the connected devices.
Are you designing an IoT system? Let me help you lay the groundwork so you know how and where to get started. Because if you aren’t on the right path from the get-go, you’re in for a long haul, far longer than necessary. And your application will help determine your choices, whether it’s robotics, industrial, manufacturing, automation, or something else, including medical devices.
First, a decision to go open source could be a good one. Open source refers to more than just the software. It’s a business decision and a cultural attitude too. For example, here at SUSE, we leverage our Linux heritage, but also deploy flexible business practices without locking the developer into any particular vendor.
Decision one must be related to the tools you decide to employ in your IoT system. Then you can go deeper and really understand how to leverage that tool of choice. At some point, open-source tools may migrate into commercial products, and it’s key that the “migration point” occurs at the appropriate time. Note that there are also instances where commercial right from the beginning can be the right choice. That decision has a lot to do with the experience of the design team, the costs that the team is willing to incur, and the desired timeframe.
The IoT landscape is fairly broad, so you need to look at it from the perspective of enabling the hardware and operating system (OS), supporting the OS, and managing all the connected devices. At the onset, that’s not necessarily vertical in nature, i.e., hardware is hardware and an OS is just an OS. It’s when you start combining things that it comes together in a vertical application.
The Edge to Cloud Connection
One constant is the Edge to Cloud connection. Lately, more smarts are being pushed out to the Edge, and for a few good reasons. First, having intelligence at the Edge allows you to make decisions far more quickly. And if your applications require real-time decisions, this is the way to go. Autonomous drive and medical devices are two applications that really demand real-time decision making. The second reason is to reduce cost. Let’s face it; sending data wirelessly over long distances can be expensive. There’s no way around that.
You could almost look at the Edge as its own mini server. In fact, there’s nearly as much compute power at the Edge today as there was in the Cloud a few years ago. A second Edge-based function is to pre-process the data, so you’re actually sending less and better data to the Cloud, simplifying the transmit and receive, and reducing the time required to process that data in the Cloud.
Putting all of this together, the message is that you can (relatively) painlessly take your workload processing, containerize it, and move it to the Edge of the IoT. This results in similar, albeit limited, server functionality at the Edge. As devices connect to your Edge node, you spin up a container that handles that workload, and does some level of processing.
For example, if you’re running an AI framework at the Edge, you input the data, do some processing on it, and make a decision whether you should take an action or if further processing is required, thereby initiating an Edge-to-Cloud transaction. Simultaneously, you could be running through a machine-learning model to train the Edge-based engine, making it smarter for future actions/reactions.
PLCs are examples of industrial applications where “smartening” occurs from the Edge to the Cloud in a closed loop, making the entire loop smarter. Traditionally PLC's aren’t always the smartest pieces of equipment (don’t tell the PLCs we said that). They basically are programmed with a fixed function, and only perform that function based on a particular input. Connecting them to the IoT and adding machine learning lets you perform trend analyses using an edge device. And you can take actions based on those trends. Or you can perform preventive maintenance, reducing and managing equipment down time.
The bottom line is that making the right choices right from the beginning of the design will pay off in spades later on, particularly if you go with open source. Whether it’s a complex medical device or a simple PLC, the gains are out there. It’s up to you to take advantage of them.
Jared Matkin
Marketing Manager | Embedded Systems
SUSE
Jared has been a part of the Embedded business unit at SUSE for 3 years. During his time there he has served a cross-functional role, collaborating and planning with product management, solution architects, and sales management to identify embedded applications for SUSE’s open source products and solutions, while creating content and stories focused on the benefits of utilizing Linux for embedded system development.