Cut the time of application delivery by reusing Kafka data structure between projects! Expecting boundaries and data definitions to remain consistent between source and consuming projects can be a constant source of surprise - a Kafka spiderweb. Duplicate datasets with mutations often bring with them monetary, opportunity and reputation costs, as well as errors, inconsistencies, tech debt, reactive approach to data problems, audit issues, data ownership confusion and data that is not fit for purpose. Solving this requires moving towards uniform datasets. And this moves requires an Enterprise Domain Driven Design approach, combined with Event Storming. Doing this architecture work upfront allows for real-time, ubiquitous, distributed data implementations, as opposed to a Kafka spiderweb. This talk and demo will show the design, along with a demo illustrating this approach.
Laura:
Cut the time of application delivery by reusing Kafka data structure between projects! Expecting boundaries and data definitions to remain consistent between source and consuming projects can be a constant source of surprise – a Kafka spiderweb. Duplicate datasets with mutations often bring with them monetary, opportunity and reputational costs, as well as errors, inconsistencies, tech debt, reactive approach to data problems, audit issues, data ownership confusion and data that is not fit for purpose. Solving this requires moving towards uniform datasets. And this move requires an Enterprise Domain Driven Design approach, combined with Event Storming. However, that is not the full picture and app teams need to work with data experts to bring this into a data realm.
Maureen:
Doing DDD to componentize a data warehouse is different than for operation systems. But it still leverages similar design principles.
Either way, Doing this architecture work upfront allows for real-time, ubiquitous, distributed data implementations, as opposed to a Kafka spiderweb. This presentation will show the design of this approach.
Maureen
Maureen
Laura
Application monoliths do not have their data sources broken up by bounded contexts / data sets.
The first step to breaking down the monolith is identifying the bounded context of all the data sets.
The final step to breaking down the monolith is to provide real-time data exchange between the components.
Laura
Each Bounded Context should have its own compute and delivery.
Command, Query and Publish events from the Event Storming table (see slide 12) should go to their correct place.
Notice the responsibility segregation between command and query, allowing for the Realtime, Ubiquitous, Distributed Data, EDDD Governance – Discoverable Data with OWNERSHIP at a domain level
Realtime Kafka pipelines per domain as a consumable deliverable
Laura
Laura
Laura
Each Bounded Context should have its own compute and delivery.
Command, Query and Publish events from the Event Storming table (see slide 12) should go to their correct place.
Notice the responsibility segregation between command and query, allowing for the Realtime, Ubiquitous, Distributed Data, EDDD Governance – Discoverable Data with OWNERSHIP at a domain level
Realtime Kafka pipelines per domain as a consumable deliverable
Maureen
Maureen
How do you add the Data/Analytics ecosystem into the data segregation pattern?
Use DDD strategy to determine data sets that make up data products for downstream apps
Understand the data products created by data sets that are used by downstream systems and users
Datasets should be defined ONCE in an ecosystem and the delivery reused
Maureen
Domain-oriented data – decentralized data ownership and architecture.
“Data as a product” – data distributed across domains.
Self-service data infrastructure as a platform.
Standards and governance - promote interoperability within the data product ecosystem.