Welcome
End to End Design Thinking
with the Developer Data Platform
How to bridge between architecture and business requirements
Cathlon Lau
Advisory Solutions Architect
Evolution of Data
Evolution of Design & Data
1980 1990 2018 2023
Green Screen 3 Tier and PC Mobile & Cloud Emergence of AI
Fixed Field Message Flexible RDBMS* JSON JSON “multi-type”
Static, 20 year change Change is possible but Readable, Flexible and Value Add services
cycle and zero each sub-app has own dynamic adjustable for enabling real time
innovation. schema and concept ever changing analytics and immediate
Each Character which is “emerging requirements; new engagement with the
position is defined and over time”; Reasons for capabilities can be consumer/client/
updates of fields are design lost i and added without any customer for their delight;
discussed in strategy complexity impact to others but complex data structures
meetings… strangulates all often the data structures with tons of typed data in
are simple. the feature store
Example: ESG is data diversity
Climate Change Time Series Data
Greenhouse gas emissions IOT
Resource depletion, including water Objects
Waste and pollution Geospatial
Deforestation Satellite images
Environmental
Working conditions, incl. child labor Geospatial
Local communities PDF Documents
Conflict regions Graphs, Entity Diagrams
Health and Safety Objects
Employee relations and diversity
Social
Executive pay PDF Documents
Bribery and corruption Spreadsheets
Political lobbying and donations Graphs
Board diversity and structure Relational Sources
Tax strategy
Governance
Evolution to the
Developer Data Platform
Off the Shelf Applications “Micro”-services Domain Driven Design
• Each has its own data layer • Data is combined into one data API • Microservices and their core data set
and governance over the data layer, with individual microservices are combined into bounded contexts
framework and format • DevOps teams control their by business function
• The enterprise has little or no microservice or application • DevOps teams control their
control over the application or • The data is fully managed by a microservice or application AND the
the data centralised team in the enterprise data
MS
M-Service A M- Service B M-Service C C2
Legacy Legacy Legacy MS MS MicroService MS
X Y Z A1 A2 B C1 MS
C3
API layer
Data Data Data
A B C
Mainframe RDBMS Spreadshee
Legacy Legacy Legacy Enterprise
t or file data Domain A Domain B Domain C
1 2 3
based warehouse
Retail Evolution
Commerce-led Content-led Headless Composable
To sell online To improve content To connect touchpoints To achieve speed to market
Monolith Microlith Design Driven
1990s…
2020s…
Courtesy of Commercetools
Design
Design Thinking
A formal practice
Empathise Ideate Test
Define Prototype Implement
Wikipedia: Design thinking refers to the set of cognitive, strategic and practical procedures used by designers in the process of designing,
and to the body of knowledge that has been developed about how people reason when engaging with design problems.
Design thinking is also associated with prescriptions for the innovation of products and services within business and social contexts.
Why do we need this ?
We have a great pattern !
Data Enterprise Data Data
Virtualization Data API Streaming Fabric
Strive for perfection
Streaming Time Series
Business Requirement
A
Reality N+1
Streaming Time Series
Business Requirement A+B
Reality N+4
Streaming Time Series
Business Requirement
A+B+...+Z
Equilibrium - Perfect World
Fit for purpose Flexible
Architecture Data Design
Constant Changing
Business Requirements
Decouple business requirements, data and
system architecture to the maximum extent
possible. Avoid decisions based on any
“principle” that can not be reverted or
replaced.
Domain Driven Designs
The fast course in 15 seconds
Structure your domains how
data are used.
* Evans: Domain-Driven Design: Tackling Complexity in the Heart of Software, 2003
Business Domains
Product Location
Customer
Bounded Contexts
Bounded Contexts
Staff
Bounded contexts represent a set of Ops
business-capabilities within an
Product Add
enterprise or a business-capability Catalog Product Customer 360° Live
Geo
associated with a set of data View
Loc
attributes.
For example : Sales or support of a
given product or service represent
two distinct bounded contexts which
Product Data Customer Data Loc Data
contain common enterprise data
sets. Common enterprise data sets
have data attributes that influence
and used in many bounded contexts
across enterprise. Product Customer Location
Data as a Product
Personalised Stock
Product in Your
Recommendations Local
Shop
Data as a Product
Staff
Mngmt Data as a product includes data
(& metadata), code to operate on
Product
Catalog
Add
Product Customer 360° What’s the data, as well as the
In
Store?
Geo
Locate
infrastructure that is needed to
run this code. Data as a product
expected to have the following
qualities.
Discoverable (searchable),
Product Data Customer Data Loc Data
Addressable, self identifying and
interoperable as well as secure.
Product Customer Location
This is not an enterprise architecture !
Customer Order Mgmt * Order
Fulfillment
Customer Catalog * Warehouse
Data product Data product performance
Data Mesh
Data mesh refers to an socio Product Information
Management
technical system that combines Shipping
intentionally distributed data across Catalog DDD for Supply Chain
Data product
distinctly defined domains (Bounded Data product
Contexts) with Domain driven design
Retail
* Top Shipper
*On time Performance
*Overnight shipments
Pricing
Dynamic Pricing Payment
Data product Inventory
Payments
Data product
Supply Chain
Data product
Design Evolution to Data Mesh
Introduction to Data Planes
Microservice
A
Microservice
B
Microservice
X Data mesh:
● Focuses on business domains, rather than
Operational Data Plane technical components
Domain Data ● Results in domain-oriented, decentralized
data ownership and architecture
Bounded Context
● Allows each bounded context to own and
make available its domain data as “data
product”
Analytical Data Plane ● Raw or aggregated data storage needs to be
determined by individual bounded contexts
based on users and needs
● Pushes data processing pipelines into each
bounded context who own and understand
the data
Microservice Microservice Microservice
● Results in Operational and Analytical data
A B n
planes per Bounded context
Developer Data Platform
MongoDB and the Data Mesh
The MongoDB Developer Data Platform can be deployed against all roles
Entity
Domain within any ecosystem, which has added benefit of reducing DIRT and
allowing for corporate wide governance
Service
Application
Plane Realm / GraphQL / Idiomatic Drivers
Operational
Data Plane MongoDB Enterprise and MongoDB Atlas
Analytical Atlas Data Federation & Data Lake
Data Plane
Report
Plane
Charts / MongoSQL / APIs / Drivers
Stream
Processing Change Streams / Kafka Connector
Plane
Domains with MongoDB
Developer Data Platform for OLTP
Microservice Microservice Mobile
Unified Full Text
Search Data API Flexible Sync
API
Data Domain Data Domain Data Domain
Operational
OLTP Search Mobile OLTP Search OLTP Edge
Plane
Cloud-Native & Self-Service Distributed Data Infrastructure
Domains with MongoDB
Developer Data Platform for OLTP and Analytics
Microservice Microservice Mobile
Unified Full Text
Search Data API Flexible Sync
API
Data Domain Data Domain Data Domain
Operational
OLTP Search Mobile OLTP Search OLTP Edge
Plane
Analytical Real time Data Lake Real time Operational Real time Data Lake
Plane Analytics Analytics Analytics Analytics Analytics Analytics
BI Connector Federated SQL Connector Kafka
Query
Data Product Data Product Data Product Data Product
Cloud-Native & Self-Service Distributed Data Infrastructure
Example: Payments
Merchant Functions Payments Terminal Loyalty Super App
Onboarding Payment Processor Points Management
Unified Data Api Unified API Unified
API Endpoint API endpoint API
Merchants Domain / Data & Svc Payments Domain / Data & Svc Points Domain / Data & Svc
Operational
OLTP Search Mobile OLTP Search OLTP Edge
Plane
Analytical Real time Data Lake Real time Operational Real time Data Lake
Plane Analytics Analytics Analytics Analytics Analytics Analytics
Unified Federated API
Streaming Unified
API SQL endpoint API
SQL-based Real Time
EOD Data Credit Check Consumer Analytics
Tableau Check
Merchant Portal Fraud Prevention Ad Bidding Platform
MongoDB Atlas
Developer Data Platform
JSON
Tabular
Key-Value
Text
Geospatial
Graph
Time Series
Events
Retail Developer Data Platform
End to end unified data without transformation
Customer ECommerce & In Store & Headquarters R&D
Interaction Mobile Warehouse Innovation Change Streams
& Triggers
Atlas
Data Federation
Customer / Staff Interaction
Enterprise Data
Data collection & Advanced
Search Warehouse
Enrichment data aggregation
ECommerce
BI analytics Data Lake
Search Data enrichment
In Store / Call center and reporting Lake House
Warehouse & Inventory In-App Analytics Data dashboards Real Time AI/ML Data Science
Atlas Atlas
Online Archive Data Lake
Logistics / Distribution
Real Time Application Driven
Just in Time Analytics
Supply Chain Decision Analytics
Atlas
SQL Interface
MongoDB MongoDB
Realm Realm MongoDB EA MongoDB EA MongoDB EA
Atlas Atlas
Commercetools and MACH
CRM
Web
ERP / Order
Management
Mobile
Warehouse
Management
Marketplaces
Business Intelligence
POS
+ More
The End State of Composable Commerce
Your feedback matters!
Please rate the session.
End to End Design Thinking
with the Developer Data
Platform
Cathlon Lau
Advisory Solutions Architect
Thank you for
your time.
Cathlon Lau
Email:
[email protected] LinkedIn: linkedin.com/in/cathlon