Design a Cloud Log Ingestion and Cold Archival Pipeline
We want to build a centralized log collection service for modern microservice fleets. It must ingest high volumes of text logs from thousands of running containers and route them efficiently. Your design needs to balance operational cost against query performance.
This brief is incomplete on purpose, as it would be in a real interview. Ask the interviewer about the users, the features, the targets and the traffic. Whatever you uncover is added below.
- The system must ingest unstructured log lines sent over standard protocols from client applications.
- Not uncovered yet
- Not uncovered yet
- Not uncovered yet
- Not uncovered yet
- Not uncovered yet
- Not uncovered yet
- Not uncovered yet
- Not uncovered yet
- Not uncovered yet
- the high-level architecture diagram
- the buffering and queueing layer design
- the storage tiering and lifecycle strategy
- the cost management and sampling mechanism
Shows a durable message queue or staging buffer between collectors and indexing workers to absorb traffic spikes and prevent data loss.
Demonstrates a clear split between expensive indexed hot storage and cheap object storage for cold logs, addressing the primary theme directly.
Accurately translates daily ingestion volumes and peak factors into peak throughput, network bandwidth, and raw storage sizing requirements.
Explains how client agents and ingestion gateways handle downstream database outages or network partitions without losing data.
Includes a mechanism at the edge or ingestion layer to drop or sample low-value logs before incurring expensive indexing costs.
Every functional requirement in the brief is visibly served by something on the board, and the non-functional targets are addressed rather than ignored.
Components are labelled, data flows are drawn as connections between them, and the direction of each flow is unambiguous.
Focus on the data pipeline, buffer layers, storage tiers, and cost trade-offs. Deep dives into specific regex parsing engines or UI components are out of scope.
- Views
- 3