Skip to main content

Feature Comparison

Compare OSO Kafka Backup with alternative approaches for Kafka data protection.

Overview

SolutionTypeBest For
OSO Kafka BackupBackup/RestoreDR, compliance, migration
MirrorMaker 2ReplicationActive-active, geo-distribution
Confluent ReplicatorReplicationEnterprise replication
Tiered StorageOffloadCost reduction, infinite retention
Custom ScriptsDIYSimple use cases

Detailed Comparison

OSO Kafka Backup vs. MirrorMaker 2

FeatureOSO Kafka BackupMirrorMaker 2
PurposeBackup/restoreReal-time replication
Point-in-time recoveryYesNo
Data transformationYes (plugins)Limited
Storage backendsS3, Azure, GCS, localKafka only
Offset preservationBuilt-inRequires configuration
Network requirementOne-time transferContinuous connection
CompressionZstd, LZ4Kafka default
CostStorage costsDouble infrastructure
Recovery timeMinutes-hoursInstant (already replicated)
Data loss (RPO)Last backupNear-zero

Choose OSO Kafka Backup when:

  • You need point-in-time recovery
  • Clusters can't communicate directly
  • Cost optimization is important
  • Compliance requires immutable backups

Choose MirrorMaker 2 when:

  • Near-zero RPO is required
  • Active-active is needed
  • Real-time geo-distribution
  • Network allows continuous sync

OSO Kafka Backup vs. Confluent Replicator

FeatureOSO Kafka BackupConfluent Replicator
LicensingOpen source (MIT)Commercial
Point-in-time recoveryYesNo
Schema Registry syncEnterpriseYes
Offset syncBuilt-inYes
Data transformationPluginsSMT (Connect)
MonitoringPrometheusControl Center
SupportCommunity/EnterpriseConfluent support

Choose OSO Kafka Backup when:

  • Open source is preferred
  • PITR is required
  • Budget constraints exist
  • Not using Confluent Platform

Choose Confluent Replicator when:

  • Already using Confluent Platform
  • Need Schema Registry sync
  • Prefer integrated tooling
  • Have Confluent support contract

OSO Kafka Backup vs. Tiered Storage

FeatureOSO Kafka BackupTiered Storage
PurposeBackup/restoreCost reduction
Point-in-time recoveryYesLimited
Independent from KafkaYesNo (Kafka feature)
Cross-cluster restoreYesNo
CompressionAdditionalKafka default
AvailabilityAny KafkaKafka 3.0+ / Confluent
Broker dependencyNoneRequires running brokers

Choose OSO Kafka Backup when:

  • Cross-cluster recovery needed
  • Independent disaster recovery
  • Using older Kafka versions
  • Compliance requires separate backups

Choose Tiered Storage when:

  • Primary goal is cost reduction
  • Data stays in same cluster
  • Using compatible Kafka version
  • Simpler operational model preferred

OSO Kafka Backup vs. Custom Scripts

FeatureOSO Kafka BackupCustom Scripts
Development effortNoneHigh
MaintenanceVendor managedSelf-maintained
PerformanceOptimized (Rust)Variable
FeaturesCompleteWhat you build
ReliabilityProduction-testedDepends
Offset managementBuilt-inMust implement
Cloud storageNative supportMust implement

Choose OSO Kafka Backup when:

  • Don't want to build from scratch
  • Need production-ready solution
  • Value ongoing development
  • Time to market matters

Choose Custom Scripts when:

  • Very simple requirements
  • Unique constraints
  • Learning exercise
  • Full control required

Feature Matrix

Core Features

FeatureOSO BackupMM2ReplicatorTiered
Backup to object storageYesNoNoYes
Point-in-time recoveryYesNoNoLimited
Cross-cluster restoreYesYesYesNo
Incremental backupYesN/AN/AN/A
CompressionZstd/LZ4KafkaKafkaKafka
Topic selectionPatternsPatternsPatternsAll
Topic remappingYesYesYesNo

Operational Features

FeatureOSO BackupMM2ReplicatorTiered
Kubernetes operatorYesNoYesNo
GitOps supportCRDsNoCRDsNo
Prometheus metricsYesJMXJMXJMX
CLI toolYesNoNoNo
Scheduled operationsYesN/AN/AN/A
Dry-run validationYesNoNoNo

Enterprise Features

FeatureOSO BackupMM2ReplicatorTiered
Field-level encryptionEnterpriseNoNoNo
Data maskingEnterpriseNoSMTNo
Audit loggingEnterpriseNoYesNo
RBACEnterpriseNoYesNo
Schema RegistryEnterpriseNoYesNo

Architecture Comparison

OSO Kafka Backup

┌─────────────┐    ┌─────────────┐    ┌─────────────┐
│ Kafka │───▶│ Backup │───▶│ Object │
│ Cluster │ │ Service │ │ Storage │
└─────────────┘ └─────────────┘ └─────────────┘


┌─────────────┐ ┌─────────────┐
│ Target │◀───│ Restore │
│ Cluster │ │ Service │
└─────────────┘ └─────────────┘

Pros:

  • Decoupled storage
  • Independent recovery
  • Cost-effective long-term storage

Cons:

  • Not real-time
  • Recovery takes time

MirrorMaker 2 / Replicator

┌─────────────┐    ┌─────────────┐    ┌─────────────┐
│ Source │───▶│ MM2 / │───▶│ Target │
│ Cluster │ │ Replicator│ │ Cluster │
└─────────────┘ └─────────────┘ └─────────────┘

Pros:

  • Real-time sync
  • Active-active possible
  • Near-zero RPO

Cons:

  • No PITR
  • Continuous infrastructure cost
  • Network dependency

Tiered Storage

┌─────────────────────────────────────────┐
│ Kafka Cluster │
│ ┌───────────┐ ┌───────────────┐ │
│ │ Hot │ ───▶ │ Cold │ │
│ │ Tier │ │ Tier (S3) │ │
│ │ (Local) │ │ │ │
│ └───────────┘ └───────────────┘ │
└─────────────────────────────────────────┘

Pros:

  • Transparent to clients
  • Infinite retention
  • Cost optimization

Cons:

  • No cross-cluster recovery
  • Broker dependency
  • Limited PITR

Cost Comparison

Monthly Cost Example (100 GB/day, 30-day retention)

SolutionInfrastructureStorageNetworkTotal
OSO Backup (hourly)$0~$70~$10~$80
OSO Backup (daily)$0~$70~$1~$71
MM2~$500$0~$50~$550
Replicator~$500+$0~$50~$550+ license
Tiered Storage$0~$70$0~$70

Costs are illustrative and vary by region and provider.

Cost Analysis

OSO Kafka Backup:

  • One-time transfer costs
  • Object storage (cheaper than block)
  • No additional compute during backup window

Replication solutions:

  • 2x Kafka infrastructure
  • Continuous network transfer
  • Ongoing compute costs

Migration Path

From MirrorMaker to OSO Backup

If currently using MM2 for backup purposes:

  1. Set up OSO Backup alongside MM2
  2. Validate backups match replicated data
  3. Disable MM2 (keep target cluster temporarily)
  4. Rely on OSO Backup for recovery
  5. Decommission MM2 target cluster

From Custom Scripts to OSO Backup

  1. Audit current script capabilities
  2. Map to OSO Backup configuration
  3. Run parallel backups
  4. Validate backup contents match
  5. Retire custom scripts

Decision Framework

Use OSO Kafka Backup If:

  • Point-in-time recovery is important
  • Compliance requires immutable backups
  • Cost optimization is a priority
  • Cross-region/cross-cloud recovery needed
  • Kubernetes-native operations preferred
  • Open source is preferred

Use Replication (MM2/Replicator) If:

  • Near-zero RPO is required
  • Active-active architecture needed
  • Real-time geo-distribution required
  • Network allows continuous sync
  • Immediate failover is critical

Use Both When:

  • Defense in depth required
  • Different RPO/RTO for different scenarios
  • Compliance requires multiple protection methods
  • Active-active + disaster recovery needed

Next Steps