At the most recent re:Invent conference, Amazon Web Services (AWS) announced its entry in the Internet of Things (IoT) space. The AWS IoT platform as expected brings not just the scale expected of AWS, but introduces deep integration with services in the AWS ecosystem along with Device SDKs, and Starter Device Kits that are ready to kick-start your IoT development.
At its heart, AWS IoT is a Managed IoT platform that provides a Message Broker which can handle messages published by your devices, as well as a Rules Engines that can transform and invoke actions both into other AWS Services and back to your devices.
A high level diagram of AWS IoT is shown below, with the IoT Plaform shown in green.
"Things" are devices that you need to control. They publish messages to the broker via the MQTT protocol (note that HTTP is also supported). The Message Broker can then deliver the message to subscribers, IoT Applications, or other Things. Security and Identity is a first-class citizen in this platform and needs to be taken care from the ground up. The Rules Engine is pretty interesting and it can not just transform the data but route the message back to not just subscribers/applications but also invoke the rest of the services available in the AWS Ecosystem like DynamoDB, Lambda functions and more.
The Thing Shadow is a very interesting concept and is key to disconnected Things. Given the conditions that Things would operate it, it is very likely that due to bad connectivity, they are not always in a connected state. This means that when a message is likely to be pushed to the Thing, it is not available. In comes the concept of Thing Shadow to address it. A Thing Shadow is a copy of your Thing state in the Cloud and contains the last known state and a desired state. When a Thing is connected again, the state is synced with the Thing Shadow. Applications too can control the state of a Thing by simply using the REST API to control the Thing Shadow state. Check out How It Works section for more details on the core building blocks of the AWS IoT Platform.
The maker community is well versed with using Kits that have helped them write IoT applications and it would be interesting to them that AWS has partnered with various Device Manufacturers to help jump start the applications. These starter kits contain all you need to get connected to the AWS IoT Gateway. The Starter kits are from various vendors including Intel Edison, Beaglebone and more.
For AWS developers, the IoT platform is an excellent gateway to help build their Internet of Things applications. If you are invested in the AWS Ecosystem, you are probably using multiple services and this close integration is a big win for developers.