Real-time data beats slow data. That’s true for almost every use case. Nevertheless, enterprise architects build new infrastructures with the Lambda architecture that includes separate batch and real-time layers. This blog post explores why a single real-time pipeline, called Kappa architecture, is the better fit. Real-world examples from companies such as Disney, Shopify, and Uber explore the benefits of Kappa but also show how batch processing fits into this discussion positively without the need for Lambda.
This post is heavily inspired by Jay Kreps’ article “Questioning the Lambda Architecture” from 2014 (!) and maps his thoughts to the real-world situation in 2021. Today, almost every business solution, data storage and analytics provider, and business application leverages event streaming and asynchronous, truly decoupled event-based communication paradigms for data processing. For that reason, many move from Lambda to Kappa architectures.
(Originally posted on Kai Waehner’s blog: “Kappa Architecture replaced Lambda - and Kafka becomes the real-time backbone”… Stay informed about new blog posts by subscribing to my newsletter)
A Modern Enterprise Architecture
A modern enterprise architecture offers cloud-native characteristics: Flexibility, elasticity, automation, true decoupling between different applications, and real-time capabilities (where needed).
Microservices, Data Mesh, and Domain-driven Design for True Decoupling
Let’s quickly explore the buzzwords to understand how most people build modern enterprise architectures today:
- Domain-driven Design (DDD) enforces strict boundaries between service communication and a decentralized application landscape.
- Microservices enable building flexible, decoupled applications with different programming languages and communication paradigms.
- Data Mesh allows to architect services around data. Data is the product in a data mesh. Self-service capabilities and federation enable business units to focus on their business problem.