Apache Kafka, Samza, and the Unix Philosophy of Distributed Data | Confluent
Aug 1, 2015Martin Kleppmann

Summary
This post draws parallels between the Unix philosophy of small, composable tools and the design principles of Apache Kafka and Samza. It argues that by adhering to the Unix philosophy (each program does one thing well, and expects output to be input for another unknown program), distributed data systems can achieve greater flexibility, extensibility, and rapid prototyping, similar to how Unix pipes enable complex data processing pipelines. The core technical takeaway is the architectural benefit of loosely coupled, single-purpose components in building scalable systems.
More from the Event-Driven Architectures trail
- InfiniteWatch + Confluent: Turning Customer Interaction Data into Real-Time Intelligence
- Streaming Data Integration with Apache Kafka® vs ETL
- Why Microservices Need Event-Driven Architectures for Agility and Scale
- How to Build Real-Time, Event-Driven Automation for Business Insights
- How to Build Real-Time Alerts to Stay Ahead of Critical Events