IoT space is very fragmented and undefined, which favors its rapid growth on the one hand, but brings in a lot of ambiguity and miscommunication on the other hand. There are over 450 IoT platforms available on the market, but rarely are they comparable to each other — some are industry-specific, others are vendor-specific, and the set of functional elements differs immensely across all of them.
To avoid confusion we want to articulate what we consider an IoT platform (at least for the purposes of this article). An IoT platform is a combination of software and hardware forming the operating environment for applications and serving the common infrastructural needs such as storage, security, development tools, computing capacity, and many other. Conceptually it may be compared to a desktop operating system (e.g. Windows, MacOS, Linux) in that it does not deliver value by itself, but rather serves as a foundation for deployment of any applications you choose to address specific business goals.
The choice of an IoT platform is a critical step, primarily because the entire company infrastructure will be tied to it, therefore switching to another platform is highly unlikely and undesired.
Why have an IoT platform?
The three major domains that an IoT platform is responsible for (to greater or lesser extent) include:
- managing applications — handling deployment, ensuring compatibility and connectivity with other platforms and software, allocating resources
- storing and securing data — providing cloud or server space, granting privacy and encryption, monitoring system state
- running analytics — performing data preparation, running real-time data analysis, automating decision-making
In a word, functionality shared by multiple products and not specific to a particular application is abstracted and implemented in a separate overarching entity — an IoT platform.
IoT platform selection criteria
The list of ten questions below is destined to facilitate your choice of IoT platform and highlight the aspects worth considering.
- How many useful applications are available out-of-the-box?
Availability of built-in tools and services that your business can take advantage of from day one is a nice-to-have bonus promoting savings and eliminating some of the compatibility concerns.
- How flexible and convenient is the development environment?
Your business will almost undoubtedly require custom or customizable solutions that are not readily available on the market. Therefore, flexibility and functionality of the development environment play an important role in your ability to get tailor-made applications with a reasonable investment of time, money, and human capital.
- How intuitive is the integration with enterprise software packages?
IoT platform hardly makes sense in the vacuum making vast integration capabilities a must. Think of it as a hub through which the data should effortlessly flow in all possible directions from all possible sources. Preset connectivity options for popular ERP, CRM, CMS and other systems will help get the most out the data available throughout the organization.
- Can the platform easily acquire and combine data from disparate sources?
This one goes in line with the previous point — if you have numerous data sources relying on different database formats, you want to merge, parse, and manage them with little hassle, so support of multiple data processing technologies is vital.
- How well does the platform handle multiple massive data streams?
Increasing number of use cases delivers real-time insights from the streaming data which means the value of such information vanishes in a matter of minutes. To juggle loads of data and perform all necessary manipulations swiftly and efficiently an IoT platform needs vast computing and storing capacity with cutting-edge technologies in charge of all data-related operations.
- How rich is the data management toolkit?
Data analytics capabilities are by far the most critical aspect having a direct impact on business performance, so you need these to be versatile and functional, but most importantly relevant to your business cases.
- Who owns the infrastructure?
Major IoT platform providers prefer having their own cloud servers in-house which gives them more control and flexibility. Smaller players cannot afford such capital investments and have to license their software layer with one or more infrastructure providers. Make sure your company’s overall cloud strategy is in sync with the options the IoT platform provider supports.
- What data storage options are available and how secure are they?
- Does the platform have inbound analytics capabilities?
Sending the data to the cloud and analyzing them afterward is a standard workflow provided by most (if not all) IoT platform providers. However, transferring terabytes of raw data for processing to get just one or several action points, and then transmitting commands or directives back can be prohibitively time and resource-consuming. At-the-edge analytics is a solution capable of minimizing this overhead and performing full-cycle data-driven decision-making procedure.
- Can the human be X-ed out of the loop?
Wouldn’t it be awesome if the platform could make decisions and initiate actions without human participation? Some IoT platforms do provide such functionality enabling autonomous adjustment and control of connected devices based on the certain criteria or automatically scheduling massive data management tasks for idle periods. if you are seeking to optimize some of your operations and workforce, pay attention to flexibility and multifunctionality of the solutions on offer.
Marrying your business and an IoT platform would better be done once. Compatibility between different IoT platform providers is currently very doubtful, therefore switching gears without a hitch is highly improbable. The market is very dynamic and most players will either disappear or merge within a couple of years, so finding the ones that are here to stay is a major challenge.
Focus on satisfying your top priorities and build lasting strategic relations with the IoT provider of your choice. Consider using commodity solutions for second order functions and do your best to envision further directions of your business development to prepare the infrastructure for changes and advancements.
HTTP vs MQTT performance tests
Comparison of HTTP and MQTT protocols for performance, power consumption, and CPU usage in different scenarios on a laptop and Raspberry Pi.