Apache Kafka is a messaging system designed for scalability and speed, originally built to distribute datasets created by large social networks. While it is not a typical broker like JMS or AMQP, it remains the fastest messaging system available today. Kafka was shaped by a problem-space rethink, optimized for scale and fault tolerance. As a result, it can be used as an event-driven backbone for service architectures. This article explores the benefits and drawbacks of using Kafka in this way and how it can shape the design of the systems we write. Finally, it provides resources for getting started with Kafka and implementing event-driven microservices.