IoT Core is a managed cloud service that enables connected devices to securely and seamlessly interact with cloud applications and other devices. It can support billions of devices and trillions of Messages (MQTT Protocol is used to send and receive messages) and can process and route such messages to AWS endpoints and other connected devices. With IoT Core, we can keep track and communicate with all our devices, all the times, even when the devices have an intermittent connection among themselves.
IoT Core enables makes it easy to integrate connected devices with other AWS services like:
- Kinesis (to process streams of incoming data from devices)
- DynamoDB (to store incoming data in Tables for later use)
- Amazon Sagemaker (to apply Machine Learning models and generate meaningful analytics from incoming Data from Devices)
- Amazon QuickSight (to prepare Dashboards and graphs from device data)
Device Gateway serves as an entry point for IoT devices in connecting to AWS services. It manages all active connections and implements semantics for multiple protocols to ensure the devices can communicate with AWS and among themselves securely and efficiently with lowest possible latency. Device gateway is a fully managed service and can automatically scale to support billions of devices.
Message Broker is a high-throughput publish/subscribe broker that securely transmits messages to and between all our devices with low latency. It supports messaging patterns like one-to-one command and control messaging OR one-to-million (or more) broadcast notification systems. Broker is also automatically scaled based on demand without having to manage or provision any infra.
The Rules engine evaluates inbound messages published into AWS IoT Core and transforms and delivers them to other devices or a cloud service, based on business rules that we define. It can take one or many actions on one device or many devices in parallel. It can route messages to services like AWS Lambda, S3, DynamoDB, Cloudwatch, Amazon SNS, SQS, IOT Analytics and Elastic search with built-in Kibana Integration and Step Functions.
We can write rules within the Management console or by using SQL-like syntax., For example, we can author a rule that transmits the incoming data to AWS lambda if the temperature reading in incoming message exceeds a pre-defined threshold. Rules Engines provides many available functions readily that can be used to transform our data and supports custom functions written in Lambda to transform based on our custom requirement.