
BrontoBytes runs 4-5 TB/day per customer on AWS Lambda + Kinesis Firehose
Real-time log analytics at ~4–5 TB/day per customer needs an ingestion plane that absorbs whatever tenants emit. In BrontoBytes’s architecture, a managed-Kafka path — Apache Kafka on Amazon MSK, alongside Kinesis Data Firehose — carries the streaming log flow into the Amazon S3 store that hundreds of Lambda burst-search functions query. VeUP’s Well-Architected engagement modernized that path, resolving the MSK IAM-authentication posture and hardening flow control for multi-tenant burst behavior.
The challenge
Kafka semantics matter to a log platform — ordered, replayable, producer-friendly ingestion is what customers’ shippers and agents expect to write to. But Kafka operated casually at terabyte scale becomes its own incident source: authentication between producers, brokers, and consumers must be right (the platform’s MSK IAM authentication had open questions that needed resolution with AWS Support), and without a deliberate flow-control posture, one tenant’s log storm becomes every tenant’s latency. The review had to leave the Kafka lane both trustworthy and boring — secure by configuration, predictable under burst, and cheap enough to carry multi-TB/day indefinitely.
The solution
VeUP’s modernization treated the managed-Kafka path as production infrastructure to harden, not replumb. The MSK IAM-authentication posture was worked through to resolution with AWS Support, landing the cluster on IAM-based auth — access to topics governed by the same identity plane as the rest of the AWS estate, with no parallel credential system to operate. Flow control was engineered end to end: producer and broker behavior under tenant bursts examined against the platform’s real traffic shapes, so back-pressure degrades a noisy tenant’s lane instead of the shared plane, with the parallel Firehose path’s buffering rigor applied consistently across both ingestion lanes. Downstream, the S3 log store and the GraalVM-Lambda burst-search tier consume from the hardened plane unchanged, and the engagement’s FinOps program — targeting 30–40% off per-search compute cost without sacrificing P95 latency — prices the whole flow, Kafka included, as one measured system.
Production outcomes
| KPI | Result |
|---|---|
| Streaming scale | Managed-Kafka ingestion carrying the platform’s streaming log flow at ~4–5 TB/day per customer at scale into the S3 store — Kafka semantics preserved for producers, broker operations owned by MSK. |
| Authentication resolved | MSK IAM authentication posture worked to resolution — topic access governed by the estate’s IAM identity plane, eliminating a parallel credential surface on the ingest path. |
| Burst behavior | Flow-control posture hardened for multi-tenant reality: tenant log storms contained to their lane, with the platform’s P95 search latency protected as an explicit constraint of the FinOps program. |
| Lessons & continuation | Managed Kafka still demands deliberate engineering at the edges — authentication and flow control are where MSK estates succeed or melt; solving them once, with AWS Support in the loop, converts the Kafka lane from a risk register entry to a utility. |
Amazon MSK (managed Apache Kafka, IAM auth) · Amazon Kinesis Data Firehose · Amazon S3 (log store) · AWS Lambda (GraalVM burst search) · Amazon CloudWatch