fotohansel - Fotolia
Enterprises use data that streams from IoT devices to perform a variety of tasks, ranging from weather predictions to inventory management. This process, however, doesn't always come easy, as data scientists first need to format these IoT data streams.
They might, for example, need to cleanse IoT data for quality or align data from different sources to create a time series data set. Two similar services -- AWS IoT Analytics and Amazon Kinesis Data Analytics -- can stream data in real time to help teams store and process information.
IoT Analytics is best suited for use cases such as predictive maintenance, business process optimization and predictive fleet management, while Kinesis Data Analytics has a faster response time that benefits industrial monitoring and control applications.
Let's explore the differences among IoT Analytics, Kinesis Data Analytics and some third-party options to find the right data analysis tool for each situation.
Default to IoT Analytics
The collection of features for AWS IoT Analytics makes it the default choice for most use cases that involve IoT applications. The service contains built-in AWS IoT Core support, which makes it easy to automatically and securely set up and collect data from a large number of devices. IoT Core integration also makes it easier to associate device data with a specific sensor make and model or associate a collection of sensors with a larger device to pinpoint where data is coming from.
With AWS IoT Analytics, engineers can also automatically cleanse bad data -- such as that caused by inaccurate sensor readings -- as well as enrich data streams with outside sources and automatically store this enriched feed in a time series format. For example, an organization could combine IoT data from a fleet of trucks with weather data, inventory data and truck maintenance data to alter delivery schedules and generate other cost-saving measures.
With AWS IoT Analytics, data scientists can tackle these tasks and use other features, including:
- a data store to maintain copies of raw and processed data;
- channels to save and retrieve specific subsets of data; and
- pipelines to route data between different processes via IoT rules.
These features make it easier to weave IoT data into various analytics, reporting and machine learning applications.
Kinesis Data Analytics grants IoT control
Conversely, Amazon Kinesis Data Analytics shines with real-time device monitoring and process control. The service supports millisecond response times, compared to seconds or minutes with AWS IoT Analytics.
Kinesis Data Analytics could be a good fit if you need to perform calculations over rolling short-term windows. For example, in an industrial monitoring application, engineers might want to calculate rolling 10-second temperature averages to detect potential anomalies. This feature could be used to automatically shut down machinery and prevent an accident.
Kinesis Data Analytics also enables integration with other AWS tools, such as AWS Lambda functions, which data scientists can use to transform data and drive IoT processes. Kinesis Firehose also makes it easier to stream data from AWS storage services, such as S3, Redshift and Elasticsearch Service; IoT Analytics doesn't currently support Kinesis Firehose integration. In addition to differing programming models, AWS IoT Analytics and Kinesis Data Analytics differ in their pricing structures. For IoT Analytics, AWS bills customers by the amount of data ingested, transformed and stored. In contrast, the vendor charges for Kinesis Data Analytics based on the time a Kinesis Processing Unit, a virtual CPU, processes data.
In short, developers that work with IoT Analytics apps configure the logic using prebuilt components for processing streams. Developers that work with Kinesis Data Analytics apps spend more time building the components, but they also have more flexibility and integration options.
Construct a comprehensive analytics portfolio
Developers can combine AWS IoT Analytics and Kinesis Data Analytics for some IoT applications. In this scenario, IoT Analytics is better suited to analyze data at rest or store data for long-term analysis, while Kinesis Data Analytics could drive real-time algorithms to control equipment or alert equipment operators.
AWS IoT Analytics and Kinesis Data Analytics also complement other data stream analysis services, such as Amazon Kinesis, Apache Spark and Apache Kafka. Furthermore, developers can integrate formatted time series data sets generated by both IoT Analytics and Kinesis Data Analytics into other development or visualization tools, such as Jupyter Notebooks, Amazon QuickSight or Amazon SageMaker.
Some developers might want to analyze video footage or audio streams from IoT devices, such as cameras, microphones, depth sensors and radars. In these cases, they should look at Amazon Kinesis Video Streams, which has better real-time and batch processing support for these types of data in machine learning and analytics applications.