Cluster Deployment Options - intelligent002/kafka-backup-offline GitHub Wiki
Below is a comparative overview of Kafka deployment strategies across different environments.
| Aspect | Cloud-Managed Services | Kubernetes | Docker in VMs | Binary in VMs | Binary on Bare Metal | Docker Compose |
|---|---|---|---|---|---|---|
| Overall Rating | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ | ⭐⭐ |
| Definition | Fully managed Kafka services | Kafka operatorin Kubernetes | Kafka in docker in VMs | Kafka binaries in VMs | Kafka binaries on physical servers | Kafka in containers on single docker |
| Performance | ★★★★★Excellent | ★★★★Good | ★★★★Good | ★★★★Good | ★★★★★Excellent | ★★Poor |
| Performance Overhead | ★★★★★Minimal | ★★★Medium | ★★★Medium | ★★★★Moderate | ★★★★★None | ★★High |
| Operational Overhead | ★★★★★Minimal | ★★★★Moderate | ★★★Medium | ★★High | ★Very High | ★★High |
| Operational Confidence | ★★★★★High | ★★★★Good | ★★★★Good | ★★★Moderate | ★★Low | ★★Low |
| Resource Isolation | ★★★★★Strong | ★★★★Good | ★★★★Good | ★★★★Good | ★★★★★Strong | ★Very Weak |
| Updates | ★★★★★Fully Automatic | ★★★★Helm or Operators | ★★★Docker images | ★★Manual | ★Manual | ★★★Docker images |
| Backup | ★★★★★Fully Automatic | ★★Requires tooling | ★★Manual | ★★Manual | ★Manual | ★Manual |
| Recovery | ★★★★On demand | ★★Requires tooling | ★★Manual | ★★Manual | ★Manual | ★Manual |
| Scaling | ★★★★★Auto-scales | ★★★★Good | ★★★Moderate | ★★★Moderate | ★★Poor | ★Very Poor |
| Flexibility | ★★★★Good | ★★★★★Excellent | ★★★★Good | ★★Poor | ★★Poor | ★★Poor |
| Automation | ★★★★★Excellent | ★★★★★Excellent | ★★★Moderate | ★★Poor | ★★Poor | ★★Poor |
| Modern DevOps Practices | ★★★★★Excellent | ★★★★★Excellent | ★★★Moderate | ★★Poor | ★Very Poor | ★★Poor |
If a cloud-managed service is not a viable option; and you prefer to avoid Kubernetes; your next best choice is to use virtual machines (VMs) and Docker inside them.