Head-To-Head IoT Platforms: Amazon Web Services IoT Vs. Microsoft Azure IoT
Internet Of Things Platform Picks
Microsoft and Amazon Web Services are both leading cloud providers, but the Internet of Things requires a bit more than the cloud. On top of Azure and AWS, IoT customers expect a platform that will scale to comply with thousands of connected devices. Customers also want data analytics and direct monitoring services as part of the offerings.
Microsoft, Redmond, Wash., and AWS, Seattle, are racing to provide a secure, end-to-end platform for the Internet of Things. In 2015, Microsoft launched its Azure IoT Hub as an integral part of its Azure IoT suite, and not long after AWS unveiled its AWS IoT platform.
Following is a breakdown of AWS IoT and Azure IoT Hub.
What Do Customers Want From An IoT Platform?
Customers want much more than data collection from an end-to-end Internet of Things platform. Microsoft and AWS' platforms contain different components for collecting, storing and analyzing data – topped by the capability to transfer data in a bi-directional manner.
A successful IoT platform will have various functions, including a software development kit that can be used as firmware in connected devices, device management capabilities, support for multiple standard protocols, security, archiving and large-scale data storage, and the potential for plug-and-play global connectivity (including 3G, 4G and LTE).
Many of these features come to play in the gateway of an IoT solution – which for Microsoft is its Azure IoT Hub, and for AWS its AWS IoT gateway. These two gateways act as the door between the devices and cloud by simplifying the ingestion and communication of data.
Microsoft Gateways: Bi-Directional
Gateways are the hub between how data is transferred from connected devices to the cloud. While Microsoft's Azure IoT Hub gateway and AWS' IoT gateway perform these functions, they do so in different ways.
Microsoft's gateway enables bi-directional communication between devices and the back end of the cloud – meaning that data can travel to and from the cloud. Devices that are IP-capable, using Wi-F or Ethernet, will have two endpoints that interact with Microsoft's gateway to send messages to the cloud as telemetry data, requests for execution and the action of a command.
The Azure IoT Hub also enables endpoints in the cloud so that the back-end system can send messages to devices. These messages are timed so that they will expire in case a device receives a late command that is no longer applicable.
AWS Gateways: Device Rules Engine
AWS gateways also transfer data using a bi-directional, but the company communicates between nodes and applications through a rules engine.
Connected devices using the AWS IoT platform report their state through publishing updates about specific topics to the message broker; which then sends the messages to clients subscribed to specific topics. The states of devices are stored in an AWS "Thing Shadow," which is a JSON document where applications can request changes to the state.
Microsoft Azure IoT Hub: Pricing
While Microsoft's pricing model revolves around to paying for the IoT Hub unit related to the number of devices and messages per day, AWS IoT's pricing model charges for the traffic of messages published from devices and delivered to devices.
Microsoft's Azure IoT Hub offers three editions based on the total amount of data companies will generate: S1, which costs $50 per month, enables up to 400,000 messages a day per unit, while S2, which is $500 per month, enables up to 6 million messages a day per unit. The S3 plan enables up to 300 million messages a day per unit and costs $5,000 per unit. All three pricing plans enable a message meter of 4 KB.
Microsoft also offers a free trial tier allowing companies to transmit a total of 8,000 messages a day, with a message meter of 0.5 KB.
AWS IoT: Pricing
AWS, meanwhile, bases its IoT pricing on a million messages exchanged policy, which means that the total cost depends on publishing messages to and from devices and applications.
For instance, U.S. customers are charged $5 per 1 million messages published to AWS IoT. According to AWS, there is no minimum fee.
Customers can also try out AWS' platform with the free tier that lets them start with 250,000 messages free monthly, for 12 months with no limits on connected devices. AWS IoT also does not charge for deliveries to AWS services such as Lambda, S3 and Kinesis.
Azure IoT Hub: Identity Registry And Monitoring
Microsoft's gateway features an identity registry to store all information about devices that are part of the IoT offering. Customers are able to monitor their information to view whether devices are connected or disconnected to the network, as well as the last known activity of devices. As part of Azure IoT Hub's device identity management feature, customers also can create, update and delete devices from the network.
AWS: Thing Registry
AWS IoT's equivalent of the identity registry is the Thing Registry, which stores the data of information such as manufacturer or serial number. Customers can add other custom features to create, delete and update the "things" with AWS Command Line Interface.
Microsoft: Software Development Kit Compatibility
Microsoft and AWS both offer open-source software development kits that are available on GitHub, but the companies offer different SDKs for different languages and platforms.
Microsoft offers SDKs for .Net Framework applications and Universal Windows Platform applications running on Windows 10 devices. The .Net SDK enables a bonus back-end service that serves as an identity registry.
The company also offers SDKs for developers using Java and NodeJS, as well as the SDK for C (ANSI C99), which can be used on devices with support for only C language.
In addition to the HTTP protocol, the AMQP 1.0 protocol is the official supported protocol for Microsoft's IoT Hub and all Azure services.
AWS: Software Development Kit Compatibility
AWS offers SDKs for NodeJS and the Arduino Yun board. Like Microsoft, AWS also offers an SDK for C (ANSI C99) embedded language – this is cross-platform and can be used on different hardware and operating systems.
In addition to HTTP, MQTT is the official supported protocol for AWS IoT. On Microsoft's end, MQTT client for Windows IoT can also be found in the open-source community.
Azure IoT Hub: Security
Security is at the top of everyone's mind, and Microsoft and AWS have taken extra steps to ensure security measures in their platforms.
Microsoft's Azure IoT Hub relies on the Transport Layer Security protocol, enabling communication between devices and the cloud (and vice versa) to be encrypted and guaranteeing data confidentiality for customers.
The company also secures device and service authentication with access control and credentials to define a set of permissions that will grant access to exposed endpoints.
AWS IoT: Security
Like Microsoft, AWS is also Transport Layer Security-based, encrypting the communication between things and the message broker. However, where Microsoft's IoT Hub enables TLS for server authentication, AWS offers mutual authentication for its clients. Customers can create and activate certificates – attached to the device and the policies – through AWS Command Line Interface.
Microsoft's servers are also authenticated with their own X.509 certificate sent to devices during the communication process, while AWS supports IAM service and Amazon Cognito Service in addition to X.509 certificate client authentication.
Microsoft: Certified Hardware Boards
Microsoft has grown a network of hardware partners with platforms that can access the Azure IoT Hub through its Azure Certified for IoT Program.
This partner base includes Intel, Freescale's ARM mbed-based platform, Texas Instruments, Arrow's Qualcomm Board, MinnowBoard, Raspberry Pi and Resin.io, among others.
AWS: Certified Hardware Boards
AWS provides starter kits to enable hardware partners to rapidly prototype their ideas.
AWS hardware partners include Intel's Edison board, Qualcomm Dragonboard, BeagleBone, as well as boards for low-constrained devices like Microchip.
Microsoft: Other Applications And Services
Microsoft and AWS both offer an array of services as part of their platforms that go beyond the collection and ingestion of data.
Microsoft's Azure IoT Suite offers out-of-box services, including Stream Analytics for real-time data analysis, Machine Learning to execute predictive analysis for devices, and Power BI, which enables customers to visualize their data and make predictions about future behavior based on their device data.
AWS: Other Applications And Services
Amazon Web Services offers the Rules Engine as its tool for integrating AWS IoT services. The engine integrates services like DynamoDB, a NoSQL database that stores information; Kinesis for real-time processing of data; and Lambda for server-less function code to determine and use the meaningful data.