SlideShare a Scribd company logo
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

ODP
Sharing Data Is Caring Data
DOCX
PPTX
Enhance Your Mobile Application with The Use of Blockchain Technology
PDF
A Security Perspective on Blockchain Use Cases
 
PPTX
XUT 2018 Blockchain - Der Use Case machts aus....
PDF
Personal data and the blockchain – how will the GDPR influence blockchain app...
PDF
Denodo DataFest 2017: The Need for Speed and Agility in Business
PDF
Legal Engineering
Sharing Data Is Caring Data
Enhance Your Mobile Application with The Use of Blockchain Technology
A Security Perspective on Blockchain Use Cases
 
XUT 2018 Blockchain - Der Use Case machts aus....
Personal data and the blockchain – how will the GDPR influence blockchain app...
Denodo DataFest 2017: The Need for Speed and Agility in Business
Legal Engineering

What's hot (20)

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

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

PPTX
Managing Data in Microservices
PPTX
Effective Microservices In a Data-centric World
PPTX
Managing Data at Scale - Microservices and Events
PDF
"Microservices Lessons Learned" talk at Voxxed Days Microservices, Paris
PDF
Data Patterns
PDF
Domain-Driven Data at the O'Reilly Software Architecture Conference
PPTX
Scaling Your Architecture with Services and Events
PPTX
How Orwell built a geo-distributed Bank-as-a-Service with microservices
PPTX
The Other Side of Linked Open Data: Managing Metadata Aggregation
PPTX
Monoliths, Migrations, and Microservices
PPTX
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...
PDF
Building a SaaS Style Application
PDF
A Microservices Journey - Susanne Kaiser
PPT
Pragmatics Driven Issues in Data and Process Integrity in Enterprises
PPTX
From Data to Services at the Speed of Business
PDF
9.Microservices+Data+Patterns (1).pdf
PDF
Implementing MongoDB at Shutterfly (Kenny Gorman)
PPTX
Discovering Microservices
PDF
Kafka Summit SF 2017 - Keynote - Managing Data at Scale: The Unreasonable Eff...
PDF
MySQL Cluster no PayPal
Managing Data in Microservices
Effective Microservices In a Data-centric World
Managing Data at Scale - Microservices and Events
"Microservices Lessons Learned" talk at Voxxed Days Microservices, Paris
Data Patterns
Domain-Driven Data at the O'Reilly Software Architecture Conference
Scaling Your Architecture with Services and Events
How Orwell built a geo-distributed Bank-as-a-Service with microservices
The Other Side of Linked Open Data: Managing Metadata Aggregation
Monoliths, Migrations, and Microservices
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...
Building a SaaS Style Application
A Microservices Journey - Susanne Kaiser
Pragmatics Driven Issues in Data and Process Integrity in Enterprises
From Data to Services at the Speed of Business
9.Microservices+Data+Patterns (1).pdf
Implementing MongoDB at Shutterfly (Kenny Gorman)
Discovering Microservices
Kafka Summit SF 2017 - Keynote - Managing Data at Scale: The Unreasonable Eff...
MySQL Cluster no PayPal
Ad

More from Alex Cachia (20)

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

Recently uploaded (20)

PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Encapsulation theory and applications.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
KodekX | Application Modernization Development
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Review of recent advances in non-invasive hemoglobin estimation
Empathic Computing: Creating Shared Understanding
Programs and apps: productivity, graphics, security and other tools
Per capita expenditure prediction using model stacking based on satellite ima...
Encapsulation theory and applications.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
NewMind AI Weekly Chronicles - August'25 Week I
KodekX | Application Modernization Development
Diabetes mellitus diagnosis method based random forest with bat algorithm
20250228 LYD VKU AI Blended-Learning.pptx
MYSQL Presentation for SQL database connectivity
Unlocking AI with Model Context Protocol (MCP)
Advanced methodologies resolving dimensionality complications for autism neur...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Spectral efficient network and resource selection model in 5G networks
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf

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

Editor's Notes

  • #3: https://tech.holidayextras.com/sharing-data-is-caring-data-f0b66f7c2f49
  • #4: 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.
  • #5: 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...
  • #6: 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.
  • #7: 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)
  • #8: 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.
  • #9: 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.
  • #10: 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.
  • #11: 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.
  • #12: 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.
  • #13: 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..
  • #14: 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.
  • #15: 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.
  • #16: Then the whole process starts again, services consuming events will change state and generate more events, more microservices. More data to report and analyse!
  • #17: 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.
  • #18: Twitter account if you want to get in touch or happy to chat later this evening.