Skip to main content

Deployment Overview

OSO Kafka Backup can be deployed in several ways depending on your infrastructure and requirements.

Deployment Options

MethodBest ForManagementScalability
Bare MetalTraditional servers, VMsManualManual
DockerContainerized environmentsManual/ComposeManual
KubernetesK8s clusters (manual)kubectl/HelmManual
Kubernetes OperatorProduction K8sCRDs/GitOpsAutomatic

Quick Decision Guide

Use Bare Metal When

  • Running on traditional servers or VMs
  • Simple single-node deployments
  • Direct filesystem access required
  • Minimal container overhead desired

Use Docker When

  • Local development and testing
  • CI/CD pipelines
  • Simple container deployments
  • Docker Compose environments

Use Kubernetes When

  • Running on Kubernetes clusters
  • Need manual control over backup scheduling
  • Using external job schedulers (Argo, Airflow)
  • Not ready for operator pattern

Use Kubernetes Operator When

  • Production Kubernetes deployments
  • GitOps workflows (ArgoCD, Flux)
  • Automated scheduled backups
  • Multi-tenant environments
  • Need declarative backup management

System Requirements

Minimum Requirements

ResourceRequirement
CPU1 core
Memory256 MB
Disk10 GB (+ backup storage)
NetworkAccess to Kafka brokers
ResourceRequirement
CPU2-4 cores
Memory1-2 GB
Disk100 GB SSD (for local storage)
Network1 Gbps to Kafka and storage

Sizing Guidelines

Kafka Cluster SizeCPUMemoryNotes
Small (< 100 partitions)1 core512 MBSingle instance
Medium (100-500 partitions)2 cores1 GBIncrease parallelism
Large (500+ partitions)4 cores2 GBConsider multiple instances

Network Requirements

Outbound Connections

ServicePortProtocolRequired
Kafka Brokers9092 (or custom)TCPYes
AWS S3443HTTPSIf using S3
Azure Blob443HTTPSIf using Azure
GCS443HTTPSIf using GCS

Security Considerations

  • Use TLS for Kafka connections in production
  • Use IAM roles/service accounts for cloud storage (avoid static credentials)
  • Restrict network access to backup service
  • Encrypt data at rest in storage backend

Storage Backend Setup

Before deploying, configure your storage backend:

BackendSetup Guide
AWS S3AWS S3 Setup
Azure BlobAzure Blob Setup
Google Cloud StorageGCS Setup

Next Steps

  1. Choose your deployment method:

  2. Configure cloud storage (if applicable):

  3. For production Kubernetes: