Using the Internet of Things (IoT), companies can collect real-time data, analyze trends, generate insights, track resources, and respond quickly to problems. At the heart of most IoT solutions is a device that can register and connect with the cloud to send and receive data. Some of these may be edge devices, which perform some data processing on the device itself or in a field gateway.
Making this all possible is the operating system (OS)—yet it is not a one-size-fits-all approach. Device builders looking to choose the right OS for their IoT edge device must ensure it supports the necessary hardware, applications, and connectivity requirements. From Windows for IoT to Azure RTOS to Azure Sphere, different OSes across the Azure IoT technology portfolio have specific features and benefits that might appeal depending on your needs. Below are four areas and key questions every device builder should consider when selecting an OS for their IoT edge devices.
The need for IoT devices at the intelligent edge
The traditional IoT application pattern has been to have devices create data locally and then send that data to the cloud where it is processed with high-value artificial intelligence (AI) or machine learning (ML) to produce business insights. These business insights are then frequently used to trigger actions, which are sent back down to the devices. As you can imagine, this traditional pattern has its limitations: a delay in real-time responses, sporadic internet connections that inhibit the transmission of data, and data gravity that makes it difficult and costly to move datasets for analytic purposes.
The use of intelligent edge devices helps solve these problems by moving insight extraction and action to the local device itself. By moving certain workloads to the edge of the network, devices are able to spend less time communicating with the cloud, react more quickly to local changes, and operate reliably even in extended offline periods. Additional benefits of the intelligent edge include protocol translation, data normalization, and increased data privacy by removing PII on-premises.
4 questions for selecting an IoT operating system
Depending on the specific need or restraints driving the development of your IoT edge device, there are several considerations that will drive the decision-making process. One of the first areas where device builders often start is their level of familiarity with the platform. If you have experience with it, chances are it might be the first option you consider. However, we also suggest you ask these four questions before making a final decision.
1) What level of reliability and long-term support is needed?
The foundation of this question is based on the type of edge device being created. From smartphones and wearables to medical devices or vending machines, each has its own lifecycle. From a sales perspective, this is determined by the consumer buying behavior—i.e., the factors influencing how an organization or individual buys a product, including price, durability, and product features. From a development perspective, a device lifecycle is impacted by the length of time its software, like the OS, is supported.
Devices with low price points tend to have shorter lifecycles, and so might not need to support feature updates or software upgrades years down the road if consumers frequently purchase new versions. Other devices might be for mission-critical systems and expected to last for years. In this case, looking for an OS that offers long-term support is essential as it can help your device remain protected and up to date over the years. Key factors to consider when it comes to reliability and long-term support include:
- Is it a fixed-purpose device? This scenario tends to require the software be attached to the device and licensed to the user as a complete product, as well as that the OEM provides customer support for the complete product, including the functions performed by the OS.
- Is the device a specialized system (e.g., point-of-sale systems, ATMs)? Specialized systems typically perform a single important task and don’t require feature updates as often as other devices, but it does mean they often require a longer servicing option and need to be kept as stable and secure as possible. This is why it’s important to look at the servicing model offered with the OS.
- Does the device application require the OS meet certain certifications or standards (e.g., ISO 62304 for medical devices)? This gets a bit more nuanced based on the specific industry for which the device will be used. But, at a high-level, it means assessing your OS options with any industry-specific standards or requirements in mind.
- Does the device require a rich user interface (UI)? As IoT solutions become more complex, many will require an OS with a comprehensive UI . This can also be important for devices where customers will be interacting regularly with the interface, like a gas pump or ticket kiosk, and could benefit from a UI that is intuitive and easy to use.
Knowing device builders are looking for OS capabilities that help their devices remain stable and supported for the long term, Microsoft offers multiple editions for building devices on the Windows for IoT platform—all of which are backed by 10 years of long-term support and are designed for easy integration with other Azure services and platforms.
Windows 10 IoT Enterprise vs. Windows 10 IoT Core vs. Windows Server IoT 2019
Windows 10 IoT Core is ideal for devices that require a small footprint, while Windows Server IoT 2019 is more suited for demanding edge computing workloads. Then there is Windows 10 IoT Enterprise, which has specialized features to create fixed-function devices locked down to a specific set of applications and peripherals.
Windows 10 IoT Enterprise has options for both short- and long-term support. The long-term servicing channel (LTSC) is designed specifically for specialized devices, including IoT machines. This long-term support option provides regular updates once every 2-3 years over the course of a decade, allowing fixed-purpose and specialized devices stay running for longer.
2) What are your performance requirements?
Another aspect is aligning the needs of your IoT solution with the actual OS capabilities; especially as it relates to compute or processing power and real-time performance. Questions to consider include:
- What are your predictable or guaranteed latency requirements? Remember that the lower latency you require, the more power consumption you must factor in (and vice versa).
- What level of compute power is required to perform the device tasks? Factor in what is needed to support not only the OS, but also run-time applications.
- How much memory is required? Note that memory size can be an important deciding factor when choosing between an OS or RTOS.
As you go through this exercise, how you prioritize the above capabilities will certainly influence the features you look for in an OS. For instance, a device that prioritizes millisecond responses like an anti-lock brakes system might use a different OS than what you find in a ticket kiosk. Examples of devices that benefit from an OS with faster processing speeds include fitness trackers, smart phones, and industrial automated machines.
Benefits of a real time operating system for IoT edge devices
Azure RTOS (Real Time Operating System) is an embedded development suite that includes a small but powerful operating system for reliable, ultra-fast performance on resource-constrained devices. Developed with speed in mind, it supports the most popular 32-bit microcontrollers and embedded development tools.
For edge devices where you’re considering an RTOS, it’s important to remember that its main purpose is to allocate processing time among various embedded software duties, dividing software into portions often referred to as “threads.” The switch between threads occurs so quickly it is almost invisible to users, allowing for near simultaneous response times.
This OS is also compatible with chips from many major silicon partners, which can make it easier to implement in your pre-existing IoT solutions. Furthermore, its small memory footprint—at a minimum of just 2 KB—means it can operate well in small devices with limited storage space available. Azure RTOS is also compatible with other Azure platforms and devices, including Azure Sphere. The two are ideal together for those who need a with real-time processing capabilities.
Welch Allyn Protocol Inc., a company specializing in medical devices, utilized the processing speed and limited memory footprint of Azure RTOS ThreadX in their wearable wireless monitor. Switching to this OS made it easier for the Welch Allyn team to focus on implementing the application, rather than having to spend time debugging a third-party system.
3) Will this OS bring security to the device?
Without a doubt, it is imperative that every device you build factor security into its design. This also extends to the OS you choose to run on it. One compromised IoT device can result in stolen data or disrupted processes, among other things. The level of security features that you look for might also vary depending on the sensitivity of the data handled and the industry or application in which the intelligent edge device will be used. Aspects to consider include:
- Does it offer multi-layer software defenses and renewable security?
- Do you have secure connections with encryption and certification-based authentication?
- Does it support dynamic compartmentalization?
When it comes to security features on the Windows for IoT editions, Windows 10 IoT Core is set up to provide enterprise-level support to resource-constrained IoT devices, given the hardware has the means to support it. Meanwhile, Windows Server IoT 2019 comes equipped with layers of silicon-to-cloud security. Similarly, Windows 10 IoT Enterprise includes basic and advanced security measures for fixed-purpose devices, including Windows Defender Advanced Threat Protection, Unified Write Filter (UWF), and App Locker.
Azure Sphere: silicon-to-cloud IoT device security and integration
While Windows for IoT provides a best-in-class solution for devices with MPU-class processing power or rich user experiences, Azure Sphere is a comprehensive IoT device security solution used to fortify IoT devices with Microsoft security innovations and expertise in hardware, software, and the cloud. This means you can create connected devices that are Azure Sphere is comprised of Azure Sphere-certified hardware, the Azure Sphere operating system, and Azure Sphere Security Service with ongoing OS and security updates. The Azure Sphere OS is Linux-based and offers defense in depth through layers of protection and ongoing security updates.
In addition to offering defense in depth and a foundation of security for actively protecting devices, Azure Sphere is engineered to integrate with any cloud service, public or private. You can connect to other clouds for app data while running Azure Sphere or optimize efficiencies by using Azure Sphere alongside Visual Studio and Azure IoT, allowing for a robust strategy. For instance, IoT Central—a fully managed software-as-a-service (SaaS) IoT app platform that allows developers to create IoT applications without managing the underlying infrastructure—can be paired with Azure Sphere’s integrated security solution. Doing so provides the foundation needed to build, monitor, and manage IoT devices and products.
VERSE Technology used Azure Sphere while creating IoT solutions for Grupo Bimbo, one of the largest baking companies in the world. They designed a connected solution for Bimbo based on Azure—from Azure IoT Hub which connects all the data streamed to the platform for different edge devices and sensors to Azure SQL Database which stores all this data—that allowed the company to prototype, respond, and configure faster than the competition. Furthermore, with Azure Sphere, VERSE worked to create next-generation sensors to provide end-to-end security within factories. Not only do the sensors help monitor the safety of the physical assets within the factory, but that sensitive sensor data stays protected. This overall connection and ease of integration allowed VERSE to turn a patchwork of Bimbo factory devices into a cloud platform with end-to-end unity.
4) Does this OS offer scalability?
Most operations change over time, but if you are anticipating major growth with your IoT solution, you’ll want to prioritize an operating system that can scale for any type of device. Building an IoT edge device with a scalable OS means in the future, you won’t need to make extensive changes to accommodate a different system. A scalable OS can handle additional resources without changing the output speed—some can even span multiple devices and geographies. The Windows for IoT editions, including Windows 10 IoT Core, Windows 10 IoT Enterprise, and Windows IoT Server, are all designed with system scalability and interoperability in mind.
Microsoft partner, PharmID, used the Windows 10 IoT Core operating system to build drug-validation solutions for collecting and analyzing medication data. Individual doctors use the solution to verify the drugs they prescribe and hospitals and pharmacies can monitor what is flowing in and out. By using Windows 10 IoT Core, PharmID and its customers can rely on enterprise scalability without enterprise-scale resource requirements. PharmID can continuously build and deliver new application services and features without large R&D investments or disruptions to customer operations.
Build for comprehensive cloud-to-edge experiences
In the end, the OS you choose is just one piece of the puzzle. We also recommend thinking ahead to how the device will be used and the types of integrations that might be needed to create a complete solution. From managing cloud resources and your edge environment to analyzing and processing your on-premises data to extending cloud intelligence and analytics to edge devices, there is a lot you can do with edge technologies.
And across the available Microsoft operating systems for IoT edge devices—Windows for IoT, Azure RTOS, or Azure Sphere—a benefit they all have in common is they can easily integrate with other Azure platforms and services so you can develop highly customized and flexible IoT applications.
Azure IoT Edge is just one example designed with this edge to cloud integration in mind. As a fully managed service built on Azure IoT Hub, it allows you to move certain workloads to the edge of the network so your devices can spend less time communicating with the cloud, react more quickly to local changes, and operate reliably even in extended offline periods. Plus, it works with your Linux or Windows devices that support container engines.
Additional resources for evaluating IoT operating systems
These are just a few of the aspects to consider when selecting an OS for your IoT edge device. And, it’s important to start by figuring out which features are critical for you to prioritize based on the intended use case and applications for your edge device. For more insight on available IoT operating systems, browse these additional resources:
- Windows for IoT white paper: The foundation for your intelligent edge
- Build your IoT devices with Windows for IoT: New platform updates for device developers
- Real-time operating system white paper: What it is and why you might want to use one
- Security white paper: Seven properties of highly secured devices
- Azure IoT: See what’s possible from the intelligent edge to cloud