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.