Kubernetes & Alternatives¶
When to Use Kubernetes¶
Use K8s if: - Client mandates it - 50+ services - Team has K8s expertise - Need ArgoCD/operators - Can invest 3+ months learning
Skip K8s if: - <50 services - Team unfamiliar - Want simplicity - Budget <€30/month
ArgoCD (GitOps)¶
What it is: Declarative GitOps CD for Kubernetes
Benefits: - Git as source of truth - Audit trail via Git - Drift detection - Automatic rollback - Multi-cluster management
When to use: Already using K8s and want GitOps workflow
Alternative: Ansible + Podman/systemd¶
What it is: Run containers as systemd services without orchestrator
Tools: - Podman (daemonless container runtime) - systemd (service manager) - Ansible (automation)
Benefits: - No Docker daemon overhead - Rootless containers (better security) - Standard Linux tools - GitOps via Ansible + CI/CD - Easy client handoffs
When to use: 5-20 services, want simplicity, comfortable with Linux
Comparison¶
| Approach | Complexity | GitOps | Best For |
|---|---|---|---|
| Docker Compose | ⭐ | ❌ | 1-5 services |
| Ansible + Podman | ⭐⭐ | ✅ | 5-20 services |
| Nomad | ⭐⭐⭐ | ⚠️ | 10-50 services |
| K8s + ArgoCD | ⭐⭐⭐⭐⭐ | ✅ | 50+ services |
Hybrid Approach¶
Use different tools for different contexts:
- Internal services (5-15): Ansible + Podman
- Client staging: Match production
- Client production: K8s if required, otherwise Ansible or Nomad