AWS Streaming Architecture: Kinesis vs MSK vs Managed Flink
AWS offers three managed streaming services: Kinesis (proprietary), MSK (managed Kafka), and Managed Service for Apache Flink. Each serves different needs. This guide compares architectures, pricing, and when to use each — or when to use RisingWave instead.
AWS Streaming Services Compared
| Service | Based On | Best For | Pricing Model |
| Kinesis Data Streams | Proprietary | Simple event ingestion | Per shard-hour |
| Amazon MSK | Apache Kafka | Kafka-compatible workloads | Per broker-hour |
| Managed Flink | Apache Flink | Complex stream processing | Per KPU-hour ($0.11) |
| RisingWave on EC2 | Custom (Rust) | SQL streaming + serving | EC2 + S3 cost |
Architecture Pattern: MSK + Managed Flink
Data Sources → Amazon MSK (Kafka) → Managed Flink → S3/Redshift/DynamoDB
Alternative: MSK + RisingWave
Data Sources → Amazon MSK (Kafka) → RisingWave (EC2/EKS) → Query via PG + Iceberg sink
Advantage: RisingWave provides built-in serving (no need for DynamoDB) and Iceberg sinks (no need for Glue ETL).
Frequently Asked Questions
Which AWS streaming service should I choose?
Kinesis for simple AWS-native ingestion. MSK for Kafka-compatible workloads. Managed Flink for complex processing. RisingWave on EC2/EKS for SQL streaming with built-in serving.
Is RisingWave cheaper than Managed Flink on AWS?
Typically yes. Managed Flink charges $0.11/KPU-hour. RisingWave on EC2 costs standard instance pricing + S3 storage. For sustained workloads, RisingWave is often 50-70% cheaper.

