# IoT Cloud Platforms

## Summary


IoT cloud platforms bring together capabilities of IoT devices and cloud computing delivered as a end-to-end service. They are also referred by other terms such as *Cloud Service IoT Platform*. In this age, where billions of devices are connected to the Internet, we see increasing potential of tapping big data acquired from these devices and processing them efficiently through various applications.

IoT devices are devices with multiple sensors connected to the cloud, typically via gateways. There are several IoT Cloud Platforms in the market today provided by different service providers that host wide ranging applications. These can also be extended to services that use advanced machine learning algorithms for predictive analysis, especially in disaster prevention and recovering planning using data from the edge devices.

## Discussion

### What are the key features of an IoT cloud platform?

An IoT cloud platform may be built on top of generic clouds such as those from Microsoft, Amazon, Google or IBM. Network operators such as AT&T, Vodafone and Verizon may offer their own IoT platforms with stronger focus on network connectivity. Platforms could be vertically integrated for specific industries such as oil and gas, logistics and transportation, etc. Device manufacturers such as Samsung (ARTIK Cloud) are also offering their own IoT cloud platforms. 

In most cases, typical features include connectivity and network management, device management, data acquisition, processing analysis and visualization, application enablement, integration and storage. 

Cloud for IoT can be employed in three ways: Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS) or Software-as-a-Service (SaaS). Examples of PaaS include GE's Predix, Honeywell's Sentience, Siemens's MindSphere, Cumulocity, Bosch IoT, and Carriots. Developers can deploy, configure and control their apps on PaaS. Prefix is built on top of Microsoft Azure (PaaS). Likewise, MindSphere is built on top of SAP Cloud (PaaS). Siemens's Industrial Machinery Catalyst on the Cloud is an example of SaaS which is a ready-to-use app within minimal maintenance. 


### Where does cloud fit in with the overall architecture of IoT?

In general, there are two kinds of IoT software architectures: 

    + **Cloud-centric**: Data from IoT devices such as sensors are streamed to a data centre where all the applications that do the analytics and decision making are executed, using real-time and past data from one or more sources. Servers in the cloud control the edge devices too.
    + **Device-centric**: All the data is processed in the device (sensor nodes, mobile devices, edge gateways), with only some minimal interactions with the cloud for firmware updates or provisioning. Terms such *Edge Computing* and *Fog Computing* are used in this case.Today, for IoT Cloud Platforms, the goal is to stretch the analytics and data processing across Cloud and Device, leveraging the resources at each end seamlessly. In general, we are beginning to see a shift towards leveraging the compute and service capabilities of the cloud to manage IoT devices better. This is also quite evident from a snapshot of the Google Trends showing increasing interest in Cloud compute compared to just IoT.


### How is an IoT cloud platform different from traditional cloud infrastructure?

The traditional cloud infrastructure focuses on a model of cloud computing where a shared pool of hardware and software resources are made available for on-demand access in such a way that they can be easily and rapidly provisioned and released with minimal effort. IoT Cloud Platform extends this capability to resources that are more user-centric, which increases the count and scale of data and devices. The cloud platform services can not only process big data from a wider set of IoT devices, but also provides a smart way to provision and manage each of them in an efficient manner. This also includes fine-grained control, configuration and management of IoT devices. 

One of the IoT Cloud platform differentiators is the ability of the engine to massively scale to handle real-time event processing of large volumes of data generated by various devices and applications. The providers of IoT Cloud Platforms typically work with multiple parties such as hardware vendors (both for cloud services and IoT devices), telecommunication providers, software service providers and system integrators to build the platform.


### What exactly is meant by Application Enablement Platform (AEP)?

The world of IoT is one of variety: many hardware platforms, many communication technologies, many data formats, many verticals, and so on. AEP is a platform that caters to this variety by providing basic capabilities from which developers can build complete end-to-end IoT solutions. For example, AEP might offer location-tracking feature rather than a more restrictive fleet tracking feature. The former is more generic and therefore can be used in a number of use cases. 

AEP gives faster time to market without sacrificing on customization and product differentiation. The disadvantage is that users of AEP must have the skill sets to develop the solution. The solution might also suffer from vendor lock-in. 

With AEP, app developers need to worry about scaling up. AEP will take care of communication, data storage, management, application building and enablement, user interface security, and analytics. When selecting an AEP, developers should consider developer usability including good documentation and modular architecture, flexible and scalable deployment, good operational capability, and a mature partnership strategy and ecosystem. 

Examples of AEP include ThingWorx Foundation Core, Aeris' AerCloud, and deviceWISE IoT Platform. 


### Could you list some IoT cloud platforms out there in the industry today?

With the advent of IoT with billions of devices getting connected to the internet which not only does compute, storage and run applications, there is also a needed to handle large amounts of data coming into the system via the various interfaces such as sensors and user inputs.

Here are some IoT cloud platforms: 

    + Amazon Web Services IoT
    + IBM Watson IoT Platform
    + Microsoft Azure IoT Hub
    + Google Cloud IoT
    + Oracle Integrated Cloud for IoT
    + SAP Cloud Platform for the Internet of Things
    + Cisco Jasper Control Center
    + PTC ThingWorx Industrial IoT Platform
    + Salesforce IoT
    + Xively
    + Carriots

### What factors should I consider when comparing different IoT cloud platforms?

Comparison across different platforms depends on both business and technical factors: Scalability, Reliability, Customization, Operations, Protocols, Hardware agnostic, Cloud agnostic, Support, Architecture and Technology Stack, Security and Cost. For example, a comparison of AWS IoT (serverless) and open-source IoT deployed on AWS showed that the former reduces time to market but is expensive at scale. 

The end-to-end requirements and cost-benefit analysis between commercial and open-source solutions need to be considered while choosing the right platform. One way to compare is to look at the best fit to various sectors, viz. Management of various Device, System, Heterogeneity, Data, Deployment, Monitoring and fields of Analytics, Research and Visualization. 

Each of these sectors has its own performance criteria such as real time data capture capability, data visualization, cloud model type, data analytics, device configuration, API protocols, and usage cost. Data analytics performance and outcome also depends on factors such as device ingress and device egress, intermediate connectivity network latencies and speeds and support for optimized protocol translations. Visualization of data, filtering of large masses of data and configurability of the millions of devices using smart application tools is another differentiating factor.


### What are some challenges of adopting IoT cloud platforms?

Security and privacy are the main concerns delaying the adoption of IoT Cloud Platforms. Cloud providers typically will not own the data and are only authorized to do the analytics and control of systems as permitted by the owner of the data. Any breach of data access either during transit or from storage is a concern from privacy and security perspective. Also, since the value of IoT data is immense, proper legal agreements and mechanisms must be in place to ensure the data or outcome of data analysis is only used for the intended purpose by the authorised personnel.

Existing IoT cloud platforms may not always conform to standards, thereby causing interoperability issues. They may also not support heterogeneous modules or communication technologies. When there's too much data, context awareness can help, including decisions of what needs to be done at the edge. Vertical silos continue to exist and this prevents horizontal flow of information. Middleware can solve this problem. Many system continue to use IPv4 and this could be a problem as devices run out of unique IP addresses. 


### Could you compare IoT components from Amazon, Microsoft and Google?

Amazon Web Services (AWS), Microsoft Azure and Google Cloud Platform (GCP) are generic cloud platforms that have IoT-specific components. These can be compared across various metrics.

Azure offers both PaaS and SaaS options. Its Azure IoT Edge helps with data analysis at the edge. Azure's SDKs are either for running on device or as a service on the cloud. Azure has support for a number of messaging protocols. All platforms provide device SDKs to enable devices to easily authenticate and connect to the cloud. 

Amazon FreeRTOS enables sensor nodes to easily connect to cloud while Amazon Greengrass brings cloud capability to edge devices. AWS offers **Device Shadow**, which is a persistent virtual equivalent of the actual device. This is useful if the device goes offline or suffers from intermittent network connectivity. Rules Engine can route messages a variety of AWS endpoints. 

Google's Cloud IoT Core supports gRPC for efficient binary messaging. It also has hardware partners for easy device integration. 

## Milestones

Oct  
1969

As a U.S. defense project, the ARPANET is launched. By late 1980s, this evolves into a publicly accessible packet-switched network called the Internet. 

1989

While at CERN, Tim Berners-Lee creates the World Wide Web (WWW) that's uses Internet as its backbone. A year later, he implements the first client and server communication over a network. 

1999

Kevin Ashton coins the term **Internet-of-Things (IoT)** while making a presentation to Procter & Gamble. He notes that technologies such as sensors and RFIDs are better at tracking things in the real world than humans. 

2002

To enable others to benefit from the technologies at Amazon, Amazon launches **Amazon Web Services (AWS)**, one of the first commercial Cloud Services Platform. With the infrastructure of AWS, businesses could build and manage their websites in a lot easier way. AWS is relaunched in 2006 with the release of Amazon Elastic Compute Cloud (EC2). 

2013

IoT cloud platforms have been on the rise since late 2000s. The year 2013 sees a peak in new startups in this space. 

Jul  
2016

A market study reveals that there are 450+ companies offering IoT platforms, up from 360 companies in 2015. Not all of these are cloud platforms. A third of them cater to industrial IoT. Niche platforms focus on vertical use cases rather than horizontal cross-industry use cases.