IPSO Alliance member company Synapse Wireless recently contributed a blog titled “Welcome to yet another IoT platform” to ReadWrite magazine. In it, Synapse’s Daniel Barnes, director of product management advocates for an IoT thing platform, a position that aligns well with the work of the IPSO Alliance. Shared with permission.
Welcome to yet another IoT platform
You’re probably thinking “Really?!? Don’t we already have enough?” And you’d be right. The last count I heard was there are over 125 IoT platforms in the industry. Doesn’t IoT have enough problems reaching maturity without more platforms muddying the waters?
That’s not the worst of it, though. If you’re anything like me you are probably asking “What does a platform actually do?” The short answer is…. absolutely nothing by itself.
However, I contend that many platforms are incredibly useful.
What does a platform actually do?
A platform doesn’t solve any end problem on its own. A good platform solves a set of hard yet common problems in such a way that many applications within that domain can deliver the needed functionality much more rapidly. Often, these are problems not directly associated with any unique feature of a solution, but with certain qualities such as scalability, reliability, and security.
These qualities are often forgotten in the early design stages of a new product, especially in a new industry. In fact, they don’t matter at all early on, but they then bite hard as the industry attempts to reach maturity. A good platform addresses these general, yet difficult, qualities while allowing the end-solution developer to focus on a more specific set of problems.
Cloud platforms are a prime example. By themselves, they aren’t very useful to anyone, but they are great enablers to just about any software application. Historically IT infrastructure has been difficult to resource, build, and maintain. This became more difficult as applications required additional scale, reliability, and security.
Cloud platform vendors solve these common problems by providing the infrastructure, the networking, the compute resources, the storage resources, and the security infrastructure as services to other applications. This has allowed IT to scale rapidly in such a way as would never have been possible before because these platforms solve a set of hard problems common to that domain.
So, what is an IoT platform?
Simply put… An IoT platform solves a set of hard problems common to IoT. That doesn’t really help, though, so can we get more specific?1
Let’s start by segmenting the IoT solution into two problem domains based on the differences in infrastructure and environment; in other words, the cloud and the things. The “cloud” is the set of stuff that can be done within IT or the cloud today. The “things” refer to the physical devices performing the data collection feeding the IoT solution and the control of the IoT devices themselves.
What does an IoT cloud platform do?
I mentioned 125 IoT platforms. These are predominately cloud platforms. IoT cloud platforms solve common IoT problems such as large-scale data ingestion, pruning, analysis, learning and decision making2. Many make it easy to represent a variety of disparate Thing types in common ways. Some even provide remote management of the Things. All of these are problems common to the IoT domain and greatly aid in bringing IoT to maturity.
While solving “cloud” problems for IoT is important, there remain many important aspects of IoT solutions that aren’t handled by IoT cloud platforms. Many IoT solutions fail to launch in any meaningful scope due to the set of problems beneath the cloud… the problems of the “Things” themselves.
Welcome the IoT thing platform
IoT cloud platforms rely heavily on the controlled environment of the data center to implement their solutions to scalability, reliability, and security. The “T” in IoT changes the environment drastically. Instead of commodity compute resources, ample power supply, and high bandwidth networking, the Things often run with low power, resource constrained embedded processors and wireless networking. In many cases, the networking isn’t based on reliable IP protocols such as TCP. In addition, these Things are placed in non-ideal environments such as orchards, factories, on livestock, and bicycles.
And we still want to run software on these Things. Why? Because some decisions cannot be made in the cloud. There are a variety of reasons that decision-making logic must be implemented on the Things themselves. In some cases, decisions cannot tolerate the roundtrip delay from event to actuation. For example, a lighting application requires sub-second response times to a switch being pressed. In other cases, power conservation is necessary to reduce the maintenance costs requiring specialized logic on the Things. For example, a battery-operated sensor that wakes up to transmit data once an hour requires specialized embedded programming to manage the processor sleep cycles, wireless radio, and the reliable data transmission.
The point here is NOT that all decisions must be made on the Things, but that the design of any IoT solution must consider where decision making occurs. Once software is introduced onto the Things, then all of the non-ideal environmental constraints start introducing some very interesting problems, such as specialized developer skill sets, wireless site deployments, and long-term software lifecycle maintenance.
These are hard problems. However, many of these problems should have common solutions. They must be solved for IoT to reach maturity.
So, yes. Let’s welcome the new type of IoT platform. The IoT thing platform.