SlideShare a Scribd company logo
1 of 82
Download to read offline
Data Architecture –
Not Just for
Microservices
Eberhard Wolff
@ewolff
Fellow
http://continuous-delivery-buch.de/
http://microservices-buch.de/ http://microservices-book.com/
http://microservices-book.com/primer.html
FREE!!!!
Classic Data Architecture
> Centralized databases
> …or services that provide data
> Ensures consistency across systems
> …for data model
> ...and updates to data
> Reuse
Classic Data Architecture
Billing
Order
Process
CRM
Order
Who is using a
centralized database?
Who likes the
centralized database?
Microservices:
Definition
> No consistent definition
> Microservices are modules
> Independent deployment units
> E.g. processes, Docker container
> Microservice owned by one team
Microservices: Definition
Server /
Container
Server /
Container
Micro
Service
Micro
Service
Why Microservices?
> Develop a feature
> …bring it into production
> ...with no coordination
> Independent scaling
> Free choice of technology
> Robustness
> Security
Microservices aim for
decoupling
Microservices & Data
Server /
Container
Server /
Container
Micro
Service
Micro
Service
Order Schema
Microservices & Data
Server /
Container
Server /
Container
Micro
Service
Micro
Service
Order Schema
Microservices & Data
> Decoupling for data, too
> Separate data storage
Data Microservices
Server /
Container
Server /
Container
Micro
Service
Micro
Service
Order Data
Microservice
Data Microservices
Server /
Container
Micro
Service
Order Data
Microservice
Customer Data
Microservice
Remote calls
influence
performance
availability
No transaction
across customer
and order
Data Microservice
> Change two microservices if new feature
requires change to data schema
> But: data in one place
> No consistency issues
Data microservice
limits decoupling.
Encapsulation
> Information hiding
> Hide the internal data structure
> Provide access only through a well defined
interface
> Data and databases should not be exported
Violates Encapsulation
Billing
Order
Process
CRM
Order
Shared
data model
Logic
Violates Encapsulation
Server /
Container
Server /
Container
Micro
Service
Micro
Service
Order Data
Microservice Shared
data model
Logic
Separate Databases
Server /
Container
Server /
Container
Micro
Service
Micro
Service
Order Order
Different Databases
Server /
Container
Server /
Container
Micro
Service
Micro
Service
neo4j Oracle
Different Databases
> “Polyglot persistence”
> Use the best tool for the job
> Technology freedom
– advantage of microservices
> …but extra effort
> Backup, disaster recovery etc.
> Not as easy as e.g. different frameworks
Separate Schema
Server /
Container
Server /
Container
Micro
Service
Micro
Service
Oracle
Schema Schema
Separate Schemas
> Less effort
> Decoupled data models
> ...but limited independent scaling and
robustness
Billing
Order
Process
CRM
OrderOrder Order
Redundancy!!!
Domain-driven Design
Domain-driven Design
> 2004
> Still very relevant
> By Eric Evans
> Focus on part IV
> Free reference:
http://domainlanguage.com/
ddd/reference/
Order
Shipping address
Tracking #
Items
Item Categories
Priority shipping
Customs #
Account #
...
Credit card #
Order #
My Domain Model
is a mess!
Bounded Context
> Domain model is only valid for one context
> There is no universal data model!
> See all failed SOA attempts
Order
Shipping address
Tracking #
Items
Item Categories
Priority shipping
Customs #
Account #
...
Credit card #
Order #
Customs
Order
Recommen-
dations
Order
Tracking
Order
Shipping
address
Tracking #
Item
Categories
Priority
shipping
Customs #
Payment
Order
Account #
Credit card #
Billing
Order
Process
CRM
OrderOrder Order
Bounded Context
> Microservice =
BOUNDED CONTEXTS
> Changes for new features are local
> …even if data models need to be changed
Billing
Order
Process
CRM
OrderOrder Order
Redundancy?
Redundancy?
Not really
Bounded Context
What about
basic data of an
order?
Strategic Design
> How do BOUNDED CONTEXTS relate to each
other?
> Context can have relationships
> DDD defines several relationship patterns
Shared Kernel
> Subset of a model
> …that two teams share
> Eric Evans: Including code and database
> Microservices: Just sharing a model
Anti-corruption Layer
> Don’t let e.g. a legacy model influence a
new model
> Isolate model by additional layer
> No need to modify the old system
Context Relationships
> Team = Deployment Unit = BOUNDED CONTEXT
> Context Relationships define how BOUNDED
CONTEXT are used…
> ...and how much teams need to collaborate
Coordination
Effort
Shared BOUNDED CONTEXT
SHARED KERNEL
CUSTOMER / SUPPLIER
ANTICORRUPTION LAYER
CONFORMIST
SEPARATE WAYS
Context Map
Context Map
> Show the different BOUNDED CONTEXT
> …and the relation to each other
> BOUNDED CONTEXT might be microservices
> ...or communication links
Order ProcessRegistration
Basic
Customer
Data
Basic
Customer
Data
Customer
Order
Data
Delivery
Customer
Order
Data
Billing
Anticorruption
Layer
Mainframe
Customer
Data
Customer
Order
Data
Customer
Order
Data
Basic Customer
Data +
Customer Order
Data
= Shared Kernel
Billing
Order
Process
CRM
Shared
Kernel
Order
Additional
data
Additional
data
Additional
data
Order
Data
Centralized
Shared Kernel
> Ensures consistency
> ...but needs to be called for a lot of
operations
> Resilience / performance / transactions
> Have one master as the source of truth
Billing
Order
Process
CRM
Shared
Kernel
Order
Shared
Kernel
Order
Shared
Kernel
Order
Additional
data
Additional
data
Additional
data
Decentralized
Shared Kernel
> Might be inconsistent
> ...but all data for all requests is available in
the local database
> Better resilience…
> ...and performance
How to Replicate
Data?
Database Replication
> Built into the database
> Replicate schema across database instances
> But: Microservices have separated schemas
> Every Microservice might have different data
> …so database replication is not a good fit
Replication with
Events
Events
> Later addition to Domain-driven Design
> Events with a business meaning
> Decouple time:
Asynchronous
> Decouple logic:
System can handle event as it pleases
Billing
Order
Process
CRM
Shared
Kernel
Order
Shared
Kernel
Order
Shared
Kernel
Order
Additional
data
Additional
data
Additional
data
New Order Event
Events & Data Replication
> Events lead to data replication
> i.e. each system stores information it
received in an event
> Data stored in separate schema
> Very decoupled
> Hard to repair inconsistencies
More Fun With Events
Event Sourcing
> Internal Structure for Microservice with events
> Current state result of all events
> Calculate state on the fly?
Event Queue
Event
Event
Event
Event
Handler
Event
Handler
Event
Store
Snapshot
Event Sourcing
> Event store and snapshot help to repair
inconsistencies
> Event-based architecture in microservices
CQRS
> Command – Query Responsibility Segregation
> Commands change data
> Query provide data
> Implement in separate modules
> …or even microservices
> ...with potentially different BOUNDED CONTEXTS
Commands vs Events
> Command: Change that data!
> Event: Something has happened
> Component decides if data should be
changed
Command
Queue
Command
Command
Command
Command
Handler
Query
Handler
Command
Store
Database
Batch Replication
Batch
> Get all data
> Provide API
> …to decouple schema
> Copy interesting data into local database
Billing
Order
Process
CRM
Shared
Kernel
Order
Shared
Kernel
Order
Shared
Kernel
Order
Additional
data
Additional
data
Additional
data
BatchBatch API API
Batch & Data Replication
> Easy to repair inconsistencies
> Batch run at specific points
> i.e. updates take time
> Data not consistent across microservices
CAP: Challenge for
Replication
CAP Theorem
> Consistency
> All nodes see the same data
> Availability
> Node failures do not prevent survivors
from operating
> Partition Tolerance
> System continues to operate despite
arbitrary message loss
C
P A
CAP Theorem: P
> Network partitions do occur
> Even with highly available network
hardware
> Also: very slow response = partition
> Need to deal with P
CAP Theorem: C or A?
> Node cannot access other nodes
> Might have missed updates
> A, not C:
Answer with a potentially wrong answer
> C, not A:
Don’t answer – the answer might be wrong
Billing
Order
Process
CRM
Shared
Kernel
Order
Shared
Kernel
Order
Shared
Kernel
Order
Additional
data
Additional
data
Additional
data
New Order Event
inconsistent or unavailable
Conclusion
Classic:
Centralized
Database
Microservices:
private
database
decoupling
Data Microservices:
Consistent but
resilience / performance
/ transactions / decoupling?
Database per
Microservice:
Polyglot Persistence
Schema per
Microservice:
Simple infrastructure
Redundant Data or
Bounded Context?
Batch
Database
Replication
Events
Redundancy?
Context Map and
Context Relations
Replication
CAP
Event
Sourcing
CQRS
e.g. Shared
Kernel
Decentralize data!

More Related Content

What's hot

Building & managing wa app wely
Building & managing wa app   welyBuilding & managing wa app   wely
Building & managing wa app wely
Spiffy
 
CTU June 2011 - Microsoft System Center Virtual Machine Manager 2012
CTU June 2011 - Microsoft System Center Virtual Machine Manager 2012CTU June 2011 - Microsoft System Center Virtual Machine Manager 2012
CTU June 2011 - Microsoft System Center Virtual Machine Manager 2012
Spiffy
 

What's hot (20)

Architectures and Alternatives
Architectures and AlternativesArchitectures and Alternatives
Architectures and Alternatives
 
Deployment - Done Right!
Deployment - Done Right!Deployment - Done Right!
Deployment - Done Right!
 
Microservices: Architecture to Support Agile
Microservices: Architecture to Support AgileMicroservices: Architecture to Support Agile
Microservices: Architecture to Support Agile
 
Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?
Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?
Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?
 
Self-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to MicroservicesSelf-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to Microservices
 
The Frontiers of Continuous Delivery
The Frontiers of Continuous DeliveryThe Frontiers of Continuous Delivery
The Frontiers of Continuous Delivery
 
ITPROCEED_WorkplaceMobility_Windows 10 in the enterprise
ITPROCEED_WorkplaceMobility_Windows 10 in the enterpriseITPROCEED_WorkplaceMobility_Windows 10 in the enterprise
ITPROCEED_WorkplaceMobility_Windows 10 in the enterprise
 
Microservice Architecture 101
Microservice Architecture 101Microservice Architecture 101
Microservice Architecture 101
 
Building & managing wa app wely
Building & managing wa app   welyBuilding & managing wa app   wely
Building & managing wa app wely
 
Production debugging web applications
Production debugging web applicationsProduction debugging web applications
Production debugging web applications
 
BizSpark Startup Night Windows Azure March 29, 2011
BizSpark Startup Night Windows Azure March 29, 2011BizSpark Startup Night Windows Azure March 29, 2011
BizSpark Startup Night Windows Azure March 29, 2011
 
Architecting Microservices in .Net
Architecting Microservices in .NetArchitecting Microservices in .Net
Architecting Microservices in .Net
 
Migrer vos bases Oracle vers du SQL, le tout dans Azure !
Migrer vos bases Oracle vers du SQL, le tout dans Azure !Migrer vos bases Oracle vers du SQL, le tout dans Azure !
Migrer vos bases Oracle vers du SQL, le tout dans Azure !
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic Architecture
 
ECMDay2015 - Kenny Buntinx - Tim De Keukelaere - Armoring your mobile workfor...
ECMDay2015 - Kenny Buntinx - Tim De Keukelaere - Armoring your mobile workfor...ECMDay2015 - Kenny Buntinx - Tim De Keukelaere - Armoring your mobile workfor...
ECMDay2015 - Kenny Buntinx - Tim De Keukelaere - Armoring your mobile workfor...
 
IBM Watson Work Services Development
IBM Watson Work Services DevelopmentIBM Watson Work Services Development
IBM Watson Work Services Development
 
CTU June 2011 - Microsoft System Center Virtual Machine Manager 2012
CTU June 2011 - Microsoft System Center Virtual Machine Manager 2012CTU June 2011 - Microsoft System Center Virtual Machine Manager 2012
CTU June 2011 - Microsoft System Center Virtual Machine Manager 2012
 
Large Scale Deployment of SOA-P
Large Scale Deployment of SOA-PLarge Scale Deployment of SOA-P
Large Scale Deployment of SOA-P
 
High performance java ee with j cache and cdi
High performance java ee with j cache and cdiHigh performance java ee with j cache and cdi
High performance java ee with j cache and cdi
 
SCUGBE_Lowlands_Unite_2017_1E tachyon
SCUGBE_Lowlands_Unite_2017_1E tachyonSCUGBE_Lowlands_Unite_2017_1E tachyon
SCUGBE_Lowlands_Unite_2017_1E tachyon
 

Viewers also liked

Consul: Microservice Enabling Microservices and Reactive Programming
Consul: Microservice Enabling Microservices and Reactive ProgrammingConsul: Microservice Enabling Microservices and Reactive Programming
Consul: Microservice Enabling Microservices and Reactive Programming
Rick Hightower
 

Viewers also liked (7)

How to Split Your System into Microservices
How to Split Your System into MicroservicesHow to Split Your System into Microservices
How to Split Your System into Microservices
 
Five (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous DeliveryFive (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous Delivery
 
Microservices: Architecture to scale Agile
Microservices: Architecture to scale AgileMicroservices: Architecture to scale Agile
Microservices: Architecture to scale Agile
 
WebSocket MicroService vs. REST Microservice
WebSocket MicroService vs. REST MicroserviceWebSocket MicroService vs. REST Microservice
WebSocket MicroService vs. REST Microservice
 
Consul: Microservice Enabling Microservices and Reactive Programming
Consul: Microservice Enabling Microservices and Reactive ProgrammingConsul: Microservice Enabling Microservices and Reactive Programming
Consul: Microservice Enabling Microservices and Reactive Programming
 
Microservices Technology Stack
Microservices Technology StackMicroservices Technology Stack
Microservices Technology Stack
 
REST vs. Messaging For Microservices
REST vs. Messaging For MicroservicesREST vs. Messaging For Microservices
REST vs. Messaging For Microservices
 

Similar to Data Architecturen Not Just for Microservices

SQL Azure Dec Update
SQL Azure Dec UpdateSQL Azure Dec Update
SQL Azure Dec Update
Eric Nelson
 

Similar to Data Architecturen Not Just for Microservices (20)

Big Data Expo 2015 - Vision Solutions Sharind Database Information
Big Data Expo 2015 - Vision Solutions Sharind Database InformationBig Data Expo 2015 - Vision Solutions Sharind Database Information
Big Data Expo 2015 - Vision Solutions Sharind Database Information
 
Microservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native Apps
 
Microservices using .Net core
Microservices using .Net coreMicroservices using .Net core
Microservices using .Net core
 
Future prediction-ds
Future prediction-dsFuture prediction-ds
Future prediction-ds
 
Building and deploying microservices with event sourcing, CQRS and Docker (Ha...
Building and deploying microservices with event sourcing, CQRS and Docker (Ha...Building and deploying microservices with event sourcing, CQRS and Docker (Ha...
Building and deploying microservices with event sourcing, CQRS and Docker (Ha...
 
Beyond Microservices
Beyond MicroservicesBeyond Microservices
Beyond Microservices
 
SOFTWARE COMPUTING
SOFTWARE COMPUTINGSOFTWARE COMPUTING
SOFTWARE COMPUTING
 
Building and deploying microservices with event sourcing, CQRS and Docker (QC...
Building and deploying microservices with event sourcing, CQRS and Docker (QC...Building and deploying microservices with event sourcing, CQRS and Docker (QC...
Building and deploying microservices with event sourcing, CQRS and Docker (QC...
 
ASMUG February 2015 Knowledge Event
ASMUG February 2015 Knowledge EventASMUG February 2015 Knowledge Event
ASMUG February 2015 Knowledge Event
 
Scoping for BMC Discovery (ADDM) Deployment by Traversys Limited
Scoping for BMC Discovery (ADDM) Deployment by Traversys LimitedScoping for BMC Discovery (ADDM) Deployment by Traversys Limited
Scoping for BMC Discovery (ADDM) Deployment by Traversys Limited
 
SQL Azure Overview - ericnel
SQL Azure Overview - ericnelSQL Azure Overview - ericnel
SQL Azure Overview - ericnel
 
Securing Your Enterprise Web Apps with MongoDB Enterprise
Securing Your Enterprise Web Apps with MongoDB Enterprise Securing Your Enterprise Web Apps with MongoDB Enterprise
Securing Your Enterprise Web Apps with MongoDB Enterprise
 
Technical considerations for Blockchain networks with AWS
Technical considerations for Blockchain networks with AWSTechnical considerations for Blockchain networks with AWS
Technical considerations for Blockchain networks with AWS
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps  with AzureCloud Powered Mobile Apps  with Azure
Cloud Powered Mobile Apps with Azure
 
Azure Microsoft
Azure MicrosoftAzure Microsoft
Azure Microsoft
 
Global Azure Bootcamp 2017 - Why I love S2D for MSSQL on Azure
Global Azure Bootcamp 2017 - Why I love S2D for MSSQL on AzureGlobal Azure Bootcamp 2017 - Why I love S2D for MSSQL on Azure
Global Azure Bootcamp 2017 - Why I love S2D for MSSQL on Azure
 
Microsoft Azure Technical Overview
Microsoft Azure Technical OverviewMicrosoft Azure Technical Overview
Microsoft Azure Technical Overview
 
Netserv Technology Services
Netserv Technology ServicesNetserv Technology Services
Netserv Technology Services
 
SQL Azure Dec 2010 Update
SQL Azure Dec 2010 UpdateSQL Azure Dec 2010 Update
SQL Azure Dec 2010 Update
 
SQL Azure Dec Update
SQL Azure Dec UpdateSQL Azure Dec Update
SQL Azure Dec Update
 

More from Eberhard Wolff

More from Eberhard Wolff (10)

Microservices - not just with Java
Microservices - not just with JavaMicroservices - not just with Java
Microservices - not just with Java
 
Top Legacy Sins
Top Legacy SinsTop Legacy Sins
Top Legacy Sins
 
Continuous Delivery, DevOps, Cloud - New Requirements for New Architectures
Continuous Delivery, DevOps, Cloud - New Requirements for New ArchitecturesContinuous Delivery, DevOps, Cloud - New Requirements for New Architectures
Continuous Delivery, DevOps, Cloud - New Requirements for New Architectures
 
Microservices: Architecture for Agile Software Development
Microservices: Architecture for Agile Software DevelopmentMicroservices: Architecture for Agile Software Development
Microservices: Architecture for Agile Software Development
 
Microservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring CloudMicroservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring Cloud
 
Microservice - All is Small, All is Well?
Microservice - All is Small, All is Well?Microservice - All is Small, All is Well?
Microservice - All is Small, All is Well?
 
Legacy Sins
Legacy SinsLegacy Sins
Legacy Sins
 
Microservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring CloudMicroservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring Cloud
 
NoSQL Riak MongoDB Elasticsearch - All The Same?
NoSQL Riak MongoDB Elasticsearch - All The Same?NoSQL Riak MongoDB Elasticsearch - All The Same?
NoSQL Riak MongoDB Elasticsearch - All The Same?
 
Micro Service – The New Architecture Paradigm
Micro Service – The New Architecture ParadigmMicro Service – The New Architecture Paradigm
Micro Service – The New Architecture Paradigm
 

Recently uploaded

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 

Recently uploaded (20)

%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
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-...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
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 🔝✔️✔️
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
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
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 

Data Architecturen Not Just for Microservices