SAA-C03 Practice Question 86: Firehose vs Data Streams
AWS Certified Solutions Architect – Associate (SAA-C03) · Test 9 · question 6 of 10
A retailer wants clickstream events from its web tier landed in an S3 data lake in Parquet-friendly batches within about a minute of arrival, with a small transformation applied to each record on the way. Volume swings between 2 MB and 200 MB per second across the day. The platform team has two engineers and does not want to write or operate consumer applications, manage shards, or handle checkpointing.
Which service should they use?
Show answer and explanation
Answer:
Firehose is the fully managed way to deliver streaming data to destinations such as S3. AWS's description matches the constraint almost word for word: you don't need to write applications or manage resources; you configure producers to send data to the stream and it delivers to the destination automatically. Its buffer size and buffer interval settings are what produce minute-scale batched objects instead of one tiny object per event, and it can invoke a Lambda function to transform records before delivery. There are no shards to size and no checkpoints to manage.
Option A is the right service when you need ordering, replay or multiple independent consumers, and this question asks for none of those. It leaves the team owning exactly what they said they cannot own: a consumer application, its scaling, and its checkpoint state.
Option B is a queue, not a stream. It has no buffering-to-S3 behaviour, no transformation hook and no delivery destination, so the batching, retry and object-writing logic all becomes code the two engineers write and run.
Option D is the heaviest option of the four. Even with the managed brokers of MSK, a self-managed Connect cluster for the S3 sink is a distributed system to operate, which is the opposite of the requirement.
Reference: What is Amazon Data Firehose?