Thursday, October 8, 2015

Amazon Web Services announced a new managed cloud service provides the infrastructure for Internet of Things (IoT) applications and the ability to securely interact with cloud services and with other devices at "world-scale."

AWS said its platform lets billions of things keep responsive connections to the cloud, and lets cloud applications interact with things (works in device shadows, rules engine, and the real-time functionality). The service is currently in beta.

Key components listed on the AWS IoT developer site:

Things are devices of all types, shapes, and sizes including applications, connected devices, and physical objects. Things measure and/or control something of interest in their local environment. The AWS IoT model is driven by state and state changes. This allows things to work properly even when connectivity is intermittent; applications interact with things by way of cloud-based Thing Shadows. Things have names, attributes, and shadows.

Thing Shadows are virtual, cloud-based representations of things. They track the state of each connected device, and allow that state to be tracked even if the thing loses connectivity for an extended period of time.

The real-time Rules Engine transforms messages based on expressions that you define, and routes them to AWS endpoints (Amazon DynamoDB, Amazon Simple Storage Service (S3), AWS Lambda, Amazon Simple Notification Service (SNS), Amazon Simple Queue Service (SQS), Amazon Kinesis, and Amazon Kinesis Firehose) all expressed using a SQL-like syntax. Routing is driven by the contents of individual messages and by context. For example, routine readings from a temperature sensor could be tracked in a DynamoDB table; an aberrant reading that exceeds a value stored in the thing shadow can trigger a Lambda function .

The Message Broker speaks MQTT (and also HTTP 1.1) so your devices can take advantage of alternative protocols even if your cloud backend does not speak them. The Message Broker can scale to accommodate billions of responsive long-lived connections between things and your cloud applications. Things use a topic-based pub/sub model to communicate with the broker, and can also publish via HTTP request/response. They can publish their state and can also subscribe to incoming messages. The pub/sub model allows a single device to easily and efficiently share its status with any number of other devices (thousands or even millions).

Device SDKs are client libraries that are specific to individual types of devices. The functions in the SDK allow code running on the device to communicate with the AWS IoT Message Broker over encrypted connections. The devices identify themselves using X.509 certificates or Amazon Cognito identities. The SDK also supports direct interaction with Thing Shadows.

The Thing Registry assigns a unique identity to each thing. It also tracks descriptive metadata such as the attributes and capabilities for each thing.

All of these components can be created, configured, and inspected using the AWS Management Console, the AWS Command Line Interface (CLI), or through the IoT API.