SlideShare a Scribd company logo
© Copyright 2019 Pivotal Software, Inc. All rights Reserved. Version 1.0
Cornelia Davis
Vice President, Technology, Pivotal
@cdavisafc
February 2019
Microservices, Events, and Breaking
the Data Monolith Webinar
Ben Stopford
Office of the CTO, Confluent
@benstopford
Cornelia
Developer (wasn’t Ops)
Web architectures for >10 years
Cloud-native for 6+ years
Cloud Foundry for 6+ years
Discount code 40% off!: 40cloudnat
https://www.manning.com/books/cloud-native
@cdavisafc
Ben Stopford
• Leads Office of the CTO team at
Confluent.
• 20 years in engineering, mostly
distributed data.
• Worked on Kafka’s replication protocol,
rebalancing, throttling.
Download book: bit.ly/benstopford
@benstopford
@cdavisafc
Where we’re
going today
Microservices Goodness
Microservices Challenges
How Event-driven Approaches Help
Why Microservices
● Scale Applications
● Scale Teams
● Independent Development Cycles
● Experimentation
● Resilience
http://highscalability.com/blog/2014/4/8/microservices-not-a-free-lunch.html
The Microservices Death-star
Assumption:
Each microservice
boasts 99.999%
availability
(and there are
100 of them)
Assumption:
The network is
reliable
Result:
Home Page
achieves
99.9%
availability
https://en.wikipedia.org/wiki/Fallacies_of_distributed_computing
How we try to add a level of resilience?
Retries
▸ Client must consider failure
▸ Decide on fall-back
behavior
▸ Likely including retries
▸ But then we need to handle
downstream consequences of
these (retry) behaviors
CLIENT
SERVICE
Timeouts?
If we don’t hear back,
try again
But…
CLIENT
SERVICE
CLIENT
CLIENT
CLIENT
▸ Client must consider failure
▸ Decide on fall-back
behavior
▸ Likely including retries
▸ But then we need to handle
downstream consequences of
these (retry) behaviors
Circuit Breakers
▸ Client must consider failure
▸ Decide on fall-back
behavior
▸ Likely including retries
▸ But then we need to handle
downstream consequences of
these (retry) behaviors
CLIENT
SERVICE
CLIENT
CLIENT
CLIENT
But then, is stale data better than no data? - often it is
▸ Client must consider failure
▸ Decide on fall-back
behavior
▸ Likely including caches
▸ But then we need to handle
things like cache expiry
SERVICE
APP
SERVICE
APP
APP
SERVICE
APP
SERVICE
APP
SERVICE
APP
And there’s more…
New LIGHTWEIGHT ARCHITECTURES are emerging
 Microservices addressing speed to market and cloud scale
Monolithic / Layered Microservices
Microservices, Events, and Breaking the Data Monolith with Kafka
Pattern: Bounded Context
● Domain-Driven Design
● Each bounded context has a single,
unified model
● Relationships between models are
explicitly defined
● A product team usually has a strong
correlation to a bounded context
● Ideal pattern for Data APIs - do not fall
into the trap of simply projecting current
data models
Pattern: Database per Service
● Supports Polyglot
persistence
● Independent availability,
backup/restore, access
patterns, etc.
Pattern: Database per Service
● Supports Polyglot
persistence
● Independent availability,
backup/restore, access
patterns, etc.
But then what about…
● Overlapping data
● Data ownership
● Data synchronization
More patterns to the rescue
Request/Response - root to leaf; Events - leaf to roots
Connections’
Posts
API
Abundant Sunshine
Your source for healthy cooking
New From Your
Network
Seasonal Favorites
! Response
" Response
# Response
$ Request
%Request
&Request
Connections
API
User:
- id
- username
- name
Connections:
- id
- follower
- followed
Posts
API
Posts:
- id
- date
- userId
- title
- body
Starting with the familiar (Root to Leaf)
%
$
!
&
"
#
Connections’
Posts
API
Abundant Sunshine
Your source for healthy cooking
New From Your
Network
Seasonal Favorites
Response
Response
Response
Request
Request
Request
Connections
API
User:
- id
- username
- name
Connections:
- id
- follower
- followed
Posts
API
Posts:
- id
- date
- userId
- title
- body
Layer in caching to improve performance
Cache
How do we handle out of data
data?
µService
Event
Consumer
µService
Event
Producer
event store
… …
Introduce a broker/event store to decouple microservices
Key Properties:
- Messaging
- Scalability/HA
- Event Storage & Replay
- Stream Processing
Connections’
Posts
API
Abundant Sunshine
Your source for healthy cooking
New From Your
Network
Seasonal Favorites
Connections
API
Posts
API
Response
Request
1
2
event store
… …
1
Turn the flow on its head (leaves to root)
1
Connection Created Event - id
- follower
- followed
1
Post Created Event - id
- date
- userId
- title
- body
Cache
(Materialized View)
When the request comes in, the
Connections’ Post service already
has the answer!
Connections’
Posts
API
Abundant Sunshine
Your source for healthy cooking
New From Your
Network
Seasonal Favorites
Connections
API
Posts
API
Response
Request
1
1
1
1
2
event store
… …
Cache is populated when things change, not on request
Materialized View
View is formed to match what we need:
“New from your Network”
Microservices, Events, and Breaking the Data Monolith with Kafka
Event Sourcing
Traditional systems use mutable state
DB
This isn’t wrong, it’s just lossy
Events record the user’s journey
Shopping Cart
Events
2 Trousers added
1 Jumper added
1 Trousers removed
1 Hat added
Checkout
Shopping Cart
Event
User
Journey
12.42
12.44
12.49
12.50
12.59
Stored as a stream Stored statefully (think DB)
12.42
12.44
12.49
12.50
12.59 Information lost!
Event
User
Journey
12.42
12.44
12.49
12.50
12.59
We can derive the current state
(but not the other way around)
DERIVE
Stream Processor
Connections’
Posts
API
Abundant Sunshine
Your source for healthy cooking
New From Your
Network
Seasonal Favorites
Connections
API
Posts
API
Response
Request
event store
… …
Our “Materialized View” is a form of Event Sourcing
View
Cache the view somewhere
convenient
Define the view in our code
Connections’
Posts
API
Abundant Sunshine
Your source for healthy cooking
New From Your
Network
Seasonal Favorites
Connections
API
Posts
API
Response
Request
event store
… …
When the applications starts it loads the cache from the log
View
Abundant Sunshine
Your source for healthy cooking
New From Your
Network
Seasonal Favorites
event store
… …
Event Store becomes the Source of Truth
Service A
Service E
C
Service D
DB
Apps
Search
NoSQL
Apps Apps
S T R E A M I N G P L A T F O R M
Service C
DB
Apps
Search
NoSQL
Apps App
DWH
Hadoop
S T R E A M I N G P L A T F O R M
C
Service B
DB
Apps
Search
NoSQL
Apps Apps
DWH
Hadoop
S T R E A M I N G P L A T F O R M
Event Streaming
Connections’
Posts
API
Abundant Sunshine
Your source for healthy cooking
New From Your
Network
Seasonal Favorites
Connections
API
Posts
API
Response
Request
event store
… …
Event Streaming
View
Recommendations
Service
1
2
Recommendation Service plugs
right into the existing flow
event store
… …
Event Streaming
Recommendations
Service
KafkaStreamsAPI
Posts
Connections
Page Views by User
Recommendation
Kafka Streams wraps up the .
solutions to these problems in a single API:
- Joins real-time streams
- Tables (from streams)
- Summarises streams
Connections’
Posts
API
Abundant Sunshine
Your source for healthy cooking
New From Your
Network
Seasonal Favorites
Connections
API
Posts
API
Response
Request
event store
… …
Event Streaming
View
Recommendations
Service
Create ‘views’ derived from
events in the log
Build event streaming services
using KStreams API
Decouple services from one
another using the event store
Summing it up…
Evolution of software systems
App AppApp App AppApp App AppApp App
AppApp App
Kafka
Monolith Distributed Monolith Microservices
Event-Driven
Microservices
Microservices
or?
AppApp App
AppApp App
Kafka
Event-Driven Microservices
AppApp App
AppApp App
Kafka
Event-Driven Microservices
AppApp App
AppApp App
AppApp App
AppApp App
Kafka
Event-Driven Microservices
Service Bindings
AppApp App
AppApp App
Kafka
Event-Driven Microservices
Service Bindings
© Copyright 2019 Pivotal Software, Inc. All rights Reserved. Version 1.0
Cornelia Davis
Vice President, Technology, Pivotal
@cdavisafc
February 2019
Microservices, Events, and Breaking
the Data Monolith Webinar
Ben Stopford
Office of the CTO, Confluent
@benstopford
Join us!
Keynote Speaker:
James Watters
Senior Vice President of Pivotal’s Product
and Business Development
Organizations 
Register now at Kafka-Summit.org, and
get a special 25% off using this
code: KSNYPivotal25

More Related Content

PPTX
New DevOps for the DBA
PDF
Which Development Metrics Should I Watch?
PPTX
Top Lessons Learned From The DevOps Handbook
PDF
Devops: A History
PPTX
DevOps 101
PPTX
The Role of Automation in the Journey to Continuous Delivery
PPTX
DevOps State of the Union 2015
PDF
Next Level DevOps Implementation with GitOps
New DevOps for the DBA
Which Development Metrics Should I Watch?
Top Lessons Learned From The DevOps Handbook
Devops: A History
DevOps 101
The Role of Automation in the Journey to Continuous Delivery
DevOps State of the Union 2015
Next Level DevOps Implementation with GitOps

What's hot (20)

PPTX
Ensuring Cloud Native Success: The Greenfield Journey
PPTX
Five Ways Automation Has Increased Application Deployment and Changed Culture
PPTX
KEYNOTE | WHAT'S COMING IN THE NEXT 10 YEARS OF DEVOPS? // ELLEN CHISA, bolds...
PDF
Drupal and Devops , the Survey Results
PPTX
The Devops Handbook
PPTX
DevOps at DreamLab
PDF
The History of DevOps (and what you need to do about it)
PDF
Agile Incident Response and Resolution in the Wold of Devops
PDF
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
PDF
Why Even DevOp?
PDF
CampDevOps keynote - DevOps: Using 'Lean' to eliminate Bottlenecks
PDF
Support and Initiate a DevOps Transformation
PPTX
My Dad Won't Buy Me DevOps
PDF
Why is dev ops essential for fintech development
PDF
Without Self-Service Operations, the Cloud is Just Expensive Hosting 2.0 - (a...
PDF
DevOps Beyond the Buzzwords: What it Means to Embrace the DevOps Lifestyle
PPTX
Database CI/CD Pipeline
PPTX
2019 Top Lessons Learned Since the Phoenix Project Was Released
PPTX
Measure Your DevOps Success: Using Goal-based KPIs to Drive Results and Demon...
PPTX
How Do We Better Sell DevOps? - PuppetConf 2013
Ensuring Cloud Native Success: The Greenfield Journey
Five Ways Automation Has Increased Application Deployment and Changed Culture
KEYNOTE | WHAT'S COMING IN THE NEXT 10 YEARS OF DEVOPS? // ELLEN CHISA, bolds...
Drupal and Devops , the Survey Results
The Devops Handbook
DevOps at DreamLab
The History of DevOps (and what you need to do about it)
Agile Incident Response and Resolution in the Wold of Devops
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
Why Even DevOp?
CampDevOps keynote - DevOps: Using 'Lean' to eliminate Bottlenecks
Support and Initiate a DevOps Transformation
My Dad Won't Buy Me DevOps
Why is dev ops essential for fintech development
Without Self-Service Operations, the Cloud is Just Expensive Hosting 2.0 - (a...
DevOps Beyond the Buzzwords: What it Means to Embrace the DevOps Lifestyle
Database CI/CD Pipeline
2019 Top Lessons Learned Since the Phoenix Project Was Released
Measure Your DevOps Success: Using Goal-based KPIs to Drive Results and Demon...
How Do We Better Sell DevOps? - PuppetConf 2013
Ad

Similar to Microservices, Events, and Breaking the Data Monolith with Kafka (20)

PDF
Achieving a Serverless Development Experience
PPTX
SQL Saturday Redmond The Power Platform
PDF
"Database isolation: how we deal with hundreds of direct connections to the d...
PDF
Simple Ways to Get Your Organization to Adopt the AsyncAPI Spec
PPTX
Netflix Edge Engineering Open House Presentations - June 9, 2016
PDF
Leveraging Microservice Architectures & Event-Driven Systems for Global APIs
PDF
Horses for Courses: Database Roundtable
PDF
apidays Australia 2023 - The Playful Bond Between REST And Data Streams, Warr...
PDF
The Playful Bond Between REST And Data Streams
PDF
Realtime Content Delivery: Powering dynamic instant experiences
PPTX
PowerApps, the Developer Story: Build an API to Integrate Corporate Data
PPTX
Creating Datadipity
PDF
Data Democracy: Journey to User-Facing Analytics - Pulsar Summit SF 2022
PPTX
AvePoint Cloud Series - When do you decide to go to Office 365?
PDF
SPS Dakar 2018 - Flow et Power Apps - Mohamed Amar Athie
PDF
Better and Faster: A Journey Toward Clean Code and Enjoyment
PDF
I Love APIs Europe 2015: Technical Sessions
PDF
Pivoting Spring XD to Spring Cloud Data Flow with Sabby Anandan
PDF
Unlocking value with event-driven architecture by Confluent
PDF
Building Event-Driven (Micro)Services with Apache Kafka
Achieving a Serverless Development Experience
SQL Saturday Redmond The Power Platform
"Database isolation: how we deal with hundreds of direct connections to the d...
Simple Ways to Get Your Organization to Adopt the AsyncAPI Spec
Netflix Edge Engineering Open House Presentations - June 9, 2016
Leveraging Microservice Architectures & Event-Driven Systems for Global APIs
Horses for Courses: Database Roundtable
apidays Australia 2023 - The Playful Bond Between REST And Data Streams, Warr...
The Playful Bond Between REST And Data Streams
Realtime Content Delivery: Powering dynamic instant experiences
PowerApps, the Developer Story: Build an API to Integrate Corporate Data
Creating Datadipity
Data Democracy: Journey to User-Facing Analytics - Pulsar Summit SF 2022
AvePoint Cloud Series - When do you decide to go to Office 365?
SPS Dakar 2018 - Flow et Power Apps - Mohamed Amar Athie
Better and Faster: A Journey Toward Clean Code and Enjoyment
I Love APIs Europe 2015: Technical Sessions
Pivoting Spring XD to Spring Cloud Data Flow with Sabby Anandan
Unlocking value with event-driven architecture by Confluent
Building Event-Driven (Micro)Services with Apache Kafka
Ad

More from VMware Tanzu (20)

PDF
Spring into AI presented by Dan Vega 5/14
PDF
What AI Means For Your Product Strategy And What To Do About It
PDF
Make the Right Thing the Obvious Thing at Cardinal Health 2023
PPTX
Enhancing DevEx and Simplifying Operations at Scale
PDF
Spring Update | July 2023
PPTX
Platforms, Platform Engineering, & Platform as a Product
PPTX
Building Cloud Ready Apps
PDF
Spring Boot 3 And Beyond
PDF
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
PDF
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
PDF
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
PPTX
tanzu_developer_connect.pptx
PDF
Tanzu Virtual Developer Connect Workshop - French
PDF
Tanzu Developer Connect Workshop - English
PDF
Virtual Developer Connect Workshop - English
PDF
Tanzu Developer Connect - French
PDF
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
PDF
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
PDF
SpringOne Tour: The Influential Software Engineer
PDF
SpringOne Tour: Domain-Driven Design: Theory vs Practice
Spring into AI presented by Dan Vega 5/14
What AI Means For Your Product Strategy And What To Do About It
Make the Right Thing the Obvious Thing at Cardinal Health 2023
Enhancing DevEx and Simplifying Operations at Scale
Spring Update | July 2023
Platforms, Platform Engineering, & Platform as a Product
Building Cloud Ready Apps
Spring Boot 3 And Beyond
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
tanzu_developer_connect.pptx
Tanzu Virtual Developer Connect Workshop - French
Tanzu Developer Connect Workshop - English
Virtual Developer Connect Workshop - English
Tanzu Developer Connect - French
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: The Influential Software Engineer
SpringOne Tour: Domain-Driven Design: Theory vs Practice

Recently uploaded (20)

PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Empathic Computing: Creating Shared Understanding
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
cuic standard and advanced reporting.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Electronic commerce courselecture one. Pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Cloud computing and distributed systems.
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
KodekX | Application Modernization Development
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Mobile App Security Testing_ A Comprehensive Guide.pdf
Chapter 3 Spatial Domain Image Processing.pdf
Spectral efficient network and resource selection model in 5G networks
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
MIND Revenue Release Quarter 2 2025 Press Release
Empathic Computing: Creating Shared Understanding
Dropbox Q2 2025 Financial Results & Investor Presentation
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
cuic standard and advanced reporting.pdf
Understanding_Digital_Forensics_Presentation.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
Electronic commerce courselecture one. Pdf
Programs and apps: productivity, graphics, security and other tools
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Cloud computing and distributed systems.
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
KodekX | Application Modernization Development
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy

Microservices, Events, and Breaking the Data Monolith with Kafka

  • 1. © Copyright 2019 Pivotal Software, Inc. All rights Reserved. Version 1.0 Cornelia Davis Vice President, Technology, Pivotal @cdavisafc February 2019 Microservices, Events, and Breaking the Data Monolith Webinar Ben Stopford Office of the CTO, Confluent @benstopford
  • 2. Cornelia Developer (wasn’t Ops) Web architectures for >10 years Cloud-native for 6+ years Cloud Foundry for 6+ years Discount code 40% off!: 40cloudnat https://www.manning.com/books/cloud-native @cdavisafc
  • 3. Ben Stopford • Leads Office of the CTO team at Confluent. • 20 years in engineering, mostly distributed data. • Worked on Kafka’s replication protocol, rebalancing, throttling. Download book: bit.ly/benstopford @benstopford
  • 4. @cdavisafc Where we’re going today Microservices Goodness Microservices Challenges How Event-driven Approaches Help
  • 5. Why Microservices ● Scale Applications ● Scale Teams ● Independent Development Cycles ● Experimentation ● Resilience
  • 8. Assumption: Each microservice boasts 99.999% availability (and there are 100 of them) Assumption: The network is reliable Result: Home Page achieves 99.9% availability https://en.wikipedia.org/wiki/Fallacies_of_distributed_computing
  • 9. How we try to add a level of resilience?
  • 10. Retries ▸ Client must consider failure ▸ Decide on fall-back behavior ▸ Likely including retries ▸ But then we need to handle downstream consequences of these (retry) behaviors CLIENT SERVICE Timeouts? If we don’t hear back, try again
  • 11. But… CLIENT SERVICE CLIENT CLIENT CLIENT ▸ Client must consider failure ▸ Decide on fall-back behavior ▸ Likely including retries ▸ But then we need to handle downstream consequences of these (retry) behaviors
  • 12. Circuit Breakers ▸ Client must consider failure ▸ Decide on fall-back behavior ▸ Likely including retries ▸ But then we need to handle downstream consequences of these (retry) behaviors CLIENT SERVICE CLIENT CLIENT CLIENT
  • 13. But then, is stale data better than no data? - often it is ▸ Client must consider failure ▸ Decide on fall-back behavior ▸ Likely including caches ▸ But then we need to handle things like cache expiry SERVICE APP SERVICE APP APP SERVICE APP SERVICE APP SERVICE APP
  • 15. New LIGHTWEIGHT ARCHITECTURES are emerging
 Microservices addressing speed to market and cloud scale Monolithic / Layered Microservices
  • 17. Pattern: Bounded Context ● Domain-Driven Design ● Each bounded context has a single, unified model ● Relationships between models are explicitly defined ● A product team usually has a strong correlation to a bounded context ● Ideal pattern for Data APIs - do not fall into the trap of simply projecting current data models
  • 18. Pattern: Database per Service ● Supports Polyglot persistence ● Independent availability, backup/restore, access patterns, etc.
  • 19. Pattern: Database per Service ● Supports Polyglot persistence ● Independent availability, backup/restore, access patterns, etc. But then what about… ● Overlapping data ● Data ownership ● Data synchronization
  • 20. More patterns to the rescue
  • 21. Request/Response - root to leaf; Events - leaf to roots
  • 22. Connections’ Posts API Abundant Sunshine Your source for healthy cooking New From Your Network Seasonal Favorites ! Response " Response # Response $ Request %Request &Request Connections API User: - id - username - name Connections: - id - follower - followed Posts API Posts: - id - date - userId - title - body Starting with the familiar (Root to Leaf)
  • 23. % $ ! & " # Connections’ Posts API Abundant Sunshine Your source for healthy cooking New From Your Network Seasonal Favorites Response Response Response Request Request Request Connections API User: - id - username - name Connections: - id - follower - followed Posts API Posts: - id - date - userId - title - body Layer in caching to improve performance Cache How do we handle out of data data?
  • 24. µService Event Consumer µService Event Producer event store … … Introduce a broker/event store to decouple microservices Key Properties: - Messaging - Scalability/HA - Event Storage & Replay - Stream Processing
  • 25. Connections’ Posts API Abundant Sunshine Your source for healthy cooking New From Your Network Seasonal Favorites Connections API Posts API Response Request 1 2 event store … … 1 Turn the flow on its head (leaves to root) 1 Connection Created Event - id - follower - followed 1 Post Created Event - id - date - userId - title - body Cache (Materialized View) When the request comes in, the Connections’ Post service already has the answer!
  • 26. Connections’ Posts API Abundant Sunshine Your source for healthy cooking New From Your Network Seasonal Favorites Connections API Posts API Response Request 1 1 1 1 2 event store … … Cache is populated when things change, not on request Materialized View View is formed to match what we need: “New from your Network”
  • 29. Traditional systems use mutable state DB This isn’t wrong, it’s just lossy
  • 30. Events record the user’s journey Shopping Cart Events 2 Trousers added 1 Jumper added 1 Trousers removed 1 Hat added Checkout Shopping Cart Event User Journey 12.42 12.44 12.49 12.50 12.59
  • 31. Stored as a stream Stored statefully (think DB) 12.42 12.44 12.49 12.50 12.59 Information lost! Event User Journey
  • 32. 12.42 12.44 12.49 12.50 12.59 We can derive the current state (but not the other way around) DERIVE Stream Processor
  • 33. Connections’ Posts API Abundant Sunshine Your source for healthy cooking New From Your Network Seasonal Favorites Connections API Posts API Response Request event store … … Our “Materialized View” is a form of Event Sourcing View Cache the view somewhere convenient Define the view in our code
  • 34. Connections’ Posts API Abundant Sunshine Your source for healthy cooking New From Your Network Seasonal Favorites Connections API Posts API Response Request event store … … When the applications starts it loads the cache from the log View
  • 35. Abundant Sunshine Your source for healthy cooking New From Your Network Seasonal Favorites event store … … Event Store becomes the Source of Truth Service A Service E C Service D DB Apps Search NoSQL Apps Apps S T R E A M I N G P L A T F O R M Service C DB Apps Search NoSQL Apps App DWH Hadoop S T R E A M I N G P L A T F O R M C Service B DB Apps Search NoSQL Apps Apps DWH Hadoop S T R E A M I N G P L A T F O R M
  • 37. Connections’ Posts API Abundant Sunshine Your source for healthy cooking New From Your Network Seasonal Favorites Connections API Posts API Response Request event store … … Event Streaming View Recommendations Service 1 2 Recommendation Service plugs right into the existing flow
  • 38. event store … … Event Streaming Recommendations Service KafkaStreamsAPI Posts Connections Page Views by User Recommendation Kafka Streams wraps up the . solutions to these problems in a single API: - Joins real-time streams - Tables (from streams) - Summarises streams
  • 39. Connections’ Posts API Abundant Sunshine Your source for healthy cooking New From Your Network Seasonal Favorites Connections API Posts API Response Request event store … … Event Streaming View Recommendations Service Create ‘views’ derived from events in the log Build event streaming services using KStreams API Decouple services from one another using the event store
  • 41. Evolution of software systems App AppApp App AppApp App AppApp App AppApp App Kafka Monolith Distributed Monolith Microservices Event-Driven Microservices Microservices or? AppApp App AppApp App
  • 45. Service Bindings AppApp App AppApp App Kafka Event-Driven Microservices Service Bindings
  • 46. © Copyright 2019 Pivotal Software, Inc. All rights Reserved. Version 1.0 Cornelia Davis Vice President, Technology, Pivotal @cdavisafc February 2019 Microservices, Events, and Breaking the Data Monolith Webinar Ben Stopford Office of the CTO, Confluent @benstopford
  • 47. Join us! Keynote Speaker: James Watters Senior Vice President of Pivotal’s Product and Business Development Organizations  Register now at Kafka-Summit.org, and get a special 25% off using this code: KSNYPivotal25