Skip to main content
CloudCertPrep

Kinesis vs Amazon MSK vs EventBridge: Picking the Right Event Platform

7 min read · Updated 2026-10-27

All three services move events, but they answer different questions. Kinesis is AWS's native streaming platform for high-throughput ordered data. MSK is managed Apache Kafka for teams standardized on Kafka's ecosystem. EventBridge is a serverless event bus for routing application events to targets with filtering — not a streaming store.

Exam questions hinge on three signals: is this a durable replayable stream (Kinesis/MSK) or event routing (EventBridge)? Is Kafka compatibility required (MSK)? Is the answer 'fully managed, least operational effort' (usually EventBridge or Kinesis Data Streams/Firehose over MSK)?

Kinesis: native AWS streaming

Kinesis Data Streams stores an ordered, replayable stream per shard (1 MB/s in, 2 MB/s out per shard). Consumers use the KCL or Lambda to process records; retention is 24 hours to 365 days. Choose it for clickstream ingestion, real-time analytics pipelines, and ordering-sensitive event logs.

Kinesis Data Firehose is the delivery cousin — buffers and delivers streams to S3, Redshift, or OpenSearch with optional Lambda transforms. If the requirement ends at 'land data in a destination,' Firehose is the answer.

Amazon MSK: when it must be Kafka

MSK runs real Apache Kafka clusters — brokers, ZooKeeper/KRaft, the whole ecosystem. Choose MSK when migrating existing Kafka workloads, when teams depend on Kafka clients/tools (Kafka Connect, ksqlDB), or when multi-cluster replication patterns are already Kafka-based.

The trade-off: more operational surface than Kinesis. MSK Serverless reduces this, but if there's no Kafka requirement, native Kinesis is usually the 'less operations' answer.

EventBridge: the routing bus

EventBridge ingests events from AWS services, SaaS partners, and custom apps, then routes them to 20+ targets via rules — with content filtering, schema registry, and event replay. It's the default for decoupled 'X happened → notify these consumers' integration, scheduled tasks, and cross-service choreography.

It's not a stream: no ordering guarantees across the bus, no shard-based replay model for bulk analytics. If the question says 'route events to different targets based on content,' think EventBridge.

Decision shortcuts

Watch for hybrid answers: producers often publish to Kinesis while EventBridge handles the application-integration layer — they coexist rather than compete.

  • Ordered replayable stream, real-time consumers → Kinesis Data Streams
  • Deliver streaming data to S3/Redshift/OpenSearch, no code → Kinesis Data Firehose
  • Existing Kafka ecosystem or migration → Amazon MSK
  • Route events between apps/AWS services with filtering → EventBridge
  • Scheduled jobs or cron-like triggers → EventBridge Scheduler
  • Simple decoupling of one producer/consumer → SQS (not these three)