17 Comparison with other technologies

 

This chapter covers

  • Inside data versus outside data
  • Kafka as a decoupled system
  • Comparing Kafka to the REST framework
  • Comparing Kafka to relational databases
  • Kafka and event-driven architectures

We’ve described Kafka extensively in this book and touched on many topics relevant to its use in companies. However, what we haven’t yet discussed is when the use of Kafka is appropriate and how we can compare Kafka with other technologies.

In our opinion, it’s the responsibility of architects and engineers to find the best technology or architecture for a given use case and, in particular, for the given nonfunctional requirements. What makes sense as a technological solution in one company may not work in another company, even with the same use case.

Exciting new technologies such as Kafka can help us solve architectural and technical challenges and enable business models that wouldn’t be easily feasible otherwise. But in the end, it’s never about the technology itself, but how we implement that technology in the company and how we bring along the people affected by it.

There are definitely no cure-alls for all problems, and finding the one and only solution for a given problem is rare. In most companies, we don’t start planning from scratch but must integrate into the existing IT landscape.

17.1 Data on the outside vs. data on the inside

17.2 Classic messaging systems vs. Kafka

17.2.1 Kafka is agnostic

17.2.2 Operational complexity in classic messaging systems

17.2.3 Governance of classic messaging systems

17.3 REST vs. Kafka

17.3.1 Challenges of synchronous communication

17.3.2 Alternative communication strategies

17.4 Relational databases vs. Kafka

17.4.1 Strengths and weaknesses of relational databases

17.4.2 Complementary roles of Kafka and relational databases
in modern data architectures

17.5 Kafka is the core of a streaming platform

Summary