SlideShare a Scribd company logo
1 of 17
Sharing Data is Caring Data
With Mark Terry
Sharing Data Is Caring Data
Is your data playing well with others?
Introduction / Motivation
 20+ years experience in the
industry
 Working at Holiday Extras
 Sharing data is not easy
 Microservices playing nice
with a data lake
 We are still learning...
The monolith
 Common in smaller organisations
 Often seen as legacy or older tech
 Unintended victims of their own success
 Serving businesses well for years
Monolithic Architecture
DatastoreApp
Monolithic Reporting
DatastoreApp
Report
Admin/ Data view
Report
Microservice Decomposition
Datastore
App
ComponentComponent
Component
Microservice
Monolithic Datastore
Datastore
App
Component
Microservice Microservice
Microservice
Operational datastores
Microservice Microservice
MicroserviceMicroservice
DB
DB
DB
DB
Generating Events
Microservice Microservice
MicroserviceMicroservice
DB
DB
DB
DB
Event
Event
Event
Event
The Rules
Booking = {
customer_id: ‘integer’,
product_ref: ‘string’,
amount: ‘integer’,
currency: ‘enum’
}
Data Processing Pipeline
Data Processing
Historical DB
Event
Event
Event
Event
Data Processing
Raw Data
Historical Data
Data Processing
Historical DB
Data Processing
Reporting
Prediction
Operational
DB loads
Event Driven System
Event
Event
Event
Event
Microservice
Microservice
Microservice
Generating Even More Events!
Microservice Microservice
MicroserviceMicroservice
DB
DB
DB
DB
Event
Event
Event
Event
Positive Data Culture
What do we need
to report on?
What state is
changing?
Which business
entities are
involved?
How do we
measure success?
Can this data be
useful to others?
What future products
could the data enable?
Questions?
@TheDumbTerminal

More Related Content

What's hot

Technology tipping points Big Data and Blockchain use case presentation
Technology tipping points Big Data and Blockchain use case presentationTechnology tipping points Big Data and Blockchain use case presentation
Technology tipping points Big Data and Blockchain use case presentationVinod Kumar Nerella
 
Towards a Post-Modern Hash Chain Future
Towards a Post-Modern Hash Chain FutureTowards a Post-Modern Hash Chain Future
Towards a Post-Modern Hash Chain FutureCasey Kuhlman
 
Wbc blockchain in manufacturing
Wbc   blockchain in manufacturingWbc   blockchain in manufacturing
Wbc blockchain in manufacturingHarish Pant
 
Application of blockchain in manufacturing industry
Application of blockchain in manufacturing industryApplication of blockchain in manufacturing industry
Application of blockchain in manufacturing industryCeline George
 
An Introduction to Blockchain Technology
An Introduction to Blockchain Technology An Introduction to Blockchain Technology
An Introduction to Blockchain Technology Niuversity
 
Overview Of Blockchain Technology And Architecture Powerpoint Presentation Sl...
Overview Of Blockchain Technology And Architecture Powerpoint Presentation Sl...Overview Of Blockchain Technology And Architecture Powerpoint Presentation Sl...
Overview Of Blockchain Technology And Architecture Powerpoint Presentation Sl...SlideTeam
 
Blockchain use cases and case studies
Blockchain use cases and case studiesBlockchain use cases and case studies
Blockchain use cases and case studiesInnoTech
 
Iata blockchain presentation icaew suisse branch
Iata blockchain presentation   icaew suisse branchIata blockchain presentation   icaew suisse branch
Iata blockchain presentation icaew suisse branchTim Moss
 
How to Apply Blockchain to Supply-Chain Management
How to Apply Blockchain to Supply-Chain ManagementHow to Apply Blockchain to Supply-Chain Management
How to Apply Blockchain to Supply-Chain ManagementFluence.sh
 
Blockchain in banking bucharest meetup
Blockchain in banking   bucharest meetupBlockchain in banking   bucharest meetup
Blockchain in banking bucharest meetupAlex Proca
 
Blockchain workshop decision tree handout
Blockchain workshop decision tree handoutBlockchain workshop decision tree handout
Blockchain workshop decision tree handoutSamantha Reynolds
 
Blockchain: Exploring the Fundamentals and Promising Potential
Blockchain: Exploring the Fundamentals and Promising Potential Blockchain: Exploring the Fundamentals and Promising Potential
Blockchain: Exploring the Fundamentals and Promising Potential InnoTech
 
“Y si tu frigo te hace la compra en el supermercado más adecuado?”
“Y si tu frigo te hace la compra en el supermercado más adecuado?”“Y si tu frigo te hace la compra en el supermercado más adecuado?”
“Y si tu frigo te hace la compra en el supermercado más adecuado?”Digital Currency Summit
 
0. dao as a token economy
0. dao as a token economy0. dao as a token economy
0. dao as a token economyAndy Martin
 
PSCU follows PCI Compliance Guidelines for Self-Service BI through Webi - SAB...
PSCU follows PCI Compliance Guidelines for Self-Service BI through Webi - SAB...PSCU follows PCI Compliance Guidelines for Self-Service BI through Webi - SAB...
PSCU follows PCI Compliance Guidelines for Self-Service BI through Webi - SAB...CCG
 
Blockchain - Closer than it Appears
Blockchain - Closer than it AppearsBlockchain - Closer than it Appears
Blockchain - Closer than it Appearssnewell4
 
Blockchain - a Catalyst for Business
Blockchain - a Catalyst for BusinessBlockchain - a Catalyst for Business
Blockchain - a Catalyst for BusinessMichael John Peña
 
Information governance and blockchain
Information governance and blockchainInformation governance and blockchain
Information governance and blockchainMetataxis
 
Blockchain in banking 2020
Blockchain in banking 2020Blockchain in banking 2020
Blockchain in banking 2020celine anderson
 
Blockchains : Risk or Mitigation?
Blockchains : Risk or Mitigation?Blockchains : Risk or Mitigation?
Blockchains : Risk or Mitigation?ITU
 

What's hot (20)

Technology tipping points Big Data and Blockchain use case presentation
Technology tipping points Big Data and Blockchain use case presentationTechnology tipping points Big Data and Blockchain use case presentation
Technology tipping points Big Data and Blockchain use case presentation
 
Towards a Post-Modern Hash Chain Future
Towards a Post-Modern Hash Chain FutureTowards a Post-Modern Hash Chain Future
Towards a Post-Modern Hash Chain Future
 
Wbc blockchain in manufacturing
Wbc   blockchain in manufacturingWbc   blockchain in manufacturing
Wbc blockchain in manufacturing
 
Application of blockchain in manufacturing industry
Application of blockchain in manufacturing industryApplication of blockchain in manufacturing industry
Application of blockchain in manufacturing industry
 
An Introduction to Blockchain Technology
An Introduction to Blockchain Technology An Introduction to Blockchain Technology
An Introduction to Blockchain Technology
 
Overview Of Blockchain Technology And Architecture Powerpoint Presentation Sl...
Overview Of Blockchain Technology And Architecture Powerpoint Presentation Sl...Overview Of Blockchain Technology And Architecture Powerpoint Presentation Sl...
Overview Of Blockchain Technology And Architecture Powerpoint Presentation Sl...
 
Blockchain use cases and case studies
Blockchain use cases and case studiesBlockchain use cases and case studies
Blockchain use cases and case studies
 
Iata blockchain presentation icaew suisse branch
Iata blockchain presentation   icaew suisse branchIata blockchain presentation   icaew suisse branch
Iata blockchain presentation icaew suisse branch
 
How to Apply Blockchain to Supply-Chain Management
How to Apply Blockchain to Supply-Chain ManagementHow to Apply Blockchain to Supply-Chain Management
How to Apply Blockchain to Supply-Chain Management
 
Blockchain in banking bucharest meetup
Blockchain in banking   bucharest meetupBlockchain in banking   bucharest meetup
Blockchain in banking bucharest meetup
 
Blockchain workshop decision tree handout
Blockchain workshop decision tree handoutBlockchain workshop decision tree handout
Blockchain workshop decision tree handout
 
Blockchain: Exploring the Fundamentals and Promising Potential
Blockchain: Exploring the Fundamentals and Promising Potential Blockchain: Exploring the Fundamentals and Promising Potential
Blockchain: Exploring the Fundamentals and Promising Potential
 
“Y si tu frigo te hace la compra en el supermercado más adecuado?”
“Y si tu frigo te hace la compra en el supermercado más adecuado?”“Y si tu frigo te hace la compra en el supermercado más adecuado?”
“Y si tu frigo te hace la compra en el supermercado más adecuado?”
 
0. dao as a token economy
0. dao as a token economy0. dao as a token economy
0. dao as a token economy
 
PSCU follows PCI Compliance Guidelines for Self-Service BI through Webi - SAB...
PSCU follows PCI Compliance Guidelines for Self-Service BI through Webi - SAB...PSCU follows PCI Compliance Guidelines for Self-Service BI through Webi - SAB...
PSCU follows PCI Compliance Guidelines for Self-Service BI through Webi - SAB...
 
Blockchain - Closer than it Appears
Blockchain - Closer than it AppearsBlockchain - Closer than it Appears
Blockchain - Closer than it Appears
 
Blockchain - a Catalyst for Business
Blockchain - a Catalyst for BusinessBlockchain - a Catalyst for Business
Blockchain - a Catalyst for Business
 
Information governance and blockchain
Information governance and blockchainInformation governance and blockchain
Information governance and blockchain
 
Blockchain in banking 2020
Blockchain in banking 2020Blockchain in banking 2020
Blockchain in banking 2020
 
Blockchains : Risk or Mitigation?
Blockchains : Risk or Mitigation?Blockchains : Risk or Mitigation?
Blockchains : Risk or Mitigation?
 

Similar to Sharing Data is Caring Data by Mark Terry (codeHarbour June 2019)

KASHTECH AND DENODO: ROI and Economic Value of Data Virtualization
KASHTECH AND DENODO: ROI and Economic Value of Data VirtualizationKASHTECH AND DENODO: ROI and Economic Value of Data Virtualization
KASHTECH AND DENODO: ROI and Economic Value of Data VirtualizationDenodo
 
Detecting Opportunities and Threats with Complex Event Processing: Case St...
Detecting Opportunities and Threats with Complex Event Processing: Case St...Detecting Opportunities and Threats with Complex Event Processing: Case St...
Detecting Opportunities and Threats with Complex Event Processing: Case St...Tim Bass
 
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...Flink Forward
 
Partena 2010.02.10
Partena 2010.02.10Partena 2010.02.10
Partena 2010.02.10lucdelanglez
 
Partena 2010.02.10
Partena 2010.02.10Partena 2010.02.10
Partena 2010.02.10lucdelanglez
 
Why Data Virtualization? An Introduction
Why Data Virtualization? An IntroductionWhy Data Virtualization? An Introduction
Why Data Virtualization? An IntroductionDenodo
 
Microsoft SQL Server 2008 R2 and BizTalk Server Presentation
Microsoft SQL Server 2008 R2 and BizTalk Server PresentationMicrosoft SQL Server 2008 R2 and BizTalk Server Presentation
Microsoft SQL Server 2008 R2 and BizTalk Server PresentationMicrosoft Private Cloud
 
Introduction to Modern Data Virtualization 2021 (APAC)
Introduction to Modern Data Virtualization 2021 (APAC)Introduction to Modern Data Virtualization 2021 (APAC)
Introduction to Modern Data Virtualization 2021 (APAC)Denodo
 
Réinventez le Data Management avec la Data Virtualization de Denodo
Réinventez le Data Management avec la Data Virtualization de DenodoRéinventez le Data Management avec la Data Virtualization de Denodo
Réinventez le Data Management avec la Data Virtualization de DenodoDenodo
 
Coin:Evolutionary and pervasive services - Digibiz'09
Coin:Evolutionary and pervasive services - Digibiz'09Coin:Evolutionary and pervasive services - Digibiz'09
Coin:Evolutionary and pervasive services - Digibiz'09Digibiz'09 Conference
 
Building Your Data Hub to Support Digital
Building Your Data Hub to Support DigitalBuilding Your Data Hub to Support Digital
Building Your Data Hub to Support DigitalDenodo
 
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...Chris Richardson
 
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...Chris Richardson
 
Complex Event Processing (CEP) for Next-Generation Security Event Management,...
Complex Event Processing (CEP) for Next-Generation Security Event Management,...Complex Event Processing (CEP) for Next-Generation Security Event Management,...
Complex Event Processing (CEP) for Next-Generation Security Event Management,...Tim Bass
 
Data Virtualization for Data Architects (New Zealand)
Data Virtualization for Data Architects (New Zealand)Data Virtualization for Data Architects (New Zealand)
Data Virtualization for Data Architects (New Zealand)Denodo
 
Developing Event-driven Microservices with Event Sourcing & CQRS (gotoams)
Developing Event-driven Microservices with Event Sourcing & CQRS (gotoams)Developing Event-driven Microservices with Event Sourcing & CQRS (gotoams)
Developing Event-driven Microservices with Event Sourcing & CQRS (gotoams)Chris Richardson
 
Denodo Data Virtualization - IT Days in Luxembourg with Oktopus
Denodo Data Virtualization - IT Days in Luxembourg with OktopusDenodo Data Virtualization - IT Days in Luxembourg with Oktopus
Denodo Data Virtualization - IT Days in Luxembourg with OktopusDenodo
 
Data Virtualization for Data Architects (Australia)
Data Virtualization for Data Architects (Australia)Data Virtualization for Data Architects (Australia)
Data Virtualization for Data Architects (Australia)Denodo
 
Transforming Financial Services with Event Streaming Data
Transforming Financial Services with Event Streaming DataTransforming Financial Services with Event Streaming Data
Transforming Financial Services with Event Streaming Dataconfluent
 
Time Difference: How Tomorrow's Companies Will Outpace Today's
Time Difference: How Tomorrow's Companies Will Outpace Today'sTime Difference: How Tomorrow's Companies Will Outpace Today's
Time Difference: How Tomorrow's Companies Will Outpace Today'sInside Analysis
 

Similar to Sharing Data is Caring Data by Mark Terry (codeHarbour June 2019) (20)

KASHTECH AND DENODO: ROI and Economic Value of Data Virtualization
KASHTECH AND DENODO: ROI and Economic Value of Data VirtualizationKASHTECH AND DENODO: ROI and Economic Value of Data Virtualization
KASHTECH AND DENODO: ROI and Economic Value of Data Virtualization
 
Detecting Opportunities and Threats with Complex Event Processing: Case St...
Detecting Opportunities and Threats with Complex Event Processing: Case St...Detecting Opportunities and Threats with Complex Event Processing: Case St...
Detecting Opportunities and Threats with Complex Event Processing: Case St...
 
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
 
Partena 2010.02.10
Partena 2010.02.10Partena 2010.02.10
Partena 2010.02.10
 
Partena 2010.02.10
Partena 2010.02.10Partena 2010.02.10
Partena 2010.02.10
 
Why Data Virtualization? An Introduction
Why Data Virtualization? An IntroductionWhy Data Virtualization? An Introduction
Why Data Virtualization? An Introduction
 
Microsoft SQL Server 2008 R2 and BizTalk Server Presentation
Microsoft SQL Server 2008 R2 and BizTalk Server PresentationMicrosoft SQL Server 2008 R2 and BizTalk Server Presentation
Microsoft SQL Server 2008 R2 and BizTalk Server Presentation
 
Introduction to Modern Data Virtualization 2021 (APAC)
Introduction to Modern Data Virtualization 2021 (APAC)Introduction to Modern Data Virtualization 2021 (APAC)
Introduction to Modern Data Virtualization 2021 (APAC)
 
Réinventez le Data Management avec la Data Virtualization de Denodo
Réinventez le Data Management avec la Data Virtualization de DenodoRéinventez le Data Management avec la Data Virtualization de Denodo
Réinventez le Data Management avec la Data Virtualization de Denodo
 
Coin:Evolutionary and pervasive services - Digibiz'09
Coin:Evolutionary and pervasive services - Digibiz'09Coin:Evolutionary and pervasive services - Digibiz'09
Coin:Evolutionary and pervasive services - Digibiz'09
 
Building Your Data Hub to Support Digital
Building Your Data Hub to Support DigitalBuilding Your Data Hub to Support Digital
Building Your Data Hub to Support Digital
 
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...
 
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...
 
Complex Event Processing (CEP) for Next-Generation Security Event Management,...
Complex Event Processing (CEP) for Next-Generation Security Event Management,...Complex Event Processing (CEP) for Next-Generation Security Event Management,...
Complex Event Processing (CEP) for Next-Generation Security Event Management,...
 
Data Virtualization for Data Architects (New Zealand)
Data Virtualization for Data Architects (New Zealand)Data Virtualization for Data Architects (New Zealand)
Data Virtualization for Data Architects (New Zealand)
 
Developing Event-driven Microservices with Event Sourcing & CQRS (gotoams)
Developing Event-driven Microservices with Event Sourcing & CQRS (gotoams)Developing Event-driven Microservices with Event Sourcing & CQRS (gotoams)
Developing Event-driven Microservices with Event Sourcing & CQRS (gotoams)
 
Denodo Data Virtualization - IT Days in Luxembourg with Oktopus
Denodo Data Virtualization - IT Days in Luxembourg with OktopusDenodo Data Virtualization - IT Days in Luxembourg with Oktopus
Denodo Data Virtualization - IT Days in Luxembourg with Oktopus
 
Data Virtualization for Data Architects (Australia)
Data Virtualization for Data Architects (Australia)Data Virtualization for Data Architects (Australia)
Data Virtualization for Data Architects (Australia)
 
Transforming Financial Services with Event Streaming Data
Transforming Financial Services with Event Streaming DataTransforming Financial Services with Event Streaming Data
Transforming Financial Services with Event Streaming Data
 
Time Difference: How Tomorrow's Companies Will Outpace Today's
Time Difference: How Tomorrow's Companies Will Outpace Today'sTime Difference: How Tomorrow's Companies Will Outpace Today's
Time Difference: How Tomorrow's Companies Will Outpace Today's
 

More from Alex Cachia

No Onions, No Tiers - An Introduction to Vertical Slice Architecture by Bill ...
No Onions, No Tiers - An Introduction to Vertical Slice Architecture by Bill ...No Onions, No Tiers - An Introduction to Vertical Slice Architecture by Bill ...
No Onions, No Tiers - An Introduction to Vertical Slice Architecture by Bill ...Alex Cachia
 
Supporting IT by David Meares
Supporting IT by David MearesSupporting IT by David Meares
Supporting IT by David MearesAlex Cachia
 
OWASP Top 10 2021 - let's take a closer look by Glenn Wilson
OWASP Top 10 2021 - let's take a closer look by Glenn WilsonOWASP Top 10 2021 - let's take a closer look by Glenn Wilson
OWASP Top 10 2021 - let's take a closer look by Glenn WilsonAlex Cachia
 
If you think open source is not for you, think again by Jane Chakravorty
If you think open source is not for you, think again by Jane ChakravortyIf you think open source is not for you, think again by Jane Chakravorty
If you think open source is not for you, think again by Jane ChakravortyAlex Cachia
 
Chaos Engineering – why we should all practice breaking things on purpose by ...
Chaos Engineering – why we should all practice breaking things on purpose by ...Chaos Engineering – why we should all practice breaking things on purpose by ...
Chaos Engineering – why we should all practice breaking things on purpose by ...Alex Cachia
 
A brief overview of the history and practice of user experience by Ian Westbrook
A brief overview of the history and practice of user experience by Ian WestbrookA brief overview of the history and practice of user experience by Ian Westbrook
A brief overview of the history and practice of user experience by Ian WestbrookAlex Cachia
 
Return the carriage, feed the line by Aaron Taylor
Return the carriage, feed the line by Aaron TaylorReturn the carriage, feed the line by Aaron Taylor
Return the carriage, feed the line by Aaron TaylorAlex Cachia
 
Treating your career path and training like leveling up in games by Raymond C...
Treating your career path and training like leveling up in games by Raymond C...Treating your career path and training like leveling up in games by Raymond C...
Treating your career path and training like leveling up in games by Raymond C...Alex Cachia
 
Digital forensics and giving evidence by Jonathan Haddock
Digital forensics and giving evidence by Jonathan Haddock Digital forensics and giving evidence by Jonathan Haddock
Digital forensics and giving evidence by Jonathan Haddock Alex Cachia
 
Software Security by Glenn Wilson
Software Security by Glenn WilsonSoftware Security by Glenn Wilson
Software Security by Glenn WilsonAlex Cachia
 
Data Preparation and the Importance of How Machines Learn by Rebecca Vickery
Data Preparation and the Importance of How Machines Learn by Rebecca VickeryData Preparation and the Importance of How Machines Learn by Rebecca Vickery
Data Preparation and the Importance of How Machines Learn by Rebecca VickeryAlex Cachia
 
Why Rust? by Edd Barrett (codeHarbour December 2019)
Why Rust? by Edd Barrett (codeHarbour December 2019)Why Rust? by Edd Barrett (codeHarbour December 2019)
Why Rust? by Edd Barrett (codeHarbour December 2019)Alex Cachia
 
Issue with tracking? Fail that build! by Steve Coppin-Smith (codeHarbour Nove...
Issue with tracking? Fail that build! by Steve Coppin-Smith (codeHarbour Nove...Issue with tracking? Fail that build! by Steve Coppin-Smith (codeHarbour Nove...
Issue with tracking? Fail that build! by Steve Coppin-Smith (codeHarbour Nove...Alex Cachia
 
Hack your voicemail with Javascript by Chris Willmott (codeHarbour October 2019)
Hack your voicemail with Javascript by Chris Willmott (codeHarbour October 2019)Hack your voicemail with Javascript by Chris Willmott (codeHarbour October 2019)
Hack your voicemail with Javascript by Chris Willmott (codeHarbour October 2019)Alex Cachia
 
Developing for Africa by Jonathan Haddock (codeHarbour October 2019)
Developing for Africa by Jonathan Haddock (codeHarbour October 2019)Developing for Africa by Jonathan Haddock (codeHarbour October 2019)
Developing for Africa by Jonathan Haddock (codeHarbour October 2019)Alex Cachia
 
Revving up with Reinforcement Learning by Ricardo Sueiras
Revving up with Reinforcement Learning by Ricardo SueirasRevving up with Reinforcement Learning by Ricardo Sueiras
Revving up with Reinforcement Learning by Ricardo SueirasAlex Cachia
 
Blockchain For Your Business by Kenneth Cox (codeHarbour July 2019)
Blockchain For Your Business by Kenneth Cox (codeHarbour July 2019)Blockchain For Your Business by Kenneth Cox (codeHarbour July 2019)
Blockchain For Your Business by Kenneth Cox (codeHarbour July 2019)Alex Cachia
 
Seeking Simplicity by Phil Nash (codeHarbour June 2019)
Seeking Simplicity by Phil Nash (codeHarbour June 2019)Seeking Simplicity by Phil Nash (codeHarbour June 2019)
Seeking Simplicity by Phil Nash (codeHarbour June 2019)Alex Cachia
 
Managing technical debt by Chris Willmott (codeHarbour April 2019)
Managing technical debt by Chris Willmott (codeHarbour April 2019)Managing technical debt by Chris Willmott (codeHarbour April 2019)
Managing technical debt by Chris Willmott (codeHarbour April 2019)Alex Cachia
 
Telephone Systems and Voice over IP by Bob Eager (codeHarbour April 2019)
Telephone Systems and Voice over IP by Bob Eager (codeHarbour April 2019)Telephone Systems and Voice over IP by Bob Eager (codeHarbour April 2019)
Telephone Systems and Voice over IP by Bob Eager (codeHarbour April 2019)Alex Cachia
 

More from Alex Cachia (20)

No Onions, No Tiers - An Introduction to Vertical Slice Architecture by Bill ...
No Onions, No Tiers - An Introduction to Vertical Slice Architecture by Bill ...No Onions, No Tiers - An Introduction to Vertical Slice Architecture by Bill ...
No Onions, No Tiers - An Introduction to Vertical Slice Architecture by Bill ...
 
Supporting IT by David Meares
Supporting IT by David MearesSupporting IT by David Meares
Supporting IT by David Meares
 
OWASP Top 10 2021 - let's take a closer look by Glenn Wilson
OWASP Top 10 2021 - let's take a closer look by Glenn WilsonOWASP Top 10 2021 - let's take a closer look by Glenn Wilson
OWASP Top 10 2021 - let's take a closer look by Glenn Wilson
 
If you think open source is not for you, think again by Jane Chakravorty
If you think open source is not for you, think again by Jane ChakravortyIf you think open source is not for you, think again by Jane Chakravorty
If you think open source is not for you, think again by Jane Chakravorty
 
Chaos Engineering – why we should all practice breaking things on purpose by ...
Chaos Engineering – why we should all practice breaking things on purpose by ...Chaos Engineering – why we should all practice breaking things on purpose by ...
Chaos Engineering – why we should all practice breaking things on purpose by ...
 
A brief overview of the history and practice of user experience by Ian Westbrook
A brief overview of the history and practice of user experience by Ian WestbrookA brief overview of the history and practice of user experience by Ian Westbrook
A brief overview of the history and practice of user experience by Ian Westbrook
 
Return the carriage, feed the line by Aaron Taylor
Return the carriage, feed the line by Aaron TaylorReturn the carriage, feed the line by Aaron Taylor
Return the carriage, feed the line by Aaron Taylor
 
Treating your career path and training like leveling up in games by Raymond C...
Treating your career path and training like leveling up in games by Raymond C...Treating your career path and training like leveling up in games by Raymond C...
Treating your career path and training like leveling up in games by Raymond C...
 
Digital forensics and giving evidence by Jonathan Haddock
Digital forensics and giving evidence by Jonathan Haddock Digital forensics and giving evidence by Jonathan Haddock
Digital forensics and giving evidence by Jonathan Haddock
 
Software Security by Glenn Wilson
Software Security by Glenn WilsonSoftware Security by Glenn Wilson
Software Security by Glenn Wilson
 
Data Preparation and the Importance of How Machines Learn by Rebecca Vickery
Data Preparation and the Importance of How Machines Learn by Rebecca VickeryData Preparation and the Importance of How Machines Learn by Rebecca Vickery
Data Preparation and the Importance of How Machines Learn by Rebecca Vickery
 
Why Rust? by Edd Barrett (codeHarbour December 2019)
Why Rust? by Edd Barrett (codeHarbour December 2019)Why Rust? by Edd Barrett (codeHarbour December 2019)
Why Rust? by Edd Barrett (codeHarbour December 2019)
 
Issue with tracking? Fail that build! by Steve Coppin-Smith (codeHarbour Nove...
Issue with tracking? Fail that build! by Steve Coppin-Smith (codeHarbour Nove...Issue with tracking? Fail that build! by Steve Coppin-Smith (codeHarbour Nove...
Issue with tracking? Fail that build! by Steve Coppin-Smith (codeHarbour Nove...
 
Hack your voicemail with Javascript by Chris Willmott (codeHarbour October 2019)
Hack your voicemail with Javascript by Chris Willmott (codeHarbour October 2019)Hack your voicemail with Javascript by Chris Willmott (codeHarbour October 2019)
Hack your voicemail with Javascript by Chris Willmott (codeHarbour October 2019)
 
Developing for Africa by Jonathan Haddock (codeHarbour October 2019)
Developing for Africa by Jonathan Haddock (codeHarbour October 2019)Developing for Africa by Jonathan Haddock (codeHarbour October 2019)
Developing for Africa by Jonathan Haddock (codeHarbour October 2019)
 
Revving up with Reinforcement Learning by Ricardo Sueiras
Revving up with Reinforcement Learning by Ricardo SueirasRevving up with Reinforcement Learning by Ricardo Sueiras
Revving up with Reinforcement Learning by Ricardo Sueiras
 
Blockchain For Your Business by Kenneth Cox (codeHarbour July 2019)
Blockchain For Your Business by Kenneth Cox (codeHarbour July 2019)Blockchain For Your Business by Kenneth Cox (codeHarbour July 2019)
Blockchain For Your Business by Kenneth Cox (codeHarbour July 2019)
 
Seeking Simplicity by Phil Nash (codeHarbour June 2019)
Seeking Simplicity by Phil Nash (codeHarbour June 2019)Seeking Simplicity by Phil Nash (codeHarbour June 2019)
Seeking Simplicity by Phil Nash (codeHarbour June 2019)
 
Managing technical debt by Chris Willmott (codeHarbour April 2019)
Managing technical debt by Chris Willmott (codeHarbour April 2019)Managing technical debt by Chris Willmott (codeHarbour April 2019)
Managing technical debt by Chris Willmott (codeHarbour April 2019)
 
Telephone Systems and Voice over IP by Bob Eager (codeHarbour April 2019)
Telephone Systems and Voice over IP by Bob Eager (codeHarbour April 2019)Telephone Systems and Voice over IP by Bob Eager (codeHarbour April 2019)
Telephone Systems and Voice over IP by Bob Eager (codeHarbour April 2019)
 

Recently uploaded

Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 

Recently uploaded (20)

Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 

Sharing Data is Caring Data by Mark Terry (codeHarbour June 2019)

Editor's Notes

  1. https://tech.holidayextras.com/sharing-data-is-caring-data-f0b66f7c2f49
  2. Hi I’m mark terry Thought I’d talk about a recent blog post about how we are sharing data at Holiday Extras between the various parts of the business and teams. Allowing us to implement a growing number of microservices and still maintain usable data warehouse. For these slide I’ll be focusing on the implementation detail of how we are currently doing this. But we are still learning here, and still making improvements in this space.
  3. So this is where we started, years ago. Much like other companies I’ve worked in. Companies spend either let them be, or spend years moving away from them, generally they work well so they are hard to just kill. Monoliths do get a fair bit of bad press, but in data terms things are ok so far...
  4. Probably the simplest diagram I’ve put on a slide. Generally monolithic apps are paired with a large datastore too. This was the case in several places I’ve worked Things are great data wise as there is a single place where engineers can store data, and no one needs to think about differing standards or schemas as it can be tightly coupled with the app. From an engineering point of view this could be seen as a negative but from a data view often the data is just appended to in whatever format is already there. Consistency wins here.
  5. Overtime this DB is also used for servicing reporting to the business and there might be some simple admin screens to give some insight into the data contained within it. Once source of truth of the business data One place to go to find the numbers. These database often creak under the strain of needing to be quick for the application but contain enough data for good reporting. (pick one)
  6. Enter the world of microservices. Often there are reasons to break a monolith down into smaller services. Those reasons are a whole other talk but mostly relate to developer experience or deployment cadence. A common pattern here is to identify components inside the larger app and move these out into their own service. The new service will still use the original datastore, to limit the amount of refactoring required at each step. This a good example of not thinking about data first.
  7. After several services are broken out of the larger app, you end up with this architecture anti-pattern, the monolithic datastore. Multiple descent services still sharing the same datastore. We had this problem at Holiday Extras. You will not be affected by it immediately but it will get you son enough. This couples the data of services together so database schema changes require complicated deploys. Services can access and update data without going through advertised interfaces of the services. Making it harder to cache and identity sources of truth.
  8. Microservices should each have their own operational datastores that is only accessible by that service. The data stored in these relate to the function that the service provides. Data might be duplicated in the different stores with tech and formats may differing. The sole access to data is via the service’s advertised interface. Operationally things are great at this point, but our precious data is locked away in many databases reporting and sharing is going to be much harder now.
  9. We go through a process of identifying what business entity a service changes and we have that service emit an event when this happens. An event is a payload describing something that has happened. For example a new customer account has been created or a booking has been made. If there are multiple services that perform similar tasks that similar events should be sent, for example having two booking systems. These events are the key to sharing business data, they serve as an abstraction layer from the implementation detail in a service.
  10. Now the hardest part of this whole process. Schema’ing! Deciding what makes up an event. When you go through this process even the smallest of points will take time. You’ll be surprised by the differences of opinion here. These discussion do pay off in the long run, its upfront pain which the engineers need to go through. But it gets easier the more schemas that are created.
  11. So what do we do with these events? Well we collect them all into a single “pipeline”. The pipeline is made up of several smaller components (microservices) to provide the features we need to use this new data in the business. In this example we are storing raw data as files and then also storing the events into a single datastore for warehousing. Other tasks could be added to the pipeline as required, redaction, segregation etc..
  12. From the data warehouse we can then add reports required by the business from a singe source. Great for compliance and makes it much easier join related data together. We can run large queries here as its completely separated from the operational space. No data is deleted, great for having large datasets for trends, and predicting customer intents.
  13. The other major feature of this approach is as you have service generating events, you can have services also consuming these events. Advantages here can include looser coupling of services and queue processing for free. Services can be built around business entities state changes rather than from current implementation details. For example send and email when we have a booking event, rather than allow our booking API to send a booking confirmation when someone books online. It makes the engineers think a bit more generic and how a new service might be useful to others. Services built for the individual team but can be used by the entire busines.
  14. Then the whole process starts again, services consuming events will change state and generate more events, more microservices. More data to report and analyse!
  15. This whole process gives us a separation of business data from the implementation detail, allowing services to be changed but data consistency remains. It makes engineers and stakeholders think about the data they need to report on or how a new service would alter business data. Data driven development can be used if going to the extreme. Some example questions shown that can help during the development process.
  16. Twitter account if you want to get in touch or happy to chat later this evening.