SlideShare una empresa de Scribd logo
1 de 29
Enabling independent teams by
creating decoupled data flows
Sven Herzing
Chief Technology Officer
About us
We’re on a mission to build MENA’s most effective Product-
Led organization
● Largest delivery + quick commerce player in MENA
● Active in 9 markets
● Headquartered in Dubai
● 2 tech hubs
350+ Team, 50+ Nationalities, 2 tech hubs
Let’s take a step back and start at the beginning
● Founded in 2004 in Kuwait
● Fast paced startup, development all done by one team
● Everybody know all moving pieces, focus is on fast delivery
Let’s take a step back and start at the beginning
Business team
request
Delivery team
Business team
request
Business team
request
The organization grew
Business team
request
Delivery team
Business team
request
Business team
request
Delivery team
Delivery team
High Level Architecture
Vendor
Management
Consumer
API
CMS Management
Main
Database
iOS
Android
Web
Delivery Hero enters the picture
In 2016, talabat became part of the larger delivery hero group
In 2019, we started our journey into a tech and product organization
Our journey timeline
2019
Goal:
Move from “delivery team” model
and building a tech & product
organisation
Milestones:
- Team size is at 80
- We process 140 orders per
minute
2020
Goal:
Transform towards self-organised,
empowered teams model
Milestones:
- Team grows to 210
- We process 300 orders per
minute
2021
Goal:
Building the right thing, in the right
way, where speed is enabled by
engineering culture and tech
excellence
Milestones:
- Team grows to 250 (mid year)
- We process 500 orders per
minute
Architecture evolves as you grow
Vendor
Management
Consumer
API
CMS Management
Main
Database
iOS
Android
Web
Service A Service B
Architecture evolves integrate with global services
Consumer
API
Main
Database
Order
Transmission
Logistics
Restaurant
tools
Driver app
● Order Transmission dispatches orders to global
services
● Writes update from global services back to main
database that downstream services have the data
Our journey timeline
2019
Goal:
Move from “delivery team” model
and building a tech & product
organisation
Milestones:
- Team size is at 80
- We process 140 orders per
minute
2020
Goal:
Transform towards self-organised,
empowered teams model
Milestones:
- Team grows to 210
- We process 300 orders per
minute
2021
Goal:
Building the right thing, in the right
way, where speed is enabled by
engineering culture and tech
excellence
Milestones:
- Team grows to 250 (mid year)
- We process 500 orders per
minute
Functional scope is growing
Consumer
API
Main
Database
Order
Transmission
Logistics
Restaurant
tools
Driver app
Rewards
Order
information
Reorders
Functional scope is growing
● Orders are placed in main database
● Record update in database to distribute status update
○ Read on demand or DB polling on read replica
● Tight coupling on DB schema between teams
● Scheduled time for deployments due to DDL changes
● Very limited scalability
Dependencies between teams
Our journey timeline
2019
Goal:
Move from “delivery team” model
and building a tech & product
organisation
Milestones:
- Team size is at 80
- We process 140 orders per
minute
2020
Goal:
Transform towards self-organised,
empowered teams model
Milestones:
- Team grows to 210
- We process 300 orders per
minute
2021
Goal:
Building the right thing, in the right
way, where speed is enabled by
engineering culture and tech
excellence
Milestones:
- Team grows to 250 (mid year)
- We process 500 orders per
minute
A closer look on our dependencies
● Most services need order and vendor data to
function
● Teams need to alter database schemas to
achieve their objectives
● Most code is dependent on the existence of
the monolithic database
● A bit more philosophical, but the database
was our orchestrator
Adding more people to the team didn’t make us
faster, but made the problem more pressing
What we are aiming for
● Allow our teams to build services with fewer dependencies and act independently
● Enable operational speed by the decoupling of functionalities
● Allowing our organization to scale in order volume and team size
● Reducing operational cost
Rethinking scalability
● Database coupling hinder speed
● HTTP request fanout doesn’t scale
● Queues work, but it needs one for each service
● Data is still required
● Coupling between teams and services need to be resolved
Some principles for services
● Low coupling, high cohesion
● No service can depend on another service for data availability, functionality or
uptime
● Events are first class citizens
● Choreography over orchestration
The full list is actually 10, but we don’t need all of them right now
The journey to decoupling information
Consumer
API
Main
Database
Order
Transmission
Central service
integration
Rewards
Order information
Nexus order
service
Orders
(shadow mode)
Orders
Database Compare Orders
To ensure data
consistency
Reorders User service
The journey to decoupling information
Consumer
API
Main
Database
Order
Transmission
Central service
integration
Rewards
Order information
Nexus order
service
Orders
Orders
Database
Reorders User service
Write orders
For compatibility
The journey to decoupling information
Consumer
API
Main
Database
Order
Transmission
Central service
integration
Rewards
Order information
Nexus order
service
Orders
Orders
Database
Reorders User service
Write orders
For compatibility
Write orders
For compatibility
Order Stream
● Create fat events that
satisfy needs of
downstream services
● Use event schema
registry to ensure all
events conform to
schema
Order information
The journey to decoupling information
Consumer
API
Main
Database
Order
Transmission
Central service
integration
Rewards
Order
information
Nexus order
service
Orders
Orders
Database
Reorders User service
Write orders
For compatibility
Write orders
For compatibility
Order Stream
Order
information
Why this matters
● Allow our teams to build services with fewer dependencies and act
independently
○ Events have full data, reducing dependencies
○ If others teams need data, it will be provided on a stream and can be cached
locally
● Enable operational speed by the decoupling of functionalities
○ All services operate fully independent, not central DDL couples them
○ Event schema ensure structure while enabling decoupling
○ If a service is unavailable, events can be consumed later
Why this matters II
● Allowing our organization to scale in order volume and team size
○ No single database with all data is required
○ Downstream services can be added independently without adding fanout
http requests at the origin
● Reducing operational cost
○ Local database can be smaller
○ Data retention can be optimized for each service
New Challenges
● Idempotency handling is required
● At least once semantics are more complex
● Event Schemas need more upfront thinking in design to make the best out of the
solution
Future
● Each vertical can have their own order service, creating multiple producers of
events on the same stream
● The source of truth will be the stream
● Disaster recovery will become simplified in setup by reducing data dependencies
Thank you.

Más contenido relacionado

La actualidad más candente

Release Train Engineer - the Master Scrum Master
Release Train Engineer  - the Master Scrum Master Release Train Engineer  - the Master Scrum Master
Release Train Engineer - the Master Scrum Master Mia Horrigan
 
CDC patterns in Apache Kafka®
CDC patterns in Apache Kafka®CDC patterns in Apache Kafka®
CDC patterns in Apache Kafka®confluent
 
Kubernetes Summit 2021: Multi-Cluster - The Good, the Bad and the Ugly
Kubernetes Summit 2021: Multi-Cluster - The Good, the Bad and the UglyKubernetes Summit 2021: Multi-Cluster - The Good, the Bad and the Ugly
Kubernetes Summit 2021: Multi-Cluster - The Good, the Bad and the Uglysmalltown
 
Beyond Agile with Team Topologies
Beyond Agile with Team TopologiesBeyond Agile with Team Topologies
Beyond Agile with Team TopologiesRich Allen
 
Machine Learning using Kubeflow and Kubernetes
Machine Learning using Kubeflow and KubernetesMachine Learning using Kubeflow and Kubernetes
Machine Learning using Kubeflow and KubernetesArun Gupta
 
Monitoring As a Service
Monitoring As a ServiceMonitoring As a Service
Monitoring As a ServiceJames Turnbull
 
Workshop : Innovation Games at NSSpain
Workshop : Innovation Games at NSSpainWorkshop : Innovation Games at NSSpain
Workshop : Innovation Games at NSSpainBen Sykes
 
Lean Agile Center of Excellence LACE – Drink our own Champagne
Lean Agile Center of Excellence LACE – Drink our own ChampagneLean Agile Center of Excellence LACE – Drink our own Champagne
Lean Agile Center of Excellence LACE – Drink our own ChampagneCA Technologies
 
Lean Agile Center of Excellence - Agile2017 Talk
Lean Agile Center of Excellence - Agile2017 TalkLean Agile Center of Excellence - Agile2017 Talk
Lean Agile Center of Excellence - Agile2017 TalkDeema Dajani
 
Welcome to the API Economy: Developing Your API Strategy
Welcome to the API Economy: Developing Your API StrategyWelcome to the API Economy: Developing Your API Strategy
Welcome to the API Economy: Developing Your API StrategyMuleSoft
 
SRE for Everyone: Making Tomorrow Better Than Today
SRE for Everyone: Making Tomorrow Better Than Today SRE for Everyone: Making Tomorrow Better Than Today
SRE for Everyone: Making Tomorrow Better Than Today Rundeck
 
Next Generation IT Delivery - What it means to deliver atthe speed of the Dig...
Next Generation IT Delivery - What it means to deliver atthe speed of the Dig...Next Generation IT Delivery - What it means to deliver atthe speed of the Dig...
Next Generation IT Delivery - What it means to deliver atthe speed of the Dig...Mirco Hering
 
SAP SuccessFactors Education and Training Materials
SAP SuccessFactors Education and Training Materials SAP SuccessFactors Education and Training Materials
SAP SuccessFactors Education and Training Materials HR Path
 
Value Stream Management: Is Your Organization Ready?
Value Stream Management: Is Your Organization Ready?Value Stream Management: Is Your Organization Ready?
Value Stream Management: Is Your Organization Ready?DevOps.com
 
Agile101 - What Agile Is and What Agile Is Not
Agile101 - What Agile Is and What Agile Is NotAgile101 - What Agile Is and What Agile Is Not
Agile101 - What Agile Is and What Agile Is NotDerek Huether
 
Webinar On Scaled Agile Framework (SAFe) | iZenBridge
Webinar On Scaled Agile Framework (SAFe) | iZenBridgeWebinar On Scaled Agile Framework (SAFe) | iZenBridge
Webinar On Scaled Agile Framework (SAFe) | iZenBridgeSaket Bansal
 
Determining Organizational Fit for Transformation Success
Determining Organizational Fit for Transformation SuccessDetermining Organizational Fit for Transformation Success
Determining Organizational Fit for Transformation SuccessCelonis
 
Building a Microservices-based ERP System
Building a Microservices-based ERP SystemBuilding a Microservices-based ERP System
Building a Microservices-based ERP SystemMongoDB
 
Using Kafka in Your Organization with Real-Time User Insights for a Customer ...
Using Kafka in Your Organization with Real-Time User Insights for a Customer ...Using Kafka in Your Organization with Real-Time User Insights for a Customer ...
Using Kafka in Your Organization with Real-Time User Insights for a Customer ...confluent
 

La actualidad más candente (20)

Release Train Engineer - the Master Scrum Master
Release Train Engineer  - the Master Scrum Master Release Train Engineer  - the Master Scrum Master
Release Train Engineer - the Master Scrum Master
 
CDC patterns in Apache Kafka®
CDC patterns in Apache Kafka®CDC patterns in Apache Kafka®
CDC patterns in Apache Kafka®
 
Kubernetes Summit 2021: Multi-Cluster - The Good, the Bad and the Ugly
Kubernetes Summit 2021: Multi-Cluster - The Good, the Bad and the UglyKubernetes Summit 2021: Multi-Cluster - The Good, the Bad and the Ugly
Kubernetes Summit 2021: Multi-Cluster - The Good, the Bad and the Ugly
 
Beyond Agile with Team Topologies
Beyond Agile with Team TopologiesBeyond Agile with Team Topologies
Beyond Agile with Team Topologies
 
Machine Learning using Kubeflow and Kubernetes
Machine Learning using Kubeflow and KubernetesMachine Learning using Kubeflow and Kubernetes
Machine Learning using Kubeflow and Kubernetes
 
Monitoring As a Service
Monitoring As a ServiceMonitoring As a Service
Monitoring As a Service
 
Workshop : Innovation Games at NSSpain
Workshop : Innovation Games at NSSpainWorkshop : Innovation Games at NSSpain
Workshop : Innovation Games at NSSpain
 
Lean Agile Center of Excellence LACE – Drink our own Champagne
Lean Agile Center of Excellence LACE – Drink our own ChampagneLean Agile Center of Excellence LACE – Drink our own Champagne
Lean Agile Center of Excellence LACE – Drink our own Champagne
 
Lean Agile Center of Excellence - Agile2017 Talk
Lean Agile Center of Excellence - Agile2017 TalkLean Agile Center of Excellence - Agile2017 Talk
Lean Agile Center of Excellence - Agile2017 Talk
 
Welcome to the API Economy: Developing Your API Strategy
Welcome to the API Economy: Developing Your API StrategyWelcome to the API Economy: Developing Your API Strategy
Welcome to the API Economy: Developing Your API Strategy
 
SRE for Everyone: Making Tomorrow Better Than Today
SRE for Everyone: Making Tomorrow Better Than Today SRE for Everyone: Making Tomorrow Better Than Today
SRE for Everyone: Making Tomorrow Better Than Today
 
Next Generation IT Delivery - What it means to deliver atthe speed of the Dig...
Next Generation IT Delivery - What it means to deliver atthe speed of the Dig...Next Generation IT Delivery - What it means to deliver atthe speed of the Dig...
Next Generation IT Delivery - What it means to deliver atthe speed of the Dig...
 
SAP SuccessFactors Education and Training Materials
SAP SuccessFactors Education and Training Materials SAP SuccessFactors Education and Training Materials
SAP SuccessFactors Education and Training Materials
 
Value Stream Management: Is Your Organization Ready?
Value Stream Management: Is Your Organization Ready?Value Stream Management: Is Your Organization Ready?
Value Stream Management: Is Your Organization Ready?
 
Actionable Agile Metrics
Actionable Agile MetricsActionable Agile Metrics
Actionable Agile Metrics
 
Agile101 - What Agile Is and What Agile Is Not
Agile101 - What Agile Is and What Agile Is NotAgile101 - What Agile Is and What Agile Is Not
Agile101 - What Agile Is and What Agile Is Not
 
Webinar On Scaled Agile Framework (SAFe) | iZenBridge
Webinar On Scaled Agile Framework (SAFe) | iZenBridgeWebinar On Scaled Agile Framework (SAFe) | iZenBridge
Webinar On Scaled Agile Framework (SAFe) | iZenBridge
 
Determining Organizational Fit for Transformation Success
Determining Organizational Fit for Transformation SuccessDetermining Organizational Fit for Transformation Success
Determining Organizational Fit for Transformation Success
 
Building a Microservices-based ERP System
Building a Microservices-based ERP SystemBuilding a Microservices-based ERP System
Building a Microservices-based ERP System
 
Using Kafka in Your Organization with Real-Time User Insights for a Customer ...
Using Kafka in Your Organization with Real-Time User Insights for a Customer ...Using Kafka in Your Organization with Real-Time User Insights for a Customer ...
Using Kafka in Your Organization with Real-Time User Insights for a Customer ...
 

Similar a Enabling independent teams by creating decoupled data flows

Why Businesses Must Adopt NetSuite ERP Data Migration
Why Businesses Must Adopt NetSuite ERP Data MigrationWhy Businesses Must Adopt NetSuite ERP Data Migration
Why Businesses Must Adopt NetSuite ERP Data MigrationJade Global
 
Nac Stech 2012 Fuel Logix
Nac Stech 2012 Fuel LogixNac Stech 2012 Fuel Logix
Nac Stech 2012 Fuel LogixKennon Mullen
 
Product - OneWorld Customer Case Study Slides
Product - OneWorld Customer Case Study SlidesProduct - OneWorld Customer Case Study Slides
Product - OneWorld Customer Case Study SlidesCuriousRubik
 
Accrosoft End of Year Presentation
Accrosoft End of Year PresentationAccrosoft End of Year Presentation
Accrosoft End of Year PresentationRachel Lindsay
 
Region - AMERICAS Customer CaseStudy
Region - AMERICAS Customer CaseStudyRegion - AMERICAS Customer CaseStudy
Region - AMERICAS Customer CaseStudyCuriousRubik
 
Simply Business' Data Platform
Simply Business' Data PlatformSimply Business' Data Platform
Simply Business' Data PlatformDani Solà Lagares
 
Running Business Analytics for a Serverless Insurance Company - Joe Emison & ...
Running Business Analytics for a Serverless Insurance Company - Joe Emison & ...Running Business Analytics for a Serverless Insurance Company - Joe Emison & ...
Running Business Analytics for a Serverless Insurance Company - Joe Emison & ...Daniel Zivkovic
 
SPTechCon Austin - The Slippery Slope of SharePoint Migrations
SPTechCon Austin - The Slippery Slope of SharePoint MigrationsSPTechCon Austin - The Slippery Slope of SharePoint Migrations
SPTechCon Austin - The Slippery Slope of SharePoint MigrationsJill Hannemann
 
Digital transformation slideshare
Digital transformation   slideshareDigital transformation   slideshare
Digital transformation slideshareShivamPatsariya1
 
70-461 Querying Microsoft SQL Server 2012
70-461 Querying Microsoft SQL Server 201270-461 Querying Microsoft SQL Server 2012
70-461 Querying Microsoft SQL Server 2012siphocha
 
How Schneider Electric Transformed Front-office Operations With Real-time Dat...
How Schneider Electric Transformed Front-office Operations With Real-time Dat...How Schneider Electric Transformed Front-office Operations With Real-time Dat...
How Schneider Electric Transformed Front-office Operations With Real-time Dat...Informatica Cloud
 
Whitepaper cloud 2016
Whitepaper cloud 2016Whitepaper cloud 2016
Whitepaper cloud 2016Kaizenlogcom
 
Improving Agility While Widening Profit Margins Using Data Virtualization
Improving Agility While Widening Profit Margins Using Data VirtualizationImproving Agility While Widening Profit Margins Using Data Virtualization
Improving Agility While Widening Profit Margins Using Data VirtualizationDenodo
 
2014-09-23 Best of Breed Cloud Based Accounting System Seminar
2014-09-23 Best of Breed Cloud Based Accounting System Seminar2014-09-23 Best of Breed Cloud Based Accounting System Seminar
2014-09-23 Best of Breed Cloud Based Accounting System SeminarRaffa Learning Community
 
Is your big data journey stalling? Take the Leap with Capgemini and Cloudera
Is your big data journey stalling? Take the Leap with Capgemini and ClouderaIs your big data journey stalling? Take the Leap with Capgemini and Cloudera
Is your big data journey stalling? Take the Leap with Capgemini and ClouderaCloudera, Inc.
 
Innovate with the data you have with UiPath and Snowflake.pdf
Innovate with the data you have with UiPath and Snowflake.pdfInnovate with the data you have with UiPath and Snowflake.pdf
Innovate with the data you have with UiPath and Snowflake.pdfCristina Vidu
 

Similar a Enabling independent teams by creating decoupled data flows (20)

Why Businesses Must Adopt NetSuite ERP Data Migration
Why Businesses Must Adopt NetSuite ERP Data MigrationWhy Businesses Must Adopt NetSuite ERP Data Migration
Why Businesses Must Adopt NetSuite ERP Data Migration
 
Nac Stech 2012 Fuel Logix
Nac Stech 2012 Fuel LogixNac Stech 2012 Fuel Logix
Nac Stech 2012 Fuel Logix
 
Product - OneWorld Customer Case Study Slides
Product - OneWorld Customer Case Study SlidesProduct - OneWorld Customer Case Study Slides
Product - OneWorld Customer Case Study Slides
 
Accrosoft End of Year Presentation
Accrosoft End of Year PresentationAccrosoft End of Year Presentation
Accrosoft End of Year Presentation
 
RapidiOnline Salesforce-MS Dynamics NAV Presentation
RapidiOnline Salesforce-MS Dynamics NAV PresentationRapidiOnline Salesforce-MS Dynamics NAV Presentation
RapidiOnline Salesforce-MS Dynamics NAV Presentation
 
Region - AMERICAS Customer CaseStudy
Region - AMERICAS Customer CaseStudyRegion - AMERICAS Customer CaseStudy
Region - AMERICAS Customer CaseStudy
 
Simply Business' Data Platform
Simply Business' Data PlatformSimply Business' Data Platform
Simply Business' Data Platform
 
Running Business Analytics for a Serverless Insurance Company - Joe Emison & ...
Running Business Analytics for a Serverless Insurance Company - Joe Emison & ...Running Business Analytics for a Serverless Insurance Company - Joe Emison & ...
Running Business Analytics for a Serverless Insurance Company - Joe Emison & ...
 
SPTechCon Austin - The Slippery Slope of SharePoint Migrations
SPTechCon Austin - The Slippery Slope of SharePoint MigrationsSPTechCon Austin - The Slippery Slope of SharePoint Migrations
SPTechCon Austin - The Slippery Slope of SharePoint Migrations
 
Digital transformation slideshare
Digital transformation   slideshareDigital transformation   slideshare
Digital transformation slideshare
 
Hadoop on retail
Hadoop on retailHadoop on retail
Hadoop on retail
 
70-461 Querying Microsoft SQL Server 2012
70-461 Querying Microsoft SQL Server 201270-461 Querying Microsoft SQL Server 2012
70-461 Querying Microsoft SQL Server 2012
 
How Schneider Electric Transformed Front-office Operations With Real-time Dat...
How Schneider Electric Transformed Front-office Operations With Real-time Dat...How Schneider Electric Transformed Front-office Operations With Real-time Dat...
How Schneider Electric Transformed Front-office Operations With Real-time Dat...
 
Whitepaper cloud 2016
Whitepaper cloud 2016Whitepaper cloud 2016
Whitepaper cloud 2016
 
Improving Agility While Widening Profit Margins Using Data Virtualization
Improving Agility While Widening Profit Margins Using Data VirtualizationImproving Agility While Widening Profit Margins Using Data Virtualization
Improving Agility While Widening Profit Margins Using Data Virtualization
 
2014-09-23 Best of Breed Cloud Based Accounting System Seminar
2014-09-23 Best of Breed Cloud Based Accounting System Seminar2014-09-23 Best of Breed Cloud Based Accounting System Seminar
2014-09-23 Best of Breed Cloud Based Accounting System Seminar
 
Retail & CPG
Retail & CPGRetail & CPG
Retail & CPG
 
Is your big data journey stalling? Take the Leap with Capgemini and Cloudera
Is your big data journey stalling? Take the Leap with Capgemini and ClouderaIs your big data journey stalling? Take the Leap with Capgemini and Cloudera
Is your big data journey stalling? Take the Leap with Capgemini and Cloudera
 
Innovate with the data you have with UiPath and Snowflake.pdf
Innovate with the data you have with UiPath and Snowflake.pdfInnovate with the data you have with UiPath and Snowflake.pdf
Innovate with the data you have with UiPath and Snowflake.pdf
 
NetSuite Customer Case Studies
NetSuite Customer Case StudiesNetSuite Customer Case Studies
NetSuite Customer Case Studies
 

Más de confluent

Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Santander Stream Processing with Apache Flink
Santander Stream Processing with Apache FlinkSantander Stream Processing with Apache Flink
Santander Stream Processing with Apache Flinkconfluent
 
Unlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsUnlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsconfluent
 
Workshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con FlinkWorkshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con Flinkconfluent
 
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...confluent
 
AWS Immersion Day Mapfre - Confluent
AWS Immersion Day Mapfre   -   ConfluentAWS Immersion Day Mapfre   -   Confluent
AWS Immersion Day Mapfre - Confluentconfluent
 
Eventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalkEventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalkconfluent
 
Q&A with Confluent Experts: Navigating Networking in Confluent Cloud
Q&A with Confluent Experts: Navigating Networking in Confluent CloudQ&A with Confluent Experts: Navigating Networking in Confluent Cloud
Q&A with Confluent Experts: Navigating Networking in Confluent Cloudconfluent
 
Citi TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep DiveCiti TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep Diveconfluent
 
Build real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with ConfluentBuild real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with Confluentconfluent
 
Q&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service MeshQ&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service Meshconfluent
 
Citi Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka MicroservicesCiti Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka Microservicesconfluent
 
Confluent & GSI Webinars series - Session 3
Confluent & GSI Webinars series - Session 3Confluent & GSI Webinars series - Session 3
Confluent & GSI Webinars series - Session 3confluent
 
Citi Tech Talk: Messaging Modernization
Citi Tech Talk: Messaging ModernizationCiti Tech Talk: Messaging Modernization
Citi Tech Talk: Messaging Modernizationconfluent
 
Citi Tech Talk: Data Governance for streaming and real time data
Citi Tech Talk: Data Governance for streaming and real time dataCiti Tech Talk: Data Governance for streaming and real time data
Citi Tech Talk: Data Governance for streaming and real time dataconfluent
 
Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2confluent
 
Data In Motion Paris 2023
Data In Motion Paris 2023Data In Motion Paris 2023
Data In Motion Paris 2023confluent
 
Confluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with SynthesisConfluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with Synthesisconfluent
 
The Future of Application Development - API Days - Melbourne 2023
The Future of Application Development - API Days - Melbourne 2023The Future of Application Development - API Days - Melbourne 2023
The Future of Application Development - API Days - Melbourne 2023confluent
 
The Playful Bond Between REST And Data Streams
The Playful Bond Between REST And Data StreamsThe Playful Bond Between REST And Data Streams
The Playful Bond Between REST And Data Streamsconfluent
 

Más de confluent (20)

Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Santander Stream Processing with Apache Flink
Santander Stream Processing with Apache FlinkSantander Stream Processing with Apache Flink
Santander Stream Processing with Apache Flink
 
Unlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsUnlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insights
 
Workshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con FlinkWorkshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con Flink
 
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
 
AWS Immersion Day Mapfre - Confluent
AWS Immersion Day Mapfre   -   ConfluentAWS Immersion Day Mapfre   -   Confluent
AWS Immersion Day Mapfre - Confluent
 
Eventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalkEventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalk
 
Q&A with Confluent Experts: Navigating Networking in Confluent Cloud
Q&A with Confluent Experts: Navigating Networking in Confluent CloudQ&A with Confluent Experts: Navigating Networking in Confluent Cloud
Q&A with Confluent Experts: Navigating Networking in Confluent Cloud
 
Citi TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep DiveCiti TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep Dive
 
Build real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with ConfluentBuild real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with Confluent
 
Q&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service MeshQ&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service Mesh
 
Citi Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka MicroservicesCiti Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka Microservices
 
Confluent & GSI Webinars series - Session 3
Confluent & GSI Webinars series - Session 3Confluent & GSI Webinars series - Session 3
Confluent & GSI Webinars series - Session 3
 
Citi Tech Talk: Messaging Modernization
Citi Tech Talk: Messaging ModernizationCiti Tech Talk: Messaging Modernization
Citi Tech Talk: Messaging Modernization
 
Citi Tech Talk: Data Governance for streaming and real time data
Citi Tech Talk: Data Governance for streaming and real time dataCiti Tech Talk: Data Governance for streaming and real time data
Citi Tech Talk: Data Governance for streaming and real time data
 
Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2
 
Data In Motion Paris 2023
Data In Motion Paris 2023Data In Motion Paris 2023
Data In Motion Paris 2023
 
Confluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with SynthesisConfluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with Synthesis
 
The Future of Application Development - API Days - Melbourne 2023
The Future of Application Development - API Days - Melbourne 2023The Future of Application Development - API Days - Melbourne 2023
The Future of Application Development - API Days - Melbourne 2023
 
The Playful Bond Between REST And Data Streams
The Playful Bond Between REST And Data StreamsThe Playful Bond Between REST And Data Streams
The Playful Bond Between REST And Data Streams
 

Último

Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 

Último (20)

Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 

Enabling independent teams by creating decoupled data flows

  • 1. Enabling independent teams by creating decoupled data flows Sven Herzing Chief Technology Officer
  • 2. About us We’re on a mission to build MENA’s most effective Product- Led organization ● Largest delivery + quick commerce player in MENA ● Active in 9 markets ● Headquartered in Dubai ● 2 tech hubs
  • 3. 350+ Team, 50+ Nationalities, 2 tech hubs
  • 4. Let’s take a step back and start at the beginning ● Founded in 2004 in Kuwait ● Fast paced startup, development all done by one team ● Everybody know all moving pieces, focus is on fast delivery
  • 5. Let’s take a step back and start at the beginning Business team request Delivery team Business team request Business team request
  • 6. The organization grew Business team request Delivery team Business team request Business team request Delivery team Delivery team
  • 7. High Level Architecture Vendor Management Consumer API CMS Management Main Database iOS Android Web
  • 8. Delivery Hero enters the picture In 2016, talabat became part of the larger delivery hero group In 2019, we started our journey into a tech and product organization
  • 9. Our journey timeline 2019 Goal: Move from “delivery team” model and building a tech & product organisation Milestones: - Team size is at 80 - We process 140 orders per minute 2020 Goal: Transform towards self-organised, empowered teams model Milestones: - Team grows to 210 - We process 300 orders per minute 2021 Goal: Building the right thing, in the right way, where speed is enabled by engineering culture and tech excellence Milestones: - Team grows to 250 (mid year) - We process 500 orders per minute
  • 10. Architecture evolves as you grow Vendor Management Consumer API CMS Management Main Database iOS Android Web Service A Service B
  • 11. Architecture evolves integrate with global services Consumer API Main Database Order Transmission Logistics Restaurant tools Driver app ● Order Transmission dispatches orders to global services ● Writes update from global services back to main database that downstream services have the data
  • 12. Our journey timeline 2019 Goal: Move from “delivery team” model and building a tech & product organisation Milestones: - Team size is at 80 - We process 140 orders per minute 2020 Goal: Transform towards self-organised, empowered teams model Milestones: - Team grows to 210 - We process 300 orders per minute 2021 Goal: Building the right thing, in the right way, where speed is enabled by engineering culture and tech excellence Milestones: - Team grows to 250 (mid year) - We process 500 orders per minute
  • 13. Functional scope is growing Consumer API Main Database Order Transmission Logistics Restaurant tools Driver app Rewards Order information Reorders
  • 14. Functional scope is growing ● Orders are placed in main database ● Record update in database to distribute status update ○ Read on demand or DB polling on read replica ● Tight coupling on DB schema between teams ● Scheduled time for deployments due to DDL changes ● Very limited scalability
  • 16. Our journey timeline 2019 Goal: Move from “delivery team” model and building a tech & product organisation Milestones: - Team size is at 80 - We process 140 orders per minute 2020 Goal: Transform towards self-organised, empowered teams model Milestones: - Team grows to 210 - We process 300 orders per minute 2021 Goal: Building the right thing, in the right way, where speed is enabled by engineering culture and tech excellence Milestones: - Team grows to 250 (mid year) - We process 500 orders per minute
  • 17. A closer look on our dependencies ● Most services need order and vendor data to function ● Teams need to alter database schemas to achieve their objectives ● Most code is dependent on the existence of the monolithic database ● A bit more philosophical, but the database was our orchestrator Adding more people to the team didn’t make us faster, but made the problem more pressing
  • 18. What we are aiming for ● Allow our teams to build services with fewer dependencies and act independently ● Enable operational speed by the decoupling of functionalities ● Allowing our organization to scale in order volume and team size ● Reducing operational cost
  • 19. Rethinking scalability ● Database coupling hinder speed ● HTTP request fanout doesn’t scale ● Queues work, but it needs one for each service ● Data is still required ● Coupling between teams and services need to be resolved
  • 20. Some principles for services ● Low coupling, high cohesion ● No service can depend on another service for data availability, functionality or uptime ● Events are first class citizens ● Choreography over orchestration The full list is actually 10, but we don’t need all of them right now
  • 21. The journey to decoupling information Consumer API Main Database Order Transmission Central service integration Rewards Order information Nexus order service Orders (shadow mode) Orders Database Compare Orders To ensure data consistency Reorders User service
  • 22. The journey to decoupling information Consumer API Main Database Order Transmission Central service integration Rewards Order information Nexus order service Orders Orders Database Reorders User service Write orders For compatibility
  • 23. The journey to decoupling information Consumer API Main Database Order Transmission Central service integration Rewards Order information Nexus order service Orders Orders Database Reorders User service Write orders For compatibility Write orders For compatibility Order Stream ● Create fat events that satisfy needs of downstream services ● Use event schema registry to ensure all events conform to schema Order information
  • 24. The journey to decoupling information Consumer API Main Database Order Transmission Central service integration Rewards Order information Nexus order service Orders Orders Database Reorders User service Write orders For compatibility Write orders For compatibility Order Stream Order information
  • 25. Why this matters ● Allow our teams to build services with fewer dependencies and act independently ○ Events have full data, reducing dependencies ○ If others teams need data, it will be provided on a stream and can be cached locally ● Enable operational speed by the decoupling of functionalities ○ All services operate fully independent, not central DDL couples them ○ Event schema ensure structure while enabling decoupling ○ If a service is unavailable, events can be consumed later
  • 26. Why this matters II ● Allowing our organization to scale in order volume and team size ○ No single database with all data is required ○ Downstream services can be added independently without adding fanout http requests at the origin ● Reducing operational cost ○ Local database can be smaller ○ Data retention can be optimized for each service
  • 27. New Challenges ● Idempotency handling is required ● At least once semantics are more complex ● Event Schemas need more upfront thinking in design to make the best out of the solution
  • 28. Future ● Each vertical can have their own order service, creating multiple producers of events on the same stream ● The source of truth will be the stream ● Disaster recovery will become simplified in setup by reducing data dependencies

Notas del editor

  1. Tell a bit about the background 8 years in the region Talabat Careem Dubizzle
  2. Today our team is a multi national team that grew from humble beginnings with a few engineers in Kuwait to around 75 in 2019 Experience massive growth between 2019 and 2022
  3. Like many companies, it worked like this
  4. And as the organiation grew, it still worked like this
  5. High level architecture. All centered around a monolithic database Restaurant data and content into the DB, read on the consumer api
  6. Team size grows, it becomes harder to work in the single codebase Service are all around the world a big thing Services start to emerge, but data still coupled to the main database Easier to work on smaller code Load is still on a database, mitigated by creating read replicas Tight coupling on database level
  7. But let’s have a look at a different view, Database based synchronization and update mechanism Polling on main DB by order transmission, updates existing order records It works and is simple But Single point of failure Doesn’t scale well Everybody needs to have in depth knowledge of the whole system Tight coupling
  8. Functional scope grows Order information still centralized Updates distributed to via database updates
  9. A complex connected system has connections between areas. They define how well a team can work independently Each column is a team and each card is an ask from a different team Commitments are hard to keep when extra work is needed to support others
  10. You start to think about why we get more and more dependencies, while progress starts to feel slower Point on the right center is orders The big spot in upper center is vendor information
  11. Those are actually from the dubizzle times Full list Low coupling, high cohesion No service can dependent on antoher for uptime, functionality or data availability On transactions can span at most one service No vertical can impact the stability of another Bounded contexts are defined by business realms and not CRUD apis Choregraphy over orchestration Events are first class citizens
  12. Create a new service that can process orders, but keep the old one Process orders as before, updates to services as still in the same order object The service has no longer access to all types of information an order object might need, so the model need to contain all this data for each order Examples are user information Vendor address or opening hours Driver details
  13. Create a new service that can process orders, but keep the old one Process orders as before, updates to services as still in the same order object The service has no longer access to all types of information which an order object might need, so the model need to contain all this data for each order Examples are user information Vendor address or opening hours Driver details Avoid requests from Transmission to user service to fetch user data
  14. Create a new service that can process orders, but keep the old one Process orders as before, updates to services as still in the same order object The service has no longer access to all types of information which an order object might need, so the model need to contain all this data for each order Examples are user information Vendor address or opening hours Driver details Avoid requests from Transmission to user service to fetch user data
  15. Create a new service that can process orders, but keep the old one Process orders as before, updates to services as still in the same order object The service has no longer access to all types of information which an order object might need, so the model need to contain all this data for each order Examples are user information Vendor address or opening hours Driver details Avoid requests from Transmission to user service to fetch user data