The Reprogrammable Machine: The rise of software-defined IoT
In a world where software drives innovation, why are we still fixated on hardware in IoT?
IoT Stars dicussion
Perhaps IoT businesses are just IT businesses. So why the fixation on hardware? Hardware has long been considered the cornerstone of the IoT industry, but we're increasingly recognizing that success hinges not on the physical devices themselves but on the software that drives them. This shift mirrors patterns we've seen in the world of cloud computing, where software is being written without considering the hardware it runs on. Let's dive into this transformation.
Commoditization: Scaling Through Common Hardware
At the heart of the transformation from hardware-centric to software-focused solutions is commoditization. Jason Kridner, founder of BeagleBoard.org, aptly stated:
"If you make a reprogrammable machine, then that machine can be used in a whole lot of other applications. We can pretty much put everything into that box. Then you drive the hardware to commodity because that’s what scales."
By commoditizing hardware, companies can focus their resources on software development, where true differentiation occurs. Kridner emphasizes that it's the software engineers who ultimately "win" because “that’s where you put your differentiation”. Hardware becomes the scalable foundation upon which innovative software solutions are built.
The saying: “hardware is hard” still resonates with many in the industry. Hardware development is associated with complexities, high investments, lengthy development cycles and significant security risks. By treating hardware as a common, reliable platform, businesses may find ways to work around these obstacles and focus on their core competencies.
Software Defined Everything
Hardware lacks flexibility, until it doesn’t. The move from hardware commoditization to software-defined solutions feels like a natural progression. “Software gets abstracted from the hardware layer”, as Gregory Roth from Monogoto explains, “leading to more flexible solutions”.
This abstraction enables agility and it liberates companies from the complexities of hardware-specific constraints. Francisco Xavier Garcia (PICMG) reinforces this point:
"You want a modular solution that is quickly scalable and quickly deployable because you want to respond swiftly to the rapidly changing industry. When you have embedded software and hardware tightly coupled, your flexibility is limited, your adaptability to respond to threats is limited. Extensibility is needed, where you can extend your capability and grow what your system can do. Software gives you all that ability."
By decoupling software from hardware, businesses enhance their ability to innovate, adapt, and scale, which is essential in a market characterized by constant change.
Adopting Cloud Practices: Stealing from the Best
The IoT industry's shift mirrors the evolution seen in cloud computing over the past decade. In 2011, Adam Wiggins, one of Heroku’s founders, published the Twelve-Factor App, outlining twelve principles of modern application development. While many of these principles seem obvious today, they weren’t at the time, highlighting how far we've come in embracing common cloud practices.
Brandon Satrom from Blues, drew inspiration from these principles to create a similar set for the connectivity landscape called the Twelve Factor Thing. This initiative aims to enhance developer efficiency and product reliability, increasing market trust in connected devices that adhere to these principles. Satrom doesn’t want to impose these 12 factors to anyone, but merely initiate the conversation on how to grow the market in terms of efficiency, security and reliability.
Consider the common practices such as automated testing, DevOps, continuous integration, you name it. By applying these practices to the world of IoT, reliance on specific hardware components is significantly reduced – a lesson learned during recent chip shortages that exposed the vulnerabilities of tying software too closely to specific hardware.
Eventually, there are a couple of things – or principles – we should be able to agree upon, already now. Think of the way we should approach firmware as a collection of dynamic assets which change frequently through standardized firmware update processes. The necessity of testing, the 12 Factor Thing specifically mentions Hardware-in-the-Loop test (HIL). And, one of Satrom’s Things he’s most passionate about: Harmonization of Radio Access Technologies “you don’t want developers having to learn everything from soup to nuts” if they add an additional radio technology. This will “slow them down and increase the likelihood of failures”.
Conclusion
The IoT industry's future lies in embracing the fact that software people ultimately take all the credits. Hardware gets commoditized to better suit software-defined solutions, minimizing the learning curve for developers who can build their solutions using familiar interfaces and APIs, regardless of the underlying hardware.
This approach not only streamlines development and deployment but also empowers businesses to swiftly respond to market changes and emerging threats. By focusing on software, companies can enhance flexibility, scalability, and adaptability. It's not just about building better machines; it's about redefining how we manage those machines and how we, as an industry, can better serve the needs of a constantly changing world.
This article is based on the discussion that took place at IoT Stars, held during Embedded World North America on October 8, 2024. Thanks to Brandon Satrom (Blues), Jason Kridner (BeagleBoard.org), Francisco Xavier Garcia (PICMG) and Gregory Roth (Monogoto) for sharing their take on Software Defined IoT. To join future discussions on the developments in IoT, visit iotstars.com.