Today the Eclipse IoT Working Group announced major milestones as IoT’s largest Open Source community: 41 member companies, 37 projects, and 350 contributors. It’s hard to believe that it all started in 2011 with just three projects and the basic goal to reduce the complexity of developing machine-to-machine IoT solutions.
And it’s an interesting day to reflect on “where we are today” on the Industrial IoT adoption curve.
Where the arrival of consumer IoT adoption is obvious in our day to day lives–with smart thermostats, smart doorbells, Alexa and Google voice attendants, and ever more gadgets creeping into our smart homes–industrial IoT’s progress has been much trickier to follow.
Key industries in industrial IoT — like manufacturing — have companies that have been around for 40, 50 and 100 years. There’s an inherent complexity in rolling out new technology in brownfield scenarios. It’s much more difficult to drop new technology into plants with massive existing computer-controlled systems, each with their own alphabet soup of protocols and frameworks that people outside of that industry have never even heard of.
Remember the Earliest Days of the Commercial Internet?
The cleanest way I can think to explain where we are in industrial IoT adoption today is to draw an analogy to the early days of the commercial Internet.
A lot of people’s concept of the Internet’s origins is Mosaic and the advent of the web browser. Sure, the human interface to the web — the modern browser — was a critical enabler for the commercialization of the Internet. But I think the plumbing — and more specifically, the LAMP stack — was the most critical enabler for the Internet’s acceleration from disparate connected systems on academic and science campuses, to the web as we know it today.
The industry’s standardization on the Linux, Apache, MySQL, and PHP scripting language open source “stack” brought uniformity, predictability, and scalability guarantees for everyone building web applications. Those guarantees inspired the massive wave of innovation in web applications that allowed businesses to capture new revenue opportunities, while the underlying stack just worked. Industry doesn’t want to innovate below the value line–it wants to create new services on top of standard infrastructure.
To date, Industrial IoT still awaits its LAMP stack, to give industry the uniform building blocks and graduate away from the proprietary one-offs of the first generations of creating IoT systems. Eclipse IoT represents the largest open source community that’s racing to standardize on those open, interoperable, and flexible components for industrial IoT. It is our conviction that the basic building blocks of the IoT must be open source in order to enable the full array of highly scalable business models necessary to the IoT’s success.
Eclipse IoT: Building the LAMP-Like Stack for Industrial IoT
Let’s take a look at some Eclipse IoT projects that I believe have the same characteristics of modular, open source components, with broad appeal to industrial IoT use cases today. Obviously these aren’t perfectly analogous to Linux, Apache, MySQL and Perl / PHP / Python – but I think the case can be made that they are addressing some of the critical application infrastructure pieces that industrial IoT needs to take off. And just like the LAMP stack, all of these components are 100% open source, and therefore offer the flexibility and permissionless innovation characteristics that helped launch the commercial Internet.
In terms of protocols, Message Queuing Telemetry Transport (MQTT) is the most widely adopted in IoT. While it’s been around for a dozen years, MQTT remains the standard of choice for IoT messaging with 80% of Eclipse IoT Developer survey takers using it. Eclipse Paho is a hardened open source client implementation that focuses on integration with a wide range of middleware, programming and messaging models..
MQTT is very lightweight and easy to understand, but does not allow out of the box connectivity. SparkPlug compliments the transport layer–so you can get immediate interoperability. That’s a huge missing piece now. Topic structures, payload structures, all that stuff. Eclipse Tahu extends that capability of SparkPlug and addresses the existence of legacy SCADA/DCS/ICS protocols and infrastructures to provide a much-needed definition of how best to apply MQTT into these existing industrial operational environments.
Kura is a gateway project that provides all the technology you need for building the middle tier in an industrial IOT application. Most IoT implementations have sensors that send telemetry data to some gateway device that does processing at the edge, then determines whether that data needs to be shared with higher order business processes. One of the big responsibilities is protocol translation. Coming in could be any number of low level industrial protocols you’ve never heard of, then going out would be translated for the cloud, over MQTT or HTTP itself. Kura focuses on MQTT–allowing you to data into on premise business process applications or to the cloud for large scale collection. The constrained devices that are collecting data at the edge need to funnel your data back through routers and firewalls, and Kura provides a critical gateway to allow the brokering of data between the sensors, processing at the edge, and publishing via MQTT to IoT cloud platforms such as Eclipse Kapua.
Where constrained devices are tend to be cheap sensors with limited functionality, edge devices tend to push processing, memory and compute to the edge, to avoid the round-robin back to datacenters and the cloud (which is not possible for latency reasons).
Conclusions
If industry is arguing over how to build and deploy and get interoperability those are extreme barriers to widespread adoption of industrial IoT. That’s the case for an industry standard stack based on common standards, and that’s why we firmly believe the future of IoT will be open source.
There was a version of the Internet that existed for many years. Before the browser came along and before HTTP and HTML, the interfaces to the Internet were command line interfaces that only a very technical person would love. Once the browser came along, there was the possibility of widespread adoption. But the widespread adoption could not have happened if the server side equation were proprietary. We are at a similar inflection point with industrial IoT. The combination of open source, open standards, and the backing of a diverse ecosystem of partners will be key to delivering the interoperability and flexibility required to break free of locked-in, proprietary solutions and see adoption soar.