Platforms big, small, short, and tall
In order to get value from the Internet of Things (IoT), it helps to have a platform on which to create and manage applications, to run analytics, and to store and secure your data. Like an operating system for a laptop, a platform does a lot of things in the background that makes life easier and less expensive for developers, managers, and users.
Stay current on your favorite topics
In many mature markets, there are often two dominant platform choices and a long tail of smaller players; for example, iOS and Android in mobile, Windows and Mac OS in desktop operating systems, and PlayStation and Xbox in gaming. But not in IoT, not yet. In IoT, sometimes it seems like there may be more platforms than things. Search Crunchbase for venture-funded IoT platforms, and you will get well over 100 hits. And that list doesn’t include many bigger technology players entering the market with IoT platforms like Microsoft, IBM, and SAP or several industrial companies with similar aspirations like GE, Bosch, and Siemens.
There are IoT platforms of every shape and size. There are platforms for specific industries like commercial real estate and family health. Some focus on one type of device: for example, there are at least two platforms focused on augmented-reality headsets. Some are focused on a particular function, like manufacturing. There is an IoT platform for dogs.
Businesses and developers have a bewildering array of platform options to choose from, which may have very different capabilities. The term “platform” is overused to the point where it doesn’t convey much information beyond “more assembly required.”
What is a platform, and why do I need one?
Most broadly, a platform is software and hardware, which may include an operating environment, storage, computing power, security, development tools, and many other common functions. Platforms are designed to support many smaller application programs that actually solve business problems.
Platforms are helpful because they abstract a lot of common functions away from the specific application logic. For example, regardless of whether you are trying to write an application to optimize fuel consumption or classroom space, a lot of the underlying technology needs are essentially the same. Application developers just want to focus on the specific problem they are solving and use common capabilities for computing power or storage or security. A good platform dramatically reduces the cost of developing and maintaining applications.
In the Internet of Things, platforms are designed to deploy applications that monitor, manage, and control connected devices (Exhibit 1). IoT platforms must handle problems like connecting and extracting data from a potentially vast number and variety of endpoints, which are sometimes in inconvenient locations with spotty connectivity.
It’s good to be a platform
Why so many platforms? Look at successful software platforms like Windows for operating systems. Platforms make a lot of money and are high-margin franchises that endure for decades. People and companies don’t switch platforms very often. Often, switching costs are significant and platform choices persist for many years.
As a result, many start-ups aspire to become platforms, because the winners create enormous shareholder value. Their investors push them to market themselves as platforms because winning platform companies can create 100-fold returns.
There are two main problems with this strategy. First, platform companies aren’t as focused on direct customer business value as application companies. A pure-play platform alone won’t solve a business problem; an application is still needed. The platform’s value proposition is harder to explain to business leaders. This translates into a higher cost of sales.
The second problem is that there can only be a small handful of winners in each platform space. Application developers don’t want to learn multiple platforms. Businesses and consumers don’t want to use and pay for multiple platforms. If there are 100 IoT platforms, then there is no platform, just aspirants. The market, over time, decides who the winners are, and the providers consolidate around two or three leaders.
So how do I choose an IoT platform?
Today, there is no one-size-fits-all best platform for every application. It may be years before the market anoints the winners in the IoT platform derby.
In the meantime, choosing a platform should start with a good understanding of your IoT strategy. Identify the kinds of problems you are trying to solve, get a short list of likely solutions and use cases, and try to determine where you will need specialization and depth. If you have an idea of what kind of business problem you are solving and where the biggest challenges are, you’ll be able to quickly come to a short list of platforms (Exhibit 2).
Avoid the temptation to select a platform simply because it has a particularly interesting initial use case. This would be like choosing a game console because it included a cool game in the box. Included applications matter but are only part of one element of a platform strategy. We have identified the top five characteristics of IoT platforms on which to base an evaluation. While these five are not an exhaustive list, they are the areas most likely to differentiate platforms in an important and sustainable way.
There are three main application considerations when choosing a platform: what applications are available out of the box, what is the application-development environment like, and what are the common enterprise-application interfaces. Many platforms will include one or more applications that may be of some value out of the box, like the stock market or weather apps that ship with iPhones. Sometimes, very simple applications are the most popular. One manufacturing executive once told us, “I’d be thrilled to have an app that just told me what machines were on my factory floor and if they are switched on or off.”
However, you may need to develop sophisticated IoT apps yourself. Platform providers don’t understand your business problems the same way you do. Confirm that the application-development environment included in the platform is compatible with your own developers, or your trusted development partner. Make sure the development environment supports a way to “containerize” applications using a common service so that they can be ported to another platform should you decide to switch. Finally, you may need your platform to interface with large enterprise applications, like common customer-relationship-management or enterprise-resource-planning suites. Some platforms may include connectivity to popular CRM or ERP suites, and this may be an important feature depending on your IoT use cases.
Data ingestion and wrangling
Often, 80 percent of a data scientist’s time is spent combining, formatting, cleaning, and processing data to get it ready for analysis. Other companies have created new roles for data engineers, whose main job is to curate and cultivate data sources. Some platforms contain shortcuts or special tools that allow you to build a robust model of your important data much faster, reducing people costs and time to market significantly. Indeed there are some highly regarded platform companies that specialize in just this capability and use off-the-shelf technology for the other parts of the platform. Apart from the ability to conceptualize the data and understand what it is, also important is the ability of a platform to handle and manage a large number of high-velocity data streams coming from multiple different sources. The ability to handle vast, fast data may be critical, and there are some specialized technologies that focus only on that. Some are being licensed into different platforms.
Ownership of cloud infrastructure
Big IoT platform providers tend to also offer their own cloud hardware infrastructure (including storage, compute, networking, and data centers). For example, Amazon and Microsoft both provide a software-platform layer with IoT services, as well as a hardware-infrastructure layer that is broadly applicable across public cloud applications. The hardware infrastructure layer is capital intensive, has high fixed costs and significant economies of scale, and tends toward commoditization over time. As a result, most smaller platform players avoid offering it, providing only the software layer. They certify their platform on one or more of the leading public cloud providers. Many of the nascent platform companies may not be certified on all the major cloud providers (and often may run on only one of them). This is relevant for enterprises that may be seeking to standardize on a particular public cloud solution for other reasons. Make sure your IoT platform provider and your broader enterprise cloud strategy are compatible.
Data sovereignty and security
You may be content to have your data stored in the public cloud anywhere in the world with standard encryption. Or, it may be that for security or regulatory reasons, your data must be on your premises. Perhaps your data can be in the public cloud but only within certain political boundaries. You may have specific security requirements, either in the cloud or on your remote devices. There may be certain kinds of encryption, access management, or authentication that are required. Blockchain support may or may not be required. IoT platform capabilities vary here. Some are distinctive in certain areas of security.
Edge processing and control
It is one thing to have a platform that takes data from your things and pipes it all up to the cloud for analysis by humans. It’s another thing to run the analytics at the edge. Sometimes, the communications overhead of moving data to the cloud is onerous; transmitting terabytes of data from a remote mine or a ship at sea to the cloud could be prohibitive. Some platforms have specialized capability in handling this. Sometimes local autonomy is needed; some platforms allow you to take the human out of the loop and allow the platform to autonomously change the behavior of the connected endpoints or shift data only at convenient times. Moving applications from the cloud to the edge, and potentially allowing them to adjust operating variables like fuel flow or direction or temperature, may be a requirement.
To get value from IoT across multiple use cases, it helps to use one (and only one) platform in your organization. The IoT platform market is immature and there are over 150 options to choose from. As this market consolidates, try to find a partner who is either large and will be in it for the long run or highly focused, distinctive, and successful in solving your most difficult problems. Look at the whole technology environment, not just the applications. Your most important requirement may be data wrangling, security, or local automation. Use fungible/off-the-shelf technology for the things that are less critical.
Choosing a platform is an important decision, because whether it is game consoles, smartphones, or the Internet of Things, it’s likely that whatever platform you choose will be with you for a long time.