Until recently, the first thing that came to our mind with Amazon Web Services was that of an infrastructure provider. But things are changing, rightly so in tune with times. The AWS is now into an all out mode to scale up the artificial intelligence ladder, gradually shifting focus towards machine learning, deep learning and data science. Last week it went serverless, and now the cloud leader has added yet another function to its repertoire: AWS IoT Analytics.
AWS IoT Analytics provides advanced data analysis of data collected from your IoT devices. It is a fully managed service of AWS IoT, which can be used to cleanse, process, enrich, store, and analyze IoT data at scale. Amazon calls it “the easiest way to run analytics on IoT data.”
Announced closely on the heels of re:Invent 2017, the AWS IoT Analytics has been designed specifically for common IoT use cases like predictive maintenance, asset usage patterns, and failure profiling. The platform captures data from devices connected to AWS IoT Core, and filters, transforms, and enriches it before storing it in a time-series database for analysis.
“You can set up the service to collect only the data you need from your devices, apply mathematical transforms to process the data, and enrich the data with device-specific metadata such as device type and location before storing the processed data. Then, you can use IoT Analytics to run ad hoc queries using the built-in SQL query engine, or perform more complex processing and analytics like statistical inference and time series analysis,” Amazon said in its release.
Benefits of AWS IoT Analytics
- Helps with predictive analysis of data by providing access to pre-built analytical functions
- Provides ability to visualize analytical output from service
- Provides tools to clean up data
- Can help identify patterns in the gathered data
Getting Started: Common IoT Analytics Concepts
- Channel: archives the raw, unprocessed messages and collects data from MQTT topics.
- Pipeline: consumes messages from channels and allows message processing.
- Activities: perform transformations on your messages including filtering attributes and invoking lambda functions advanced processing.
- Data Store: Used as a queryable repository for processed messages. Provide ability to have multiple datastores for messages coming from different devices or locations or filtered by message attributes.
- Data Set: Data retrieval view from a data store, can be generated by a recurring schedule.
This is how it looks like
First, you create a channel to receive incoming messages. For this, select the Channels menu option and click the Create a channel button (as shown above).
It creates a new form where you have to name your channel and give the channel a MQTT topic filter, from which this channel will ingest messages. Your channel is then created once you click the Create Channel button.
Once your Channel is created, set up a Data Store to receive and store the messages received on the Channel from your IoT device. Multiple Data Stores can be created for complex solutions.
Now that you have your Channel and Data Store stored, connect the two using a Pipeline (in manner something similar to how we created a Channel and Data Store) for the processing and transformation of messages. Additional attributes can be added to create a more robust pipeline, if need be.
To use AWS IoT Analytics, all we need now is an IoT rule that sends data to a channel. Choosing the Analyze menu option will bring up the screens to Create a data set. And this is how you set up advanced data analytics for AWS IoT:
In addition to the ability to collect, visualize, process, query and store large amounts of data generated from AWS IoT connected devices, Amazon said the AWS IoT Analytics service can be used in so many other possibilities such as the AWS Command Line Interface (AWS CLI), the AWS IoT API, language-specific AWS SDKs, and AWS IoT Device SDKs.
To learn more about AWS IoT Analytics and to register for the preview, visit the product page.