Amazon Web Services (AWS) is a public cloud services platform, offering a set of powerful services including computing services, database (Amazon DynamoDB), storage (Amazon S3), Amazon Kinesis, Amazon Machine Learning and other functionality to help application scalability and reliability. AWS IoT is a cloud platform that enables Internet-connected ‘things’ (e.g. actuators, smart appliances, sensors) to connect to the AWS cloud platform services and user deployed applications. These applications can control ‘things’ remotely and make use of collect raw data to process, analyze and visualize to help in the decision-making process.


AWS IoT MQTT message broker is responsible for Publish-Subscribe (Pub/Sub) communication model, where ‘thing’ publishes JSON-based messages about the inner state on a specific topic for to be delivered to all clients subscribed to this topic. AWS IoT also supports HTTP, WebSockets protocols for communications. Thing Registry on the other side, stores information about each ‘thing’ and organizes resources associated. Users are allowed to create rules that define actions (e.g. insert into a certain table of DB) to be performed based on received JSON messages with specific properties. Each connected ‘thing’ has a Thing Shadow as a virtual representation on the cloud to store and retrieve state information, where the state information is the last state reported by this ‘thing’ and the desired state requested by an application. Device SDKs make easier synchronization between the ‘thing’ and the corresponding shadow.

Communication between application and the ‘thing’ shadow is through JSON documents, where the application can request update or info about the ‘thing’ state. AWS IoT provides a number of interfaces for the developers and users: Command line interface (CLI), SDKs to build your applications using language-specific APIs (e.g. C, JavaScript, Arduino) and IoT-API to build your application using HTTP requests.

Like other AWS services, pricing is based on the number of published and delivered messages between devices and applications. However, pricing does not include usage of certain AWS services, specifically Amazon S3, Amazon DynamoDB and Amazon Kinesis.

Read more details about AWS IoT here