16. Cathlon

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 31

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: cathlon.lau@mongodb.com
LinkedIn: linkedin.com/in/cathlon

You might also like