Fundamentals of DevOps and Software Delivery » FAQ

What is Kafka and when should I use it?

Use SQL when you need strong relational integrity and transactional consistency; use NoSQL for specific scale, access pattern, or schema-flexibility needs. Event-driven architectures and Kafka are useful when decoupling producers/consumers and handling high-throughput asynchronous workflows.

Practical guidance

  • Choose data stores based on access patterns, consistency needs, and operations cost.
  • Use event-driven patterns when loose coupling and asynchronous processing are priorities.
  • Adopt Kafka for durable, high-throughput event streaming with multiple consumers.
  • Avoid technology-first decisions; start from domain and reliability requirements.

Relevant chapters from the book