Amazon Kinesis
Service: is a platform for streaming data on AWS. It helps to load and
analyze streaming data and build custom applications like:
- 1. Recommendation engine.
- 2. Real-time metering and billing system.
- 3. Loading data from transactional databases to data warehouses can use Kinesis for temporary durable storage of data in transit.
Data generated by web applications, mobile devices, IoT
sensors, wearable devices etc. can be in the tune of TBs/hr. This data needs to
be collected in real-time and processed and stored continuously. Amazon Kinesis
service enables one to do this.
The streaming data can be captured and submitted to Amazon
Kinesis Firehose, which loads streaming data continuously into S3, Redshift and
Amazon Elasticsearch domains. The streaming data is then analyzed from these
stores using Business Intelligence tools.
Amazon Analytics: enables
running standard SQL queries against data streams. Kinesis analytics can then
be used to feed into other analytics tools.
AWS IoT: enables
device to device and device to cloud applications communication. It can support
billions of devices exchanging trillions of messages and can process and route
those messages to AWS endpoints and to other devices reliably and securely. AWS
IoT services can be used to build IoT applications that gather, process,
analyze and act on data generated by connected devices, without having to
manage any infrastructure.
It supports the following communication protocols:
1.
HTTP
2.
Websockets
3.
MQTT
The connection between devices and application are
authenticated at AWS IoT service and only authenticated users are allowed to
control the state of the device or the authenticated device connections to AWS
IoT endpoints are allowed.
At AWS IoT service, one can filter, transform and act upon
device data on the fly (say invoke a lambda function). The last state of device
is persisted which can be read even when the device goes offline. The state
change for the device can be requested while it is offline to be implemented on
the device when it is online again by AWS IoT backend.
https://aws.amazon.com/iot/how-it-works/
Comparison of
IoT supported across cloud providers:
https://www.linkedin.com/pulse/azure-iot-hub-vs-aws-foundation-toby-mcclean
Features
|
AWS IoT
|
IBM IoT Foundation
|
Microsoft IoT
|
Protocols
|
HTTP, MQTT, Websockets, custom protocols
|
HTTP, MQTT
|
HTTP, AMQP, MQTT and custom protocols
|
Certified Hardware
Platforms
|
Broadcom, Marvell, Renesas, Texas Instruments, Microchip,
Intel, Mediatek, QualComm, Seeed, BeagleBoard
|
ARM mbed, Texas Instruments, Raspberry Pi, Arduino Uno,
Intel
|
Intel, Raspberry Pi 2, Freescale, Texas Instruments,
MinnowBoard, BeagleBoard, Seeed, resin.io
|
Price
|
Paying million messages traffic (published from devices +
delivered to devices)
|
Paying related to number of devices, data traffic and
storage.
|
Paying for IoT Hub unit related to number of devices and
messages per day
|
Communication
Patterns
|
Telemetry, Command
|
Telemetry, Command
|
Telemetry, Command
|
SDK/Language
|
C, Node.js
|
C, C#, Python, Java, Node.js
|
.Net, Java, C, Node.js
|
Security
|
TLS (mutual auth)
|
TLS
|
TLS (sever only auth)
|
Authentication
|
X.509 certificate client authentication, IAM service,
Cognito service
|
Per-device with token
|
Per-device with SAS token
|
|
|
|
|