Redpanda
Verdict
High-performance, Kafka-compatible streaming data platform written in C++.
Where it wins, where it doesn't
Pros
- Dramatically lower tail latency
- Reduced hardware footprint
Cons
- Smaller ecosystem than Kafka
Key Features
- ✦Kafka API Compatible
- ✦Zero JVM
- ✦Tiered Storage
In-Depth Review
Redpanda is eating the real-time streaming market by offering a drop-in replacement for Apache Kafka that is up to 10x faster and requires no Zookeeper or JVM. In 2026, it is the backbone of real-time Agentic AI and stream processing.
The Radar
Field notes for this specific hardware — the trade-offs, tweaks and gotchas you only learn after living with it.
Redpanda: tiered storage to cut cloud costTroubleshooting
Retaining historical streaming logs on local NVMe drives turns storage costs into a linear tax on throughput. On cloud instances like AWS i4i.2xlarge (featuring NVMe drives), storage costs roughly $0.16 to $0.24 per GB-month when factored into instance pricing. Storing 50 TB of event history locally costs roughly $10,000 per month just for disk footprint, while also forcing massive broker rebalancing delays when a node fails and its local partition replicas must be re-replicated over the network.
addresses this with Tiered Storage (Shadow Indexing). It decouples storage from compute by offloading immutable log segments to object stores like or Google Cloud Storage (GCS). Object storage costs $0.023 per GB-month for standard access and under $0.0125 for infrequent access. Tiered storage slashes storage overhead by up to 90% while turning node recovery into an $O(1)$ metadata swap rather than an $O(N)$ disk hydration process.
Architecture: Local NVMe vs. Object Storage Path
Redpanda is written in C++ using the Seastar asynchronous framework, utilizing a thread-per-core model. Each CPU core controls a subset of partitions (shards) and manages its own memory and disk I/O without lock contention.
When Tiered Storage is enabled:
- Hot Path (Writes & Tailing Readers): incoming writes hit the active segment on local NVMe. Consumers reading real-time data fetch directly from local NVMe cache or memory buffers with sub-millisecond p99 latencies.
- Segment Sealing & Upload: Once a log segment reaches a size threshold (e.g., 128 MB) or age limit, it is sealed. A background worker thread per core uploads the sealed segment along with its index file to .
- Local Truncation: Once uploaded and verified, the segment is eligible for local deletion based on
retention.local.target.bytesorretention.local.target.ms. - Cold Path (Historical Readers): When a batch consumer requests offsets no longer present on NVMe, Redpanda intercepts the fetch request, streams the required segment chunk from S3 into a controlled local cache, serves the reader, and managed cache retention policies kick in.
+-----------------------------------------------------------------------+
| REDPANDA BROKER |
| |
| +------------+ Write +-------------------+ |
| | Producer | ---------> | Active Segment | |
| +------------+ | (Local NVMe) | |
| +-------------------+ |
| | |
| +------------+ Read (0ms) v Seal |
| | Hot | <--------- +-------------------+ |
| | Consumer | | Closed Segment | |
| +------------+ +-------------------+ |
| | |
| | Async Upload |
| v |
| +-------------------+ |
| | Cloud Storage | |
| | Background Worker | |
| +-------------------+ |
+--------------------------------------|--------------------------------+
|
v HTTP PUT
+---------------------+
| AWS S3 / GCS |
| Object Storage |
+---------------------+
|
+------------+ Hydrate (30-100ms) | HTTP GET
| Historical | <---------------------+
| Consumer |
+------------+
System Trade-Off Matrix
| Metric / Dimension | Local NVMe Only (i4i.2xlarge) |
Redpanda Tiered Storage (NVMe + S3) | + EBS (gp3) |
|---|---|---|---|
| Storage Cost | ~$0.16–$0.24 / GB / month | ~$0.023 / GB / month (S3 Standard) | ~$0.08 / GB / month + IOPS fees |
| Tail Read Latency (p99) | < 2 ms | < 2 ms (Served from NVMe) | 5–15 ms |
| Historical Read Latency | < 2 ms | 30–150 ms (S3 First-Byte Fetch) | 10–30 ms |
| Partition Rebalance Time | Hours/TB (Network Copy) | Seconds (Metadata Pointer Swap) | Hours/TB (Network Copy) |
| Max Scale Constraint | Local Disk Enclosure Limits | Object Store Namespace Limit | Max EBS Volume Attachment Bounds |
Production Configuration
To deploy Tiered Storage, set global storage credentials via redpanda.yaml or cluster configuration settings using rpk.
Cluster-Wide Configuration (`redpanda.yaml`)
redpanda:
data_directory: /var/lib/redpanda/data
node_id: 1
seed_servers:
- host:
address: 10.0.1.10
port: 33145
# Enable Cloud Storage Infrastructure
cloud_storage_enabled: true
cloud_storage_region: "us-east-1"
cloud_storage_bucket: "prod-redpanda-tiered-storage"
cloud_storage_credentials_source: "config_file"
cloud_storage_access_key: "AKIAXXXXXXXXXXXXXXXX"
cloud_storage_secret_key: "WjalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
# Connection tuning per CPU core
cloud_storage_max_connections: 20
cloud_storage_segment_max_bytes: 134217728 # 128 MB
# Cache controls for cold historical fetches
cloud_storage_cache_directory: /var/lib/redpanda/data_cache
cloud_storage_cache_size_bytes: 107374182400 # 100 GB local NVMe cache
Applying Topic-Level Tiering Policies
Configure tiered storage parameters dynamically per topic using rpk topic alter-config:
# Enable Shadow Indexing on an existing high-throughput topic
rpk topic alter-config telemetry-events \
--set redpanda.remote.write=true \
--set redpanda.remote.read=true \
--set retention.bytes=5497558138880 \ # 5 TB total retention (S3 + NVMe)
--set retention.local.target.bytes=107374182400 # Keep only 100 GB locally on NVMe
Parameter Breakdown
redpanda.remote.write=true: Enables background offloading of closed local segments to S3.redpanda.remote.read=true: Directs consumer read requests for truncated local offsets to fetch from S3 transparently.retention.local.target.bytes: Soft limit for local NVMe partition capacity. Redpanda removes local segments that have been uploaded to S3 once local utilization passes this limit.
Production Failure Modes & Operational Diagnostics
1. AWS S3 Rate Limiting (`503 Slow Down`)
- Root Cause: S3 imposes limits of 3,500
PUT/POST/DELETEand 5,500GETrequests per second per prefix. If hundreds of shards write to or read from a single prefix (e.g.,s3://bucket/topic/partition/), S3 throttles traffic, causing thread backpressure in Redpanda. - Symptom: Redpanda logs show
cloud_storage - S3 API error: 503 Slow Down. Local disk retention targets are violated because background segment uploads stall. - Fix: Enable hashed prefixes in cluster configs to distribute partition uploads across multiple S3 prefix hash rings:
rpk cluster config set cloud_storage_enable_segmented_prefix_upload true
2. Disk Exhaustion due to Upload Lag
- Root Cause: Network throughput to S3 is lower than incoming write throughput, or
cloud_storage_max_connectionsis set too low. Local NVMe fills up with closed segments faster than they can be uploaded and cleared. - Symptom: Local NVMe disk usage approaches 90% space, risking broker write stalls.
- Fix:
- Increase the maximum outgoing connection pool size per core:
rpk cluster config set cloud_storage_max_connections 50 - Increase network link capacity or adjust
cloud_storage_segment_max_bytesto 64MB (67108864) to create smaller, faster unit transfers if instance egress is constrained.
- Increase the maximum outgoing connection pool size per core:
3. Historical Consumer Hydration Storms
- Root Cause: Multiple analytical consumers (e.g., , , Spark) issue large historical reads simultaneously. The cluster attempts to stream gigabytes of historical data into
cloud_storage_cache_directory, driving up local disk I/O and thrashing the cache. - Symptom: NVMe disk read latency spikes on hot paths. Cold read request latencies blow past 2,000 ms. Cache miss rate approaches 100%.
- Fix:
- Enforce strict consumer group fetch byte limits to throttle concurrent hydration requests.
- Isolate analytical read traffic to dedicated read-replica clusters
Frequently Asked Questions
Who is Redpanda for?↓
What are the drawbacks of Redpanda?↓
What does Redpanda do well?↓
Alternatives to consider
See all alternatives →Further reading
Featured badge
Building this product? Add the badge to your site to show it’s in the index.
<a href="https://fathomlayer.com/intelligence/developer-tools/redpanda" target="_blank" rel="noopener noreferrer"><img src="https://fathomlayer.com/fathom-badge.svg" alt="Featured on Fathom Layer" width="250" height="54" /></a>
