Apache Kafka is a distributed event streaming platform built around an append-only, partitioned commit log. A topic is split into partitions; each partition is an ordered, immutable sequence of records that brokers write sequentially to disk and serve from page cache. Consumers track their own position through offsets rather than the broker tracking delivery, which is why Kafka can replay history, feed many independent consumers from the same data, and sustain throughput that message queues built around per-message acknowledgement cannot.
Operationally, Kafka is a replicated distributed system with a specific set of levers. Each partition has a leader and followers, and the in-sync replica set combined with acks, min.insync.replicas and unclean leader election settings determines exactly what durability the cluster provides — and where it silently loses data if those settings disagree. Cluster metadata was historically kept in a ZooKeeper ensemble; modern Kafka uses KRaft, with the controller quorum inside Kafka itself, and most real estates are somewhere along that migration.
The rest of the operator's surface is broad: partition count and retention decisions that are hard to reverse, log compaction, partition reassignment and rebalancing, rolling restarts, consumer group lag as the primary health signal, TLS and SASL with ACLs and quotas, and OS-level tuning of I/O, page cache, network and file descriptors. Around the broker sit Kafka Connect, Schema Registry, Kafka Streams and the REST proxy — and managed offerings such as MSK and Confluent Cloud, which run the brokers but leave topic design, partitioning, retention and lag firmly with the team.
Why this skill matters now
Kafka has become default infrastructure. It carries application events, database change streams, log and metric pipelines, and increasingly the data path for analytics and machine learning. That makes it one of the highest-blast-radius systems a platform team runs: when Kafka degrades, it does not fail one feature, it stalls everything downstream of it.
And it is routinely operated on assumptions. Topics are created with the default partition count and never revisited, so throughput hits a ceiling nobody can explain. Producers use acks=1 against a topic whose owners believe writes are durable. min.insync.replicas is left at 1, so a two-replica outage quietly accepts writes that are about to be lost. Unclean leader election is enabled somewhere and nobody knows. Retention is set in bytes on one topic and hours on another, and disk fills on a Friday. Consumer group lag is graphed but not alerted on. Each of these is a configuration decision, not an accident — which means each is preventable by someone who has been taught the model.
There is also a migration in progress. ZooKeeper-based clusters are being moved to KRaft, and that is a genuine operational project rather than a version bump. Teams need engineers who can plan and execute it, who can run a rolling upgrade without breaking replication, and who can size, secure and monitor a cluster properly — which is exactly the skill set that streaming, platform and SRE roles now hire for.