Self-managed means you install and operate the software on VMs/containers: patch Kafka, tune ZooKeeper/KRaft, replace failed brokers, take backups.
Managed means the cloud (or vendor) runs the control plane and much of the ops: Amazon MSK, Confluent Cloud, Cloud Composer, RDS, BigQuery. You configure and use the service; they handle undifferentiated heavy lifting.
Self-managed Kafka on EC2: you own OS + brokers + upgrades + paging Managed MSK / Confluent: you own topics + clients; vendor owns cluster ops
Trade-offs
| | Managed | Self-managed | |---|---|---| | Speed to production | Faster | Slower | | Ops burden | Lower | Higher | | Cost visibility | Service premium | Cheaper raw VMs (maybe) + people cost | | Flexibility | Fewer deep knobs | Full control | | Compliance | Shared responsibility still applies | You own more of the stack |
Interview tip: Always mention *people cost*. Managed is not "free ops," but it shifts patching and failover to the provider so DE teams focus on pipelines.