Devoxx London 2017 - Rethinking Services With Stateful Streams

Ben Stopford
Ben StopfordEngineer at Confluent
Rethinking Services with
Stateful Streams
Ben Stopford
@benstopford
Devoxx London 2017 - Rethinking Services With Stateful Streams
What are
microservices
really about?
GUI
UI
Service
Orders
Service
Returns
Service
Fulfilment
Service
Payment
Service
Stock
Service
Splitting the Monolith?
Single Process
/Code base
/Deployment
Many Processes
/Code bases
/Deployments
Orders
Service
Autonomy?
Orders
Service
Stock
Service
Email
Service
Fulfillment
Service
Independently
Deployable
Independently
Deployable
Independently
Deployable
Independently
Deployable
Independence is
where services get
their value
Allows Scaling
Scaling in terms of people
What happens when we grow?
Companies are inevitably a
collection of applications
They must work together to some degree
Interconnection is an
afterthought
FTP / Enterprise Messaging etc
Internal World
External world
External world
External World
External world
Service
Boundary
Services Force Us To Consider The External World
Internal World
External world
External world
External World
External world
Service
Boundary
External World is something we should Design For
Independence
comes at a cost
$$$
Orders
Object
Statement
ObjectgetOpenOrders(),
Less Surface Area = Less Coupling
Encapsulate
State
Encapsulate
Functionality
Consider Two Objects in one address space
Encapsulation => Loose Coupling
Change 1
Change 2
Redeploy
Singly-deployable
apps are easy
Orders Service Statement ServicegetOpenOrders(),
Independently Deployable Independently Deployable
Synchronized
changes are painful
Services work best
where requirements
are isolated in a single
bounded context
Single Sign On Business Serviceauthorise(),
It’s unlikely that a Business
Service would need the
internal SSO state /
function to change
Single Sign On
SSO has a tightly
bounded context
But business
services are
different
Catalog Authorisation
Most business services share the
same core datasets.
Most services
live in here
The futures of
business services
are far more
tightly intertwined.
We need encapsulation to hide
internal state. Be loosely coupled.
But we need the freedom to slice
& dice shared data like any other
dataset
But data systems
have little to do
with encapsulation
Service Database
Data on
inside
Data on
outside
Data on
inside
Data on
outside
Interface
hides data
Interface
amplifies
data
Databases amplify the data they hold
The data dichotomy
Data systems are about exposing data.
Services are about hiding it.
Microservices shouldn’t
share a database
Good Advice!
So what do we do
instead?
Service
Interface
Database
Data on
inside
Data on
outside
We wrap a database in a service
interface
One of two things
happens next
Service
Interface
Database
Either (1) we constantly add to the interface,
as datasets grow
getOpenOrders(
fulfilled=false,
deliveryLocation=CA,
orderValue=100,
operator=GreatherThan)
getOrder(Id)
getOrder(UserId)
getAllOpenOrders()
getAllOrdersUnfulfilled(Id)
getAllOrders()
(1) Services can end up looking like
kookie home-grown databases
...and DATA amplifies
this “Data-Service”
problem
(2) Give up and move whole datasets
en masse
getAllOrders()
Data Copied
Internally
Data Service Business Service
This leads to a
different problem
Data diverges over time
Orders
Service
Stock
Service
Email
Service
Fulfill-
ment
Service
The more
mutable copies,
the more data will
diverge over time
Nice neat
services
Service
contract too
limiting
Can we change
both services
together, easily?
NO
Broaden Contract
Eek $$$
NO
YES
Is it a
shared
Database?
Frack it!
Just give me
ALL the data
Data diverges.
(many different
versions of the same
facts)
Lets encapsulate
Lets centralise
to one copy
YES
Start
here
Cycle of inadequacy:
These forces compete in
the systems we build
Divergence
Accessibility
Coupling
Is there a better
way?
Two core patterns
of system design
Request Driven Event Driven
Logic
=> a set of very different architectures
Event
(widget ordered)
Query
(Get my orders)
State
change
No state
change
Request driven Event Driven
Logic
Aside: Commands, Events & Queries
Command
(order widget)
Request Driven -> highest Coupling
Commands &
Queries
Event Driven:
Interact through Events,
Don't talk to Services
Orders
Service
Bus
Event Broadcast => lowest coupling
Stream of
events
Do whatever
I like J
Very
Independent
Kafka changes things a bit
Kafka: a Streaming Platform
The Log ConnectorsConnectors
Producer Consumer
Streaming Engine
Service Backbone
Scalable, Fault Tolerant, Concurrent, Strongly Ordered, Retentive
A place to keep the
data-on-the-outside
Orders Customers
Payments
Stock
Events are the
shared dataset
Cached Views Suffice
LEAVE DATA IN KAFKA LONG TERM
-> Services only need caches
Now add Stream Processing
A machine for combining and
processing streams of events
A Query Engine inside your service
Join Filter
Aggr-
egate
View
Window
Kafka
KTable
Inbound
Stream
(Windowed)
State Store Outbound Stream
Changelog
Stream
DSL!
Built in disk overflow – A maintained cache
embedded inside your service
Your
Service
Kafka
Window / Tables Cached on disk in your Service
stream
Compacted
stream
Join
Stream Data
Stream-Tabular
Data
Domain Logic
Tables
/
Views
Kafka
Event Driven Service
Avg(o.time – p.time)
From orders, payment, user
Group by user.region
over 1 day window
emitting every second
Streams & Tables In
Streams & Tables Out
Streams
Stream Processing Engine
Table
Derived “Table”
Join & Process the outputs of many
different services
Email Service
Legacy App
Orders Payments Stock
KSTREAMS
Kafka
Two core
types of event
driven service
Type 1: Event Service
PaymentsOrders
Stock
Event Driven Service
Join outputs from
many other services
Orders
Service
Kafka
Interactive Queries API
Context
Boundary
Type 2: Query Service
So we have
shared storage in
the Log, and a
query engine
layered on top
Data Storage + Query Engine == Database?
Data lives here
KAFKA
MY SERVICE
Query lives
here
Customer
Alteration
Service
MI Fraud Fulfillment
Data lives
here
KAFKA
UI View
Queries
processed in
each service
1 x Data Storage + n x Query == Shared Database?
A Database, Inside Out
Historical
Streams
Services
embed a
view
Services
embed a
view
Services embed a view
Services embed a view
Microservices
shouldn’t share a
database
But this isn’t a
normal database
Orders
Service
Stock
Service
Kafka
Fulfilment
Service
UI
Service
Fraud
Service
Remember: Event Broadcast
has the lowest coupling
Stream of
events
Do whatever
I like J
It decentralizes
responsibility for
query processing
Orders
Service
Stock
Service
Kafka
Fulfilment
Service
UI
Service
Fraud
Service
Centralizing immutable data
doesn’t affect coupling!
Golden Copy
Do whatever
I like J
To share a database,
turn it inside out!
Shared
database
Service
Interfaces
Log-Backed
Streaming
J!
L!
Event
Broadcast
Coupling
(Autonomy)
Accessibility Integrity
(Divergence)
L!
L!
J!
J!
K!
J!
J!
J!
J!
L!L!
--------------------------- World Wide Web ---------------------------
Payment
Gateway
FinanceFulfillment
Web
Query
Web
Command
Start with an event-driven data layer,
overlay SSP to (a) process events and (b) create views
So…
Good architectures have little to do
with this:
It’s about how systems
evolves over time
Hang simple
services in a
decoupled
ecosystem
Ecosystem that embraces
shared data
Historical
Streams
Break the ties of request
driven approaches
Designing for DATA on the outside
Set your data free!
Data should be available.
Data should be under your control.
•  Broadcast events
•  Retain them in the log
•  Compose functions with a
streaming engine
•  Build views when you need to
Event Driven Services
WIRED Principals
•  Wimpy: Start simple, lightweight and fault tolerant.
•  Immutable: Build a retentive, shared narrative.
•  Reactive: Leverage Asynchronicity. Focus on the now.
•  Evolutionary: Use only the data you need today.
•  Decentralized: Receiver driven. Coordination avoiding. No
God services
References
•  Stopford: The Data Dichotomy:
https://www.confluent.io/blog/data-dichotomy-rethinking-the-way-we-treat-data-and-services/
•  Kleppmann: Turning the Database Inside Out:
https://www.confluent.io/blog/turning-the-database-inside-out-with-apache-samza/
•  Helland: Immutability Changes Everything: http://cidrdb.org/cidr2015/Papers/CIDR15_Paper16.pdf
•  Kreps: The Log:
https://engineering.linkedin.com/distributed-systems/log-what-every-software-engineer-should-
know-about-real-time-datas-unifying
•  Narkhede: Event Sourcing, CQRS & Stream Processing:
https://www.confluent.io/blog/event-sourcing-cqrs-stream-processing-apache-kafka-whats-
connection/
Twitter:
@benstopford
Blog of this talk at
http://confluent.io/blog
1 of 84

Recommended

Putting the Micro into Microservices with Stateful Stream Processing by
Putting the Micro into Microservices with Stateful Stream ProcessingPutting the Micro into Microservices with Stateful Stream Processing
Putting the Micro into Microservices with Stateful Stream Processingconfluent
2.9K views55 slides
Building Event Driven Services with Stateful Streams by
Building Event Driven Services with Stateful StreamsBuilding Event Driven Services with Stateful Streams
Building Event Driven Services with Stateful StreamsBen Stopford
5.8K views126 slides
Event Driven Services Part 2: Building Event-Driven Services with Apache Kafka by
Event Driven Services Part 2:  Building Event-Driven Services with Apache KafkaEvent Driven Services Part 2:  Building Event-Driven Services with Apache Kafka
Event Driven Services Part 2: Building Event-Driven Services with Apache KafkaBen Stopford
987 views68 slides
10 Principals for Effective Event-Driven Microservices with Apache Kafka by
10 Principals for Effective Event-Driven Microservices with Apache Kafka10 Principals for Effective Event-Driven Microservices with Apache Kafka
10 Principals for Effective Event-Driven Microservices with Apache KafkaBen Stopford
966 views91 slides
NDC London 2017 - The Data Dichotomy- Rethinking Data and Services with Streams by
NDC London 2017  - The Data Dichotomy- Rethinking Data and Services with StreamsNDC London 2017  - The Data Dichotomy- Rethinking Data and Services with Streams
NDC London 2017 - The Data Dichotomy- Rethinking Data and Services with StreamsBen Stopford
4.6K views107 slides
Strata Software Architecture NY: The Data Dichotomy by
Strata Software Architecture NY: The Data DichotomyStrata Software Architecture NY: The Data Dichotomy
Strata Software Architecture NY: The Data DichotomyBen Stopford
2.6K views82 slides

More Related Content

What's hot

Kafka Summit NYC 2017 - The Data Dichotomy: Rethinking Data and Services with... by
Kafka Summit NYC 2017 - The Data Dichotomy: Rethinking Data and Services with...Kafka Summit NYC 2017 - The Data Dichotomy: Rethinking Data and Services with...
Kafka Summit NYC 2017 - The Data Dichotomy: Rethinking Data and Services with...confluent
756 views82 slides
The Data Dichotomy- Rethinking the Way We Treat Data and Services by
The Data Dichotomy- Rethinking the Way We Treat Data and ServicesThe Data Dichotomy- Rethinking the Way We Treat Data and Services
The Data Dichotomy- Rethinking the Way We Treat Data and Servicesconfluent
2.4K views90 slides
10 Principals for Effective Event Driven Microservices by
10 Principals for Effective Event Driven Microservices10 Principals for Effective Event Driven Microservices
10 Principals for Effective Event Driven MicroservicesBen Stopford
383 views91 slides
Kafka Summit SF 2017 - From Scaling Nightmare to Stream Dream : Real-time Str... by
Kafka Summit SF 2017 - From Scaling Nightmare to Stream Dream : Real-time Str...Kafka Summit SF 2017 - From Scaling Nightmare to Stream Dream : Real-time Str...
Kafka Summit SF 2017 - From Scaling Nightmare to Stream Dream : Real-time Str...confluent
899 views58 slides
Architecting for Change: An Agile Approach by
Architecting for Change: An Agile ApproachArchitecting for Change: An Agile Approach
Architecting for Change: An Agile ApproachBen Stopford
1.7K views81 slides
Kafka Summit SF 2017 - Building Event-Driven Services with Stateful Streams by
Kafka Summit SF 2017 - Building Event-Driven Services with Stateful StreamsKafka Summit SF 2017 - Building Event-Driven Services with Stateful Streams
Kafka Summit SF 2017 - Building Event-Driven Services with Stateful Streamsconfluent
1.7K views125 slides

What's hot(20)

Kafka Summit NYC 2017 - The Data Dichotomy: Rethinking Data and Services with... by confluent
Kafka Summit NYC 2017 - The Data Dichotomy: Rethinking Data and Services with...Kafka Summit NYC 2017 - The Data Dichotomy: Rethinking Data and Services with...
Kafka Summit NYC 2017 - The Data Dichotomy: Rethinking Data and Services with...
confluent756 views
The Data Dichotomy- Rethinking the Way We Treat Data and Services by confluent
The Data Dichotomy- Rethinking the Way We Treat Data and ServicesThe Data Dichotomy- Rethinking the Way We Treat Data and Services
The Data Dichotomy- Rethinking the Way We Treat Data and Services
confluent2.4K views
10 Principals for Effective Event Driven Microservices by Ben Stopford
10 Principals for Effective Event Driven Microservices10 Principals for Effective Event Driven Microservices
10 Principals for Effective Event Driven Microservices
Ben Stopford383 views
Kafka Summit SF 2017 - From Scaling Nightmare to Stream Dream : Real-time Str... by confluent
Kafka Summit SF 2017 - From Scaling Nightmare to Stream Dream : Real-time Str...Kafka Summit SF 2017 - From Scaling Nightmare to Stream Dream : Real-time Str...
Kafka Summit SF 2017 - From Scaling Nightmare to Stream Dream : Real-time Str...
confluent899 views
Architecting for Change: An Agile Approach by Ben Stopford
Architecting for Change: An Agile ApproachArchitecting for Change: An Agile Approach
Architecting for Change: An Agile Approach
Ben Stopford1.7K views
Kafka Summit SF 2017 - Building Event-Driven Services with Stateful Streams by confluent
Kafka Summit SF 2017 - Building Event-Driven Services with Stateful StreamsKafka Summit SF 2017 - Building Event-Driven Services with Stateful Streams
Kafka Summit SF 2017 - Building Event-Driven Services with Stateful Streams
confluent1.7K views
The Future of Streaming: Global Apps, Event Stores and Serverless by Ben Stopford
The Future of Streaming: Global Apps, Event Stores and ServerlessThe Future of Streaming: Global Apps, Event Stores and Serverless
The Future of Streaming: Global Apps, Event Stores and Serverless
Ben Stopford452 views
Jay Kreps, Confluent | Kafka Summit SF 2019 Keynote ft. Dev Tagare, Lyft + Pr... by confluent
Jay Kreps, Confluent | Kafka Summit SF 2019 Keynote ft. Dev Tagare, Lyft + Pr...Jay Kreps, Confluent | Kafka Summit SF 2019 Keynote ft. Dev Tagare, Lyft + Pr...
Jay Kreps, Confluent | Kafka Summit SF 2019 Keynote ft. Dev Tagare, Lyft + Pr...
confluent1.4K views
APAC ksqlDB Workshop by confluent
APAC ksqlDB WorkshopAPAC ksqlDB Workshop
APAC ksqlDB Workshop
confluent284 views
Building event-driven Microservices with Kafka Ecosystem by Guido Schmutz
Building event-driven Microservices with Kafka EcosystemBuilding event-driven Microservices with Kafka Ecosystem
Building event-driven Microservices with Kafka Ecosystem
Guido Schmutz2.2K views
A Global Source of Truth for the Microservices Generation by Ben Stopford
A Global Source of Truth for the Microservices GenerationA Global Source of Truth for the Microservices Generation
A Global Source of Truth for the Microservices Generation
Ben Stopford1.6K views
SF big Analytics : Stream all things by Gwen Shapira @ Lyft 2018 by Chester Chen
SF big Analytics : Stream all things by Gwen Shapira @ Lyft 2018SF big Analytics : Stream all things by Gwen Shapira @ Lyft 2018
SF big Analytics : Stream all things by Gwen Shapira @ Lyft 2018
Chester Chen343 views
Microservices in the Apache Kafka Ecosystem by confluent
Microservices in the Apache Kafka EcosystemMicroservices in the Apache Kafka Ecosystem
Microservices in the Apache Kafka Ecosystem
confluent19.8K views
Neha Narkhede | Kafka Summit London 2019 Keynote | Event Streaming: Our Cloud... by confluent
Neha Narkhede | Kafka Summit London 2019 Keynote | Event Streaming: Our Cloud...Neha Narkhede | Kafka Summit London 2019 Keynote | Event Streaming: Our Cloud...
Neha Narkhede | Kafka Summit London 2019 Keynote | Event Streaming: Our Cloud...
confluent1.7K views
Jay Kreps | Kafka Summit NYC 2019 Keynote (Events Everywhere) | CEO, Confluent by confluent
Jay Kreps | Kafka Summit NYC 2019 Keynote (Events Everywhere) | CEO, ConfluentJay Kreps | Kafka Summit NYC 2019 Keynote (Events Everywhere) | CEO, Confluent
Jay Kreps | Kafka Summit NYC 2019 Keynote (Events Everywhere) | CEO, Confluent
confluent2.1K views
Building Event-Driven Services with Apache Kafka by confluent
Building Event-Driven Services with Apache KafkaBuilding Event-Driven Services with Apache Kafka
Building Event-Driven Services with Apache Kafka
confluent6.8K views
Apache Kafka and the Data Mesh | Michael Noll, Confluent by HostedbyConfluent
Apache Kafka and the Data Mesh | Michael Noll, ConfluentApache Kafka and the Data Mesh | Michael Noll, Confluent
Apache Kafka and the Data Mesh | Michael Noll, Confluent
HostedbyConfluent884 views
Jun Rao, Confluent | Kafka Summit SF 2019 Keynote ft. Chris Kasten, Walmart Labs by confluent
Jun Rao, Confluent | Kafka Summit SF 2019 Keynote ft. Chris Kasten, Walmart LabsJun Rao, Confluent | Kafka Summit SF 2019 Keynote ft. Chris Kasten, Walmart Labs
Jun Rao, Confluent | Kafka Summit SF 2019 Keynote ft. Chris Kasten, Walmart Labs
confluent2.2K views
Ingesting streaming data into Graph Database by Guido Schmutz
Ingesting streaming data into Graph DatabaseIngesting streaming data into Graph Database
Ingesting streaming data into Graph Database
Guido Schmutz2.3K views
Blockchain and Kafka - A Modern Love Story | Suhavi Sandhu, Guidewire Software by HostedbyConfluent
Blockchain and Kafka - A Modern Love Story | Suhavi Sandhu, Guidewire SoftwareBlockchain and Kafka - A Modern Love Story | Suhavi Sandhu, Guidewire Software
Blockchain and Kafka - A Modern Love Story | Suhavi Sandhu, Guidewire Software
HostedbyConfluent593 views

Similar to Devoxx London 2017 - Rethinking Services With Stateful Streams

Event Driven Services Part 1: The Data Dichotomy by
Event Driven Services Part 1: The Data Dichotomy Event Driven Services Part 1: The Data Dichotomy
Event Driven Services Part 1: The Data Dichotomy Ben Stopford
806 views90 slides
JAX London Slides by
JAX London SlidesJAX London Slides
JAX London SlidesBen Stopford
5.4K views82 slides
SOA, Microservices and Event Driven Architecture by
SOA, Microservices and Event Driven ArchitectureSOA, Microservices and Event Driven Architecture
SOA, Microservices and Event Driven ArchitectureJeppe Cramon
120 views100 slides
A Microservices Journey - Susanne Kaiser by
A Microservices Journey - Susanne KaiserA Microservices Journey - Susanne Kaiser
A Microservices Journey - Susanne KaiserThoughtworks
1.5K views45 slides
Event Driven Architecture at NDDNUG by
Event Driven Architecture at NDDNUGEvent Driven Architecture at NDDNUG
Event Driven Architecture at NDDNUGChris Patterson
1.7K views71 slides
Leveraging Microservice Architectures & Event-Driven Systems for Global APIs by
Leveraging Microservice Architectures & Event-Driven Systems for Global APIsLeveraging Microservice Architectures & Event-Driven Systems for Global APIs
Leveraging Microservice Architectures & Event-Driven Systems for Global APIsconfluent
635 views95 slides

Similar to Devoxx London 2017 - Rethinking Services With Stateful Streams(20)

Event Driven Services Part 1: The Data Dichotomy by Ben Stopford
Event Driven Services Part 1: The Data Dichotomy Event Driven Services Part 1: The Data Dichotomy
Event Driven Services Part 1: The Data Dichotomy
Ben Stopford806 views
JAX London Slides by Ben Stopford
JAX London SlidesJAX London Slides
JAX London Slides
Ben Stopford5.4K views
SOA, Microservices and Event Driven Architecture by Jeppe Cramon
SOA, Microservices and Event Driven ArchitectureSOA, Microservices and Event Driven Architecture
SOA, Microservices and Event Driven Architecture
Jeppe Cramon120 views
A Microservices Journey - Susanne Kaiser by Thoughtworks
A Microservices Journey - Susanne KaiserA Microservices Journey - Susanne Kaiser
A Microservices Journey - Susanne Kaiser
Thoughtworks1.5K views
Event Driven Architecture at NDDNUG by Chris Patterson
Event Driven Architecture at NDDNUGEvent Driven Architecture at NDDNUG
Event Driven Architecture at NDDNUG
Chris Patterson1.7K views
Leveraging Microservice Architectures & Event-Driven Systems for Global APIs by confluent
Leveraging Microservice Architectures & Event-Driven Systems for Global APIsLeveraging Microservice Architectures & Event-Driven Systems for Global APIs
Leveraging Microservice Architectures & Event-Driven Systems for Global APIs
confluent635 views
No More Hops Towards A Linearly Scalable Application Infrastructure by ConSanFrancisco123
No More Hops Towards A Linearly Scalable Application InfrastructureNo More Hops Towards A Linearly Scalable Application Infrastructure
No More Hops Towards A Linearly Scalable Application Infrastructure
ConSanFrancisco123417 views
How Cloud Changes Business Expectations by timhill2000
How Cloud Changes Business ExpectationsHow Cloud Changes Business Expectations
How Cloud Changes Business Expectations
timhill2000286 views
Jeffrey Richter by CodeFest
Jeffrey RichterJeffrey Richter
Jeffrey Richter
CodeFest1.6K views
DSR Microservices (Day 1, Part 1) by Steve Upton
DSR Microservices (Day 1, Part 1)DSR Microservices (Day 1, Part 1)
DSR Microservices (Day 1, Part 1)
Steve Upton780 views
Shattering The Monolith(s) (Martin Kess, Namely) Kafka Summit SF 2019 by confluent
Shattering The Monolith(s) (Martin Kess, Namely) Kafka Summit SF 2019 Shattering The Monolith(s) (Martin Kess, Namely) Kafka Summit SF 2019
Shattering The Monolith(s) (Martin Kess, Namely) Kafka Summit SF 2019
confluent1.2K views
Real-World Pulsar Architectural Patterns by Devin Bost
Real-World Pulsar Architectural PatternsReal-World Pulsar Architectural Patterns
Real-World Pulsar Architectural Patterns
Devin Bost695 views
Raleigh Kafka Meetup - DDD, ES, and CQRS by Jeff Dutton
Raleigh Kafka Meetup - DDD, ES, and CQRSRaleigh Kafka Meetup - DDD, ES, and CQRS
Raleigh Kafka Meetup - DDD, ES, and CQRS
Jeff Dutton113 views
Azure Functions e Azure Logics Apps: i tuoi coltellini svizzeri per gestire i... by Marco Parenzan
Azure Functions e Azure Logics Apps: i tuoi coltellini svizzeri per gestire i...Azure Functions e Azure Logics Apps: i tuoi coltellini svizzeri per gestire i...
Azure Functions e Azure Logics Apps: i tuoi coltellini svizzeri per gestire i...
Marco Parenzan93 views
Microservices with .Net - NDC Sydney, 2016 by Richard Banks
Microservices with .Net - NDC Sydney, 2016Microservices with .Net - NDC Sydney, 2016
Microservices with .Net - NDC Sydney, 2016
Richard Banks1.6K views
apidays Australia - The Playful Bond Between REST And Data Streams, Warren Ve... by apidays
apidays Australia - The Playful Bond Between REST And Data Streams, Warren Ve...apidays Australia - The Playful Bond Between REST And Data Streams, Warren Ve...
apidays Australia - The Playful Bond Between REST And Data Streams, Warren Ve...
apidays36 views
The Playful Bond Between REST And Data Streams by confluent
The Playful Bond Between REST And Data StreamsThe Playful Bond Between REST And Data Streams
The Playful Bond Between REST And Data Streams
confluent49 views

More from Ben Stopford

Event Driven Services Part 3: Putting the Micro into Microservices with State... by
Event Driven Services Part 3: Putting the Micro into Microservices with State...Event Driven Services Part 3: Putting the Micro into Microservices with State...
Event Driven Services Part 3: Putting the Micro into Microservices with State...Ben Stopford
1.1K views55 slides
The Power of the Log by
The Power of the LogThe Power of the Log
The Power of the LogBen Stopford
4.9K views71 slides
Streaming, Database & Distributed Systems Bridging the Divide by
Streaming, Database & Distributed Systems Bridging the DivideStreaming, Database & Distributed Systems Bridging the Divide
Streaming, Database & Distributed Systems Bridging the DivideBen Stopford
7.9K views82 slides
Data Pipelines with Apache Kafka by
Data Pipelines with Apache KafkaData Pipelines with Apache Kafka
Data Pipelines with Apache KafkaBen Stopford
5.1K views50 slides
Microservices for a Streaming World by
Microservices for a Streaming WorldMicroservices for a Streaming World
Microservices for a Streaming WorldBen Stopford
9.9K views138 slides
A little bit of clojure by
A little bit of clojureA little bit of clojure
A little bit of clojureBen Stopford
9.4K views22 slides

More from Ben Stopford(17)

Event Driven Services Part 3: Putting the Micro into Microservices with State... by Ben Stopford
Event Driven Services Part 3: Putting the Micro into Microservices with State...Event Driven Services Part 3: Putting the Micro into Microservices with State...
Event Driven Services Part 3: Putting the Micro into Microservices with State...
Ben Stopford1.1K views
The Power of the Log by Ben Stopford
The Power of the LogThe Power of the Log
The Power of the Log
Ben Stopford4.9K views
Streaming, Database & Distributed Systems Bridging the Divide by Ben Stopford
Streaming, Database & Distributed Systems Bridging the DivideStreaming, Database & Distributed Systems Bridging the Divide
Streaming, Database & Distributed Systems Bridging the Divide
Ben Stopford7.9K views
Data Pipelines with Apache Kafka by Ben Stopford
Data Pipelines with Apache KafkaData Pipelines with Apache Kafka
Data Pipelines with Apache Kafka
Ben Stopford5.1K views
Microservices for a Streaming World by Ben Stopford
Microservices for a Streaming WorldMicroservices for a Streaming World
Microservices for a Streaming World
Ben Stopford9.9K views
A little bit of clojure by Ben Stopford
A little bit of clojureA little bit of clojure
A little bit of clojure
Ben Stopford9.4K views
Big iron 2 (published) by Ben Stopford
Big iron 2 (published)Big iron 2 (published)
Big iron 2 (published)
Ben Stopford10.2K views
The return of big iron? by Ben Stopford
The return of big iron?The return of big iron?
The return of big iron?
Ben Stopford13.3K views
Big Data & the Enterprise by Ben Stopford
Big Data & the EnterpriseBig Data & the Enterprise
Big Data & the Enterprise
Ben Stopford13.4K views
Where Does Big Data Meet Big Database - QCon 2012 by Ben Stopford
Where Does Big Data Meet Big Database - QCon 2012Where Does Big Data Meet Big Database - QCon 2012
Where Does Big Data Meet Big Database - QCon 2012
Ben Stopford966 views
Advanced databases ben stopford by Ben Stopford
Advanced databases   ben stopfordAdvanced databases   ben stopford
Advanced databases ben stopford
Ben Stopford1.3K views
Coherence Implementation Patterns - Sig Nov 2011 by Ben Stopford
Coherence Implementation Patterns - Sig Nov 2011Coherence Implementation Patterns - Sig Nov 2011
Coherence Implementation Patterns - Sig Nov 2011
Ben Stopford7.1K views
A Paradigm Shift: The Increasing Dominance of Memory-Oriented Solutions for H... by Ben Stopford
A Paradigm Shift: The Increasing Dominance of Memory-Oriented Solutions for H...A Paradigm Shift: The Increasing Dominance of Memory-Oriented Solutions for H...
A Paradigm Shift: The Increasing Dominance of Memory-Oriented Solutions for H...
Ben Stopford5.5K views
Balancing Replication and Partitioning in a Distributed Java Database by Ben Stopford
Balancing Replication and Partitioning in a Distributed Java DatabaseBalancing Replication and Partitioning in a Distributed Java Database
Balancing Replication and Partitioning in a Distributed Java Database
Ben Stopford6.5K views
Test-Oriented Languages: Is it time for a new era? by Ben Stopford
Test-Oriented Languages: Is it time for a new era?Test-Oriented Languages: Is it time for a new era?
Test-Oriented Languages: Is it time for a new era?
Ben Stopford2.2K views
Ideas for Distributing Skills Across a Continental Divide by Ben Stopford
Ideas for Distributing Skills Across a Continental DivideIdeas for Distributing Skills Across a Continental Divide
Ideas for Distributing Skills Across a Continental Divide
Ben Stopford1.7K views
Data Grids with Oracle Coherence by Ben Stopford
Data Grids with Oracle CoherenceData Grids with Oracle Coherence
Data Grids with Oracle Coherence
Ben Stopford6.9K views

Recently uploaded

What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue by
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueShapeBlue
131 views23 slides
Kyo - Functional Scala 2023.pdf by
Kyo - Functional Scala 2023.pdfKyo - Functional Scala 2023.pdf
Kyo - Functional Scala 2023.pdfFlavio W. Brasil
434 views92 slides
NTGapps NTG LowCode Platform by
NTGapps NTG LowCode Platform NTGapps NTG LowCode Platform
NTGapps NTG LowCode Platform Mustafa Kuğu
141 views30 slides
HTTP headers that make your website go faster - devs.gent November 2023 by
HTTP headers that make your website go faster - devs.gent November 2023HTTP headers that make your website go faster - devs.gent November 2023
HTTP headers that make your website go faster - devs.gent November 2023Thijs Feryn
28 views151 slides
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ... by
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...ShapeBlue
77 views12 slides
Uni Systems for Power Platform.pptx by
Uni Systems for Power Platform.pptxUni Systems for Power Platform.pptx
Uni Systems for Power Platform.pptxUni Systems S.M.S.A.
58 views21 slides

Recently uploaded(20)

What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue by ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
ShapeBlue131 views
NTGapps NTG LowCode Platform by Mustafa Kuğu
NTGapps NTG LowCode Platform NTGapps NTG LowCode Platform
NTGapps NTG LowCode Platform
Mustafa Kuğu141 views
HTTP headers that make your website go faster - devs.gent November 2023 by Thijs Feryn
HTTP headers that make your website go faster - devs.gent November 2023HTTP headers that make your website go faster - devs.gent November 2023
HTTP headers that make your website go faster - devs.gent November 2023
Thijs Feryn28 views
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ... by ShapeBlue
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
ShapeBlue77 views
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue by ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
ShapeBlue96 views
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T by ShapeBlue
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TCloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
ShapeBlue56 views
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ... by ShapeBlue
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
ShapeBlue83 views
"Surviving highload with Node.js", Andrii Shumada by Fwdays
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada
Fwdays40 views
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by ShapeBlue
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
ShapeBlue82 views
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by Jasper Oosterveld
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
Keynote Talk: Open Source is Not Dead - Charles Schulz - Vates by ShapeBlue
Keynote Talk: Open Source is Not Dead - Charles Schulz - VatesKeynote Talk: Open Source is Not Dead - Charles Schulz - Vates
Keynote Talk: Open Source is Not Dead - Charles Schulz - Vates
ShapeBlue119 views
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit... by ShapeBlue
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
ShapeBlue57 views
Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De... by Moses Kemibaro
Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De...Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De...
Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De...
Moses Kemibaro29 views
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker50 views
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue by ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueCloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
ShapeBlue46 views

Devoxx London 2017 - Rethinking Services With Stateful Streams