AWS — The Confusing Name and Usage of Amazon Kinesis Data Stream and Amazon Data Firehose
All Services Old and New Name
There is total of 3 services:
- Kinesis Data Stream
- Amazon Data Firehose
Old name : Kinesis Data Firehose - Amazon Managed Service for Apache Flink
Old name : Amazon Kinesis Data Analytics
There is NO Kinesis Stream Firehose. The confusing part is that everything has the word Kinesis and Data especially the old name
We will leave Amazon Managed Service for Apache Flink alone. It is not widely used.
Kinesis Data Stream — General Purpose
This is stream consumer-producer equivalent to Kafka. Some of the functionalities are:
- Shard (Partition)
- Fan out
- Buffering and ability to read old message
Amazon Data Firehose — Data Ingestion
This is data ingestion tool.
The target is data store e.g., RedShift, S3, OpenSearch
Other support destination is around log and metrics e.g., Spunk, Dynatrace, Datadog. But we just can ignore it because we already have the log tool for that.
Source — Kinesis Data Stream or Kafka
In most case, you cannot use Amazon Kinesis Data Stream alone
As you can see above option is very limited. If we rule out the new option and no one will do the direct PUT.
Kinesis Data Firehose will consume either Kinesis Data Stream or Kafka (MSK)
Hope this help !