(applications) ◦ Inner state is published as events without breaking consistency ◦ Data / event correctness is based into the request and part of every release ◦ We get accountability of data published by source systems for free! • Handle all downstream activities as consumption and processing of events ◦ Raw data for ML features ◦ Curated data for exploration & analytics ◦ Standard stable definitions for reporting
• Reporting and warehousing is based on data explicitly logged by applications • Real-time KPI dashboards off logged data • Featurization uses the same data source as reporting and warehousing
behavior through an API 2. Event-driven: produces, consumes and reacts to events a. Events are reusable in multiple contexts b. Should include enough state to describe change c. Schemas are backwards compatible 3. State ownership a. Own their state exclusively by managing and persisting their own state
happens to each entity and when it happened. They represent facts about the domain and are our sources of truth. Creating the domain language: https://www.oreilly.com/library/view/reactive-microsystems/9781491994368/ch 04.html
Better accountability structure for data • Data quality efforts have wider impact • Insights from reports directly translatable to ML models • Applications preserve state and aren’t tightly coupled • System on the whole is more robust