The big cloud trio has each entered the Internet of Things (IoT) space and are each spending significant sums on new services and investing in their IoT platforms. All three are betting on the long-term potential for significant margins.
The IoT indeed marks a significant present-day and future set of milestones for technological revolution.
The promise of smart devices is already in play – from smart fridges controlled by smartphones to smartwatches that monitor your vitals across the day, alerting you in the event of an anomaly.
The potential for smart cities in the future is immense, in which the IoT and analytics are applied to both private and public services and infrastructure. Everything from lighting to parking to waste management has the potential to be managed and optimized via the IoT. To those building it, the smart city revolution is about connecting people, process, data and things through technology to enable more efficient, smarter living. On the upside, the IoT has the potential to help cities globally cope, and even flourish with the expected continued growing population influxes to urban centers. To detractors, the collecting of metrics on everyday life brings with it complicated privacy and security issues.
It’s hard to know exactly which way/s the IoT will take us, but what is indisputable is that in order to enable the continued promise of the IoT, the computing world needs to keep investing in the infrastructure that will enable its development and expansion.
Amazon Web Services (AWS) IoT
Amazon Web Services is the leader of the pack in the cloud computing race. It offers a vast number of cloud compute features, from cloud storage to to an extensive set of developer tools. The AWS IoT platform is more expensive than its rivals, but as a whole, AWS is significantly ahead of the others in terms of market share of the cloud computing space.
A report published by Synergy Research Group in June showed that AWS owned 40% of the market in Q1 this year. Microsoft is the second-largest provider in three of four regions (Alibaba outperformed Microsoft in APC). The cloud trio between them owned around 60% of the global market in Q1.
Pricing works on a fee per 1 million messages sent or received. There is also a free low throughput tier. Messages are processed in blocks of 512 bytes with each block representing one message up to a maximum of 128 KB.
Devices communicate with applications running in the cloud over HTTP, MQTT and WebSockets, which is secured using TLS. Device specific SDKs are available for Embedded C, JavaScript, Python, iOS, Android and Arduino Yún.
Every device that connects with AWS is represented as a Device Shadow, which maintains the identity and last known state of a specific device and acts as a channel to send and receive messages.
Amazon announced six new IoT services and capabilities last November, including AWS IoT 1-Click, AWS IoT Device Management, AWS IoT Device Defender, AWS IoT Analytics, Amazon FreeRTOS, and AWS Greengrass ML Inference.
“The explosive growth in the number and diversity of connected devices has led to equally explosive growth in the number and scale of IoT applications. Today, many of the world’s largest IoT implementations run on AWS, and the next phase of IoT is all about scale as we’ll see customers exponentially expand their fleet of connected devices,” said Dirk Didascalou, VP IoT, AWS.
Key AWS IoT services include:
Amazon FreeRTOS
a:FreeRTOS is a microcontroller operating system that is focused on enabling easy programming and management of small, low-power edge devices. It is based on the FreeRTOS kernel, an open source operating system for microcontrollers. AWS’ service extends the free version with software libraries that enable easy connections between small, low-power devices (such as appliances, fitness trackers and automobiles) with AWS’ wider set of cloud services, such as AWS IoT Core or to other bigger edge devices running AWS Greengrass.
Microcontrollers (MCUs) are single chips containing a simple processor. They have limited memory capacity and compute power and so tend to only perform simple, functional tasks. Typically, microcontrollers are not run on operating systems with built in functionality to connect to the cloud or local networks, making IoT services challenging. Amazon FreeRTOS was built to solve this problem by connecting the core operating system with software libraries that make a secure connection to the cloud easy.
AWS Greengrass
AWS Greengrass is software that securely enables the running of local compute, data caching and messaging for connected devices. Connected devices can run AWS Lambda functions via AWS Greengrass. It also enables the keeping of device data in sync, and securely communicating with other devices, even when not connected to the Internet. This means that Greengrass connected IoT devices can still respond quickly to local events, interact with local resources (via Lambda functions), stay updated and minimize the costs associated with transmitting IoT data to the cloud. Devices can then act locally on the data they are generating in addition to using the cloud for backup storage, management and analytics.
One of the key features of AWS Greengrass is ML Inference, a feature that makes it straightforward to perform machine learning (ML) tasks locally on Greengrass core devices using models that are constructed and trained in the cloud.
AWS IoT Core
AWS IoT Core is AWS’ managed cloud platform that enables the straightforward and secure interaction between connected devices, cloud applications and other devices; the idea being to enable the easy building of IoT applications, such as connected home or industrial solutions. IoT Core has the functionality to support billions of devices and trillions of messages, including the processing and routing of those messages to AWS endpoints and other devices. Similarly to the other AWS IoT services, IoT Core also connects to AWS IoT Analytics, which enables the building of analytics and machine learning models.
AWS IoT Core also connects to AWS’ countless other cloud services, including AWS Lambda, Amazon Kinesis, Amazon S3, Amazon SageMaker, Amazon DynamoDB, Amazon CloudWatch, AWS CloudTrail, and Amazon QuickSight. This enables the building of IoT applications that can gather, process, analyze and act on data generated by connected devices, without DevOps teams needing to manage any infrastructure.
Other AWS IoT features include AWS IOT Device Management, AWS IoT Device Defender, AWS IoT 1-Click and AWS IoT Button.
Google Iot
Similarly to AWS, Google offers a wide-ranging cloud computing service in the form of Google Cloud. Its notable features range from a machine learning engine that uses TensorFlow to a document-oriented database as a service. Its IoT offerings are gathered within the Google Cloud IoT platform. It tends to be a little cheaper than AWS but more expensive than Microsoft Azure.
Google IoT pricing is tiered as per the number of operations plus storage costs (and network costs if a consumer is located in a different region). Processing a typical message will involve three operations: 1 publish, 1 pull and 1 acknowledgement. Messages are split into 64 KB units that are each considered a single message for billing purposes.
According to a survey by the Eclipse Foundation published in April 2018, Google Cloud was trailing the other two big providers in terms of its market share of the cloud compute market, and indeed its share had slightly fallen since the previous year. Across 2018, 52% of developers said they were using the AWS IoT cloud platform compared to 31% for Microsoft Azure and only 19% said they were using the Google IoT Cloud platform. Given its relative size, Kubernetes scored an impressive 12%. The reason the numbers don’t completely add up to 100% is that developers often use more than one cloud platform.
Some of the key Google IoT features include:
Cloud IoT Core
Cloud IoT Core is the plank of Google’s IoT products. It is a managed service that “allows you to easily and securely connect, manage, and ingest data from millions of globally dispersed devices”. It works in combination with other Cloud IoT services as “a complete solution” for collecting, processing, analyzing, and visualizing IoT data. Cloud IoT Core runs on Google’s serverless infrastructure, which automatically scales in response to real-time events. Cloud IoT core supports the standard MQTT and HTTP protocols, meaning that existing devices can be brought into its fold with minimal changes necessary to firmware.
Cloud Pub/Sub
Cloud Pub/Sub is part of Google Cloud’s stream analytics program and supports device-to-cloud IoT scenarios. It works by ingesting event streams then delivering them for processing to Cloud Dataflow and for analysis as a data warehousing solution to BigQuery. By relying on Cloud Pub/Sub to handle delivery of event data, developers can maintain focus on other areas. Cloud Pub/Sub supports large scale message ingestion over HTTP (REST) or gRPC. Client libraries exist for Go, Java (Android), .NET, JavaScript, Objective-C (iOS), PHP, Python and Ruby.
Cloud IoT Edge
Cloud IoT Edge makes it possible to extend Google Cloud’s data processing and machine learning capabilities to billions of edge devices like wind turbines, oil rigs or robotic arms, to allow them to make decisions on a local real-time basis in response to the data they receive from their sensors. Cloud IoT Edge can either run on Android Things or on Linux-based operating systems. It is made up of two runtime components: Edge IoT Core and Edge ML. Cloud IoT Edge also employs Google’s hardware accelerator ASIC chip, Edge TPU, designed to run inference at the edge.
Google also offers Firebase: a self-contained mobile and IoT development platform. Firebase supports device-to-cloud and cloud-to-device messaging over HTTP and XMPP and comes with SDKs for iOS, C++, JavaScript and Android.
Azure IoT
Microsoft’s cloud solution is Microsoft Azure, which similarly to the other two cloud trio members, offers a substantial number of cloud services, including mobile app services, storage offerings, messaging platforms and virtual machines. Its IoT platform, the Azure IoT Suite, offers a plethora of products targeted for use in IoT product development. Pricing-wise, Azure IoT is typically cheaper than the AWS IoT and Google Cloud IoT platforms. It is the second-largest IoT platform on the market.
Its key features comprise of:
Azure IoT Hub
IoT Hub is the central area for developers to build IoT applications and connect, monitor and manage billions of edge devices using bi-directional messaging. It is a flexible cloud platform as a service (PaaS) that supports multiple protocols (AMPQ, MQTT and HTTP). If a device does not support one of these protocols then incoming and outgoing traffic can be adapted using the Azure IoT Protocol Gateway. IoT Hub also supports numerous open-source SDKs, including .NET, Javascript, Java, C and Python.
Some of its central features include the use of authentication control per device, bidirectional communication between IoT devices using device-to-cloud telemetry data, and the ability to accelerate the deployment and scaling of IoT services by registering and provisioning devices using zero touch. It allows developers to containerize their cloud workloads and run them locally on devices using Azure IoT edge.
Pricing-wise, IoT Hub is grouped into four tiers, from a free tier up to the high throughput S3 tier, which is capable of supporting up to 300,000,000 messages per day. If more throughput is required, additional units can be added to each tier. Messages are sent in 4 KB blocks; for billing purposes, each block is counted as a message – up to a maximum 512 KB.
Azure IoT Edge
IoT Edge extends cloud intelligence and analytics to edge devices at a local level. It extends the deployment of AI, Azure services, and custom logic directly to cross-platform IoT devices. As with AWS Greengrass, the IoT when deployed via Azure IoT Edge can run securely and at scale even when the devices are offline. IoT Edge has extremely low latency and near real-time response potential, thereby optimizing performance between edge and cloud. It works in conjunction with the AI Toolkit for Azure IoT Edge, meaning that complex AI and ML tasks such as image recognition and complex event processing can be easily run without the need to write them in-house.
Azure IoT Central
Azure IoT Central is a service that promises to require no prior cloud expertise as it is a fully managed global IoT software as a service (SaaS) solution. It is very quick to deploy production-grade IoT applications and promises to eliminate the need for the management of infrastructure and hiring developers with specific skills. Azure IoT Central was built on enterprise-grade Azure services, so its ability to securely connect devices at scale is proven. It’s operated via an interface that allows developers to connect, manage and control access to millions of connected products remotely across their entire lifecycle.
Azure IoT Solution Accelerators
Azure IoT Solution Accelerators is a set of customizable templates for common IoT scenarios. The service offers “six steps” to multiple types of solutions, such as remote monitoring, a connected factory and predictive maintenance. There is a connected device simulation accelerator, which allows developers to test-run their chosen IoT solution with tens of thousands of simulated devices across the development lifecycle.