IoT Platforms — Camels to Can Openers
Aaron Allsbrook — ClearBlade CTO
It’s official; the hype cycle around the Internet of Things (IoT) is in full swing. The best part about IoT is — we all use the Internet and we all have things … so we all are going to have a chance to contribute.
At this very moment, enterprises are establishing IoT practices and strategies and these new groups are tasked with a simple challenge, how does my company adopt and implement IoT? A little research quickly leads to “We are going to need an IoT Platform”
As if IoT wasn’t vague enough, the word platform only creates more confusion. Thousands of offerings now bear the category name of ‘IoT Platform’, and yet they often look nothing like each other functionally, in capability, or in problems they solve. If your struggling to distinguish the 50 (or 350) different platforms you’ve been asked to review here is a handy guide.
“Selecting between IoT Platforms is like comparing a camel to a can opener”
To begin with, we can sift all the IoT platform offerings into five simple categories. We need to use words that are not nearly as broad as platform, but they allow us to relate what’s happening in this industry with the previous waves of computer technology.
The five IoT Platform categories are -
IoT Products —
There are thousands of IoT products that you can buy, fund via kick-starter, and put together at home. In each case these really look like cool products that help you exercise better with a Fitbit, find your tools with connected DeWalt drill, or NEST monitoring your home. There is often an aspect of a platform in that you can personalize these products or connect them into other ecosystem. The reality though is that these products are much like a Sony Walkman that could play any cassette tape or an iPod that could play your favorite mp3s. They will always serve a specific need in a specific market with a very specific message.
IoT Packages —
The next group of IoT Platforms look much more like what we used to call a software package. Rather than have a final product that sits on a shelf, packages provide bundles of software/hardware already put 80% together to achieve a specific purpose. This model is very relatable as we have seen packages for Enterprise Resource Planning (ERP), Customer Relationship Management (CRM), Asset Management (known as Common Off The Shelf — COTS). Many companies grab these packages and then invest in customizing those tools to work in their environments. For IoT Platforms the package comes in the form of things like kits that manage power at every outlet in your building, or track people locations in a store. They are really solutions that solve a specific need that can be customized to fit in lots of environments
IoT Builder —
Whenever we have new technologies that few people understand there is always an attempt to make it so easy anyone can do it. These builder platforms focus their efforts on ease of development with slogans like “WYSIWYG”, “No coding required”, “drag and drop” and “easy button”. These platforms have the ability to quickly create an IoT solution based on a set of prescribed template designs. These designs can then be tweaked to build something unique and differentiating. If we look back, we can clearly see products like Microsoft FrontPage, Macromedia DreamWeaver and Appcelerator that allowed developers to onboard and learn in a new ecosystem. These platforms are often satisfactory entry points into rapidly getting started with IoT. The significant risk to this category is these tools typically have short lifespans and are unable to keep up with the pace of technology. In the case of web this might be AJAX, or responsive web design, in IoT it will be emerging protocols, devices, machine learning, etc.
IoT Macro Services —
The newest category of IoT Platforms is the Macro Service. This model is new for the industry as a whole as it is grown out of the cloud and software as a service model (SaaS). For IoT it’s exemplified by the ability for a developer to pick multiple components from one or more cloud vendors and mash them together when building an IoT client. An example set of IoT Macro Services used together would be Device Authentication, API management, Rule Execution, and Big Data storage — where when used together provide a rich set of possibilities.
This quickly represents the potential to greatly reduce the initial headache of starting projects and dealing with middleware complexities. Additionally like most cloud offerings, pricing is advantageous at lower scales.
Two verdicts remain to be rendered on IoT Macro Services. First is how stable and performant these final IoT solutions will prove to be. An IoT Solution that uses 5 macro-services from an ecosystem provider like IBM Bluemix or Amazon AWS suffers potential outages and performance degradation at greater scale with each additional point of failure. Secondly, while it’s a valuable to have composable blocks of function, this creates points of confusion for which block truly controls the system. Support, maintenance and enhancements have the potential to prove very complex over time.
IoT Runtimes —
The final category of IoT Platforms is the IoT Runtime. As a new technology finally standardizes and becomes understood, developers settle on runtimes to build specific solutions that drive their businesses. In the past we have seen this with J2EE web servers like Apache Tomcat or IBM WebSphere. On those runtimes, airlines built their websites and kiosks while Amazon and Walmart built e-commerce sites.
Runtimes give developers the ability to author optimized code that execute within boundaries that simplify the challenges of securing, connecting, and transporting data for all kinds of solutions. Adopting a runtime requires both a commitment of time, resources and skills for an institution. The challenge of waiting IoT to standardize and the upfront initial investments pose inhibitors to runtimes.
The good news is the lifespan of runtimes survive much longer as they support a whole ecosystem of innovation and have the ability to be maintained by someone other than the original vendor. Additionally, runtimes standardize in ways that makes it easier for communities to flourish, like the web application runtimes did to drive the growth of ecommerce and airline reservations systems. Optimistically, today we see the emergence of IoT standardization with functional micro-services and protocols like REST MQTT and COAP.
For those of you who are getting your hands around IoT Platforms — good luck!
Please comment and let us know your thoughts on what category makes the most sense for you.