With the proliferation of billions of IoT devices on the horizon, platform providers are increasingly looking to the cloud as the most efficient way of meeting the IoT challenge. The inevitable question however is why choose a cloud-based solution? Most providers have their own take on the question but there are some common points of agreement, writes Peter Dykes
When building a new IoT solution, providers face a number of challenges. First there is the issue of scalability of the servers that need to handle persistent connections protocols like XMPP (eXtensible Messaging and Presence Protocol), which was originally designed for instant messaging and online presence detection in near real-time but has found new purpose in IoT. Support must also be provided for a range of IoT standard protocols because in a typical IoT network there are usually a range of different devices, each type of which uses different protocols.
It is also important to know where devices are located geographically, which devices are active as well as managing the devices that have access to the servers along with the firmware. Finally, it is vital to have enough storage and computing power for data processing. When data is aggregated from large sensor fleets that produce millions of data records per day, it is important to have enough capacity to store data and adequate computing power to process it. For many industries, it is vital that the data is available in real-time and most have realised that, while near real-time access to sensor data can bring enormous value, only a cloud-based platform can achieve this satisfactorily.
Time to value
While speed of data access, along with automation is high among the advantages of choosing a cloud-based IoT solution, cloud providers also offer other services that help customers handle IoT challenges and reduce time to value. The key element of the IoT offer is a gateway service that can handle a range of various input protocols, and provides device authentication and authorisation. Most cloud service providers also provide an SDK (software development kit) that supports a range of programming languages and devices.
Examples of such services are: AWS (Amazon Web Services) IoT, Microsoft’s Azure IoT hub and IBM Cloud. All of these platforms handle a range of protocols and provide a gateway to other cloud services, thus ensuring storage, real-time processing and data analytics. Some providers have however developed their own platforms, either internally or through acquisition, Sierra Wireless being a case in point.
In-house platforms
Olivier Beaujard, the vice president of market development at Sierra Wireless, explains: “AirVantage was born because we realised that many of our customers had enormous numbers of devices connected and they needed a way to monitor them and perform software upgrades. Our first offering therefore was built around device management using the OMA (Open Mobile Alliance) platform developed for the mobile phone industry.” The company has come a long way since then and having acquired two MVNOs in the last couple of years, it now offers an IoT platform based solely on cellular connectivity which comes with its own billing and application enablement, and the built-in SDK can be used by the customer to build applications specific to their requirements.
There is another difference between cloud-based IoT platforms but which has more to do with the markets they are aimed at than with the technology which underpins them. IoT for the connected home covers a range of end points from refrigerators and air conditioning to fire alarms and intrusion detection and much more besides. Some companies have specifically targeted this market in spite of the fact that the industrial IoT market is far more likely to dominate the IoT scene as a whole.
Industrial vs consumer platforms
Rod McLane, the senior director of marketing at US start up Ayla Networks says: “In the industrial IoT market, the companies that are looking to integrate IoT technology have a fear of breaking things. While they want to add connectivity, they don’t want it to shut down the operation if there’s a problem so they move comparatively slowly. In contrast, manufacturers that are making products for the consumer space are driven by the fear of being left behind, so they move much faster.”
He cites the example of thermostat and smoke detector manufacturer NestLabs, which was acquired by Google for $3.2 billion in 2014, saying that following the acquisition, other manufacturers in the same space realised they would lose market share if they didn’t have a line of connected thermostats and smoke detectors themselves and moved quickly to redress the situation. For this reason alone, he says, Ayla Networks decided to target the consumer-facing IoT market.
Ayla’s IoT platform, which is built on AWS, has most of the characteristics of an industrial counterpart, but there are differences in the overall offering. For example, service level agreements (SLAs) are not something Ayla has to worry about because most consumers would not be concerned if a ceiling fan stopped working for a few minutes, whereas a similar outage could be catastrophic for an oil refinery. Neither does Ayla have to write new networking or security code for each customer.
Instead, customers enter the parameters and data points they want to collect via a common graphical user interface (GUI), which they can reconfigure as they develop their products. In common with industrial platforms however, scalability and security were major factors in the design of Ayla’s platform because from the outset it targeted large manufacturing corporations which made millions of consumer products every year.
Innovation
It would seem then that existing cloud platforms perform all the functions necessary for the implementation of commercial IoT networks in both the industrial and consumer-facing markets. But as with every new technology, there is room for improvement and to see what the next developments are likely to be, one needs look no further than the open source community, and in particular to developers of Openstack.
Essentially, Openstack is, like any other cloud platform, it is an orchestrator and is the favoured platform for creating a private cloud from open source components. Everything one normally associates with a cloud platform is available through Openstack. By creating virtual machines (VMs), it connects to endpoints, storage and analytics and can dynamically scale on demand. In common with other cloud platforms, Openstack is also API driven, so writing interfaces for modules and sensors is fairly straightforward.
However, Mirantis, which is a pure-play Openstack vendor, is working to integrate containerised technology into Openstack. Why? Kamesh Pemmaraju, the vice president of product marketing at the company, explains: “Container technology is taking off. It’s the new hype in the IT industry. It is interesting from the point of view of IoT because it has a very small footprint, uses very few resources and is therefore particularly useful for running on end points.”
Basically, a container consists of an entire runtime environment which includes an application along with all its dependencies, libraries and other binaries, as well as the configuration files needed to run it, all in a single package. Containerisation differs from virtualisation in that the latter includes an entire operating system as well as the application. A server running three virtual machines (VMs) would require a hypervisor and three separate operating systems running on top of it. Conversely, a server running three containerised applications would only require a single operating system as each container shares the operating system with the other containers. This means that containers are much more lightweight and use far fewer resources than virtual machines, meaning speed, and the ability to automate processes, is greatly increased.
Pemmaraju points out however that with containers running on the end points and VMs running in the data centre, there are networking challenges around automation and orchestration once more. “Our aim,” he says, “is to bring it all together onto one platform and to this end we are working very closely with Google on Kubernetes, the container orchestration software.”
He explains that Kubernetes, the name of which is derived from the Greek word for helmsman or pilot, does everything with containers that Openstack does with VMs. Pemmaraju adds, “If we bring containers and VMs together, it means we can run containers where it makes sense and run VMs where that makes sense, all from a single control plane and a single set of APIs (application programming interfaces). That is our vision.”
The implications of this development work could be far reaching for the IoT community because experience shows that with any technology that involves million if not billions of end-users, speed and the capacity to serve those end points is finite and new ways have to be developed to meet these challenges. This will be as true for IoT as it was for 2G.