SlideShare a Scribd company logo
1 of 68
Download to read offline
1
Building Event-Driven Services
with Apache Kafka
Ben Stopford
@benstopford
2
In this talk
1.  How we traditionally build services with
REST
2.  How Event Driven Services are different
3.  Building an Immutable, Shared Narrative.
4.  Leveraging Materialized Views.
5.  Relating to CQRS & Event Sourcing
6.  Pulling it all together
3
Companies evolve in different
ways
•  Internet companies
•  Enterprise companies
4
Internet companies typically grow
from front-facing websites.
pic
Growing fast
5
Carve pieces off
6
If stateful, they might share a DB
7
Or they might use their own
8
Over time => more complex
9
Over time => more async
(async w.r.t. user)
10
Chained blocking commands
Buffering, handling failure, backpressure, scaling etc all get
pushed into service’s responsibilities
11
The synchronous world of
request response protocols
leads to tight, point-to-point
couplings.
12
Enterprises are typically different
13
pic
Enterprise companies form as
heterogeneous application
conglomerates, often in sylos
14
The start life as independent islands
15
Linked together by files or via
messaging
pic
16
Interactions are async from day-1
pic
17
Forwarding of data gets messy:
Chinese Whispers / Telephone game
pic
18
Both these approaches often end up at
the same point, but for different
reasons
19
Data is herded into specific services
Enterprise
20
Data is herded into specific services
Data Services
Stateless
Services
Internet Co
21
Lots of Data Services
=> Distributed Join Problem
pic
This is a problem databases find hard,
and they’re highly tuned for it!
Payments Service
Orders Service
Customers Service
Client Service
performs join
22
Lots of Data Services
=> Distributed Join Problem
pic
TESTING BECOMES DIFFICULT!
Client Service
performs join
Payments Service
Orders Service
Customers Service
23
In short: the high degree of “connectedness”
makes it hard to evolve independently and to scale
24
LETS TRY
EVENT DRIVEN!
25
Interact through
Events,
Don't talk to
Services
26
This
Payments
Service
Purchase Requested Events
Listen & React to Events
Payment Completed Events
27
Not this
Service Payment
Service
http://payments/ID/42
Don’t Request/Command from individual services.
28
Let’s take an example...
29
UI
Service
Payment
Service
Stock
Service
(1) Process
Payment (2) Contact
Payment
Provider
(3) Update
stock
(4) Maybe
order more
stock
Request Response Example
30
The Event Driven Way
UI
Service
Payment
Service
Stock
Service
Payment
Provider
Maybe order
more stock
31
UI
Service
Payment
Service
Stock
Service
Payment
Provider
Kafka Topics:
(1)  Purchases
(2)  Payments
Maybe order
more stock
The Event Driven Way
32
UI
Service
Payment
Service
Stock
Service
Payment
Provider
Maybe order
more stock
New Order -> PurchaseRequested Event
Raise
PurchaseRequested
Event
33
UI
Service
Payment
Service
Stock
Service
Payment
Provider
Maybe order
more stock
Payment Service Listens In
Raise
PurchaseRequested
Event
Listen to
PurchaseRequested Events
34
UI
Service
Payment
Service
Stock
Service
Payment
Provider
Maybe order
more stock
When Complete -> PaymentProcessed
Raise
PurchaseRequested
Event
Listen to
PurchaseRequested Events
Raise
PaymentProcessed
Event
*Some might use the Command/Query Pattern
35
UI
Service
Payment
Service
Stock
Service
Payment
Provider
Maybe order
more stock
Stock service hooks in too!
Raise
PurchaseRequested
Event
Listen to
PurchaseRequested Events
Raise
PaymentProcessed
Event
Listen to
PaymentProcessed
events
36
UI
Service
Payment
Service
Stock
Service
Payment
Provider
Maybe order
more stock
Payment service listens
Raise
PurchaseRequested
Event
Listen to
PurchaseRequested Events
Raise
PaymentProcessed
Event
Listen to
PaymentProcessed
events
Listen to
PaymentProcessed
Event
37
UI
Service
Payment
Service
Stock
Service
Payment
Provider
Stock service entirely
owns its flow control
Maybe order
more stock
Flow Control is Receiver Driven
38
UI
Service
Payment
Service
Stock
Service
Quite different to Synchronous Model
Stock service flow
control owned by
payments service
39
1. Events are Immutable Facts
(state changes taken from the real world and journalled)
UI
Service
Purchases
Payments
Purchase
Requested
Payment
Completed
All the benefits of “Event Sourcing”
40
2. Services couple only to data flows
No knowledge of contributing services (RDFC)
UI
Service
Purchases
Payments
Purchase
Requested
Payment
Completed
41
Because coupling is only to Events, not
services
Purchase Requests
PurchaseRequest TopicUI
Service
Payment
Service
Stock
Service
42
The architecture is “Pluggable”
Purchase Requests
PurchaseRequest TopicUI
Service
Payment
Service
Stock
Service
Fraud
Service
43
Communication & State Concepts Merge
•  The concept of Data & Events
become one.
•  Kafka is both Event Store and
Communication Channel
44
The Events form a Canonical, Shared
Narrative
Payments
Orders
Shipments Customers
Evolving state of the system over time
45
Scaling is a concern of the broker, not
“upstream” services
Purchase Requests
PurchaseRequest TopicUI
Service
Payment
Service
Stock
Service
Fraud
Service
Kafka
•  Linearly scalable
•  Fault Tolerant
•  Multi Tennant
46
But there is something missing!
How do we look things up?
(i.e. the Q in CQRS)
•  What is the address for this customer?
•  Is this user allowed to view this stock?
•  What is the contents of this user’s shopping basket?
47
With REST Lookups are natural, if
Remote
UI
Service
Customer
Service
http://customers/ID/42
Go to the relevant service and ask!
48
Which creates the dependency problem
Many services tightly coupled to one another
49
With Event Driven we create “views” or
“projections” inside each bounded context
Projection of
data from
Outside
Context
Boundary
Shipping
Service
50
Pattern 1: Local KTables
Shipping Service
Customers
Events
Customers By ID
(saved by KStreams
using RocksDB)
Kafka
51
Pattern 1: Local KTables
Shipping Service
Customers
Events
Customers By ID
KTable customers =
builder.table(
CustomerId,
Customer,
“customers-topic”,
“customer-store”);
customers = streams.store(
"customers-store”…);
customer = customers.get(42)
52
As we’re using a streaming engine, we
can translate into any Domain Model
(projection) we wish
Domain Service
Customers
Events
Local View of
Customers
Customer
Service
Kafka
53
Combine different streams from
different services
Fraud
Service
Payment
Events
Purchase
Events
Join, filter,
transform
payments.join(“purchases”,..)
.groupByKey()
.reduce(newValueReducer, “PurcahsePaymentsStore”)
54
Pattern 1: Local KTables
•  Simple to create and query
•  Local to each service so fast
•  Powerful DSL for transformation
•  Inbuilt high availability
•  No external database
•  Controlled entirely within service’s bounded
context
•  KTable and GlobalKTable allow scale out
55
Pattern 2(a): Queryable Interface
Fraud
Service
Kafka
Fraud Service
(Creates streaming projection)
Query via Rest Interface
User Interface
Known as queryable
state in Kafka
Context
Boundary
56
Pattern 2(b): Query Service
Kafka
Bespoke View Service
(Creates streaming
projection)
Rest Interface
Fraud
Service
Context
Boundary
57
Pattern 2: Exposing Materialised
Projections
•  Similar to Pattern 1 but with a
“Query Interface” (using Kafka’s
Queryable State feature)
•  Commonly used with UI’s
58
Pattern 3: External DB
DB of choice
Kafka
Connect
APIFraud
Service
Context
Boundary
59
Pattern 3: External DB
•  Again similar, but heavier weight
•  Use when you cannot pre-compute
the view (i.e. to do ad hoc queries)
•  Trick: start with only the data
(fields) you need today. You can
always go back for more.
60
Pattern 4: Hybrid
Fraud
Service
Kafka
Rest Interface
Context
Boundary
Booking
Service
NB this breaks the async model, but can
be a useful compromise in some cases
61
Pattern 4: Hybrid
•  Quite common in practice
•  Allows you to break out of the
async world
•  Use sparingly, but do use when
appropriate (e.g. login service)
62
Benefits
•  Forms a central, immutable narrative
•  Communication Protocol and Event Store
become one
•  Better decoupling (RDFC)
•  Excellent scalability
•  Several approaches for managing queries,
lightweight => heavy weight
•  Event sourcing & CQRS at its core
63
Interact through
Events,
Don't talk to
Services
64
But it's ok to break
the rules!
65
Pulling it all together
66
All order logic
Orders-by-Customer view
(KStreams + Queryable State API)
UI ServiceStream
Maintenance
Fulfillment uses local state
store, which is replicated to a
redundant instance
UI uses Orders-by-
Customer View directly
via Queryable State
History Service pushes data to
a local Elastic Search Instance
Orders
Service
Derived
View
UI joins data
Tables & Streams
Fulfillment Service
History
Service
Fully redundant
instance
OrdersProduct Custo-
mers KTables
KTables KTables
Schemas
67
Thank You!
@benstopford
68
Discount code: kafcom17
‪Use the Apache Kafka community discount
code to get $50 off
‪www.kafka-summit.org
Kafka Summit New York: May 8
Kafka Summit San Francisco: August 28
Presented by

More Related Content

What's hot

NDC London 2017 - The Data Dichotomy- Rethinking Data and Services with Streams
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 Streams
Ben Stopford
 
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...
Kafka Summit SF 2017 - From Scaling Nightmare to Stream Dream : Real-time Str...
confluent
 

What's hot (20)

NDC London 2017 - The Data Dichotomy- Rethinking Data and Services with Streams
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 Streams
 
Strata Software Architecture NY: The Data Dichotomy
Strata Software Architecture NY: The Data DichotomyStrata Software Architecture NY: The Data Dichotomy
Strata Software Architecture NY: The Data Dichotomy
 
The Future of Streaming: Global Apps, Event Stores and Serverless
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
 
JAX London Slides
JAX London SlidesJAX London Slides
JAX London Slides
 
APAC ksqlDB Workshop
APAC ksqlDB WorkshopAPAC ksqlDB Workshop
APAC ksqlDB Workshop
 
Leveraging Microservice Architectures & Event-Driven Systems for Global APIs
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
 
A Global Source of Truth for the Microservices Generation
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
 
Building Event-Driven Services with Apache Kafka
Building Event-Driven Services with Apache KafkaBuilding Event-Driven Services with Apache Kafka
Building Event-Driven Services with Apache Kafka
 
Microservices in the Apache Kafka Ecosystem
Microservices in the Apache Kafka EcosystemMicroservices in the Apache Kafka Ecosystem
Microservices in the Apache Kafka Ecosystem
 
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...
Neha Narkhede | Kafka Summit London 2019 Keynote | Event Streaming: Our Cloud...
 
How Yelp Leapt to Microservices with More than a Message Queue
How Yelp Leapt to Microservices with More than a Message QueueHow Yelp Leapt to Microservices with More than a Message Queue
How Yelp Leapt to Microservices with More than a Message Queue
 
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...
Kafka Summit SF 2017 - From Scaling Nightmare to Stream Dream : Real-time Str...
 
user Behavior Analysis with Session Windows and Apache Kafka's Streams API
user Behavior Analysis with Session Windows and Apache Kafka's Streams APIuser Behavior Analysis with Session Windows and Apache Kafka's Streams API
user Behavior Analysis with Session Windows and Apache Kafka's Streams API
 
Hadoop made fast - Why Virtual Reality Needed Stream Processing to Survive
Hadoop made fast - Why Virtual Reality Needed Stream Processing to SurviveHadoop made fast - Why Virtual Reality Needed Stream Processing to Survive
Hadoop made fast - Why Virtual Reality Needed Stream Processing to Survive
 
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...
Jay Kreps, Confluent | Kafka Summit SF 2019 Keynote ft. Dev Tagare, Lyft + Pr...
 
Streaming Data and Stream Processing with Apache Kafka
Streaming Data and Stream Processing with Apache KafkaStreaming Data and Stream Processing with Apache Kafka
Streaming Data and Stream Processing with Apache Kafka
 
Building event-driven Microservices with Kafka Ecosystem
Building event-driven Microservices with Kafka EcosystemBuilding event-driven Microservices with Kafka Ecosystem
Building event-driven Microservices with Kafka Ecosystem
 
Data Pipelines with Apache Kafka
Data Pipelines with Apache KafkaData Pipelines with Apache Kafka
Data Pipelines with Apache Kafka
 
Etl, esb, mq? no! es Apache Kafka®
Etl, esb, mq?  no! es Apache Kafka®Etl, esb, mq?  no! es Apache Kafka®
Etl, esb, mq? no! es Apache Kafka®
 
Big Data LDN 2017: The Streaming Transformation
Big Data LDN 2017: The Streaming TransformationBig Data LDN 2017: The Streaming Transformation
Big Data LDN 2017: The Streaming Transformation
 

Similar to Event Driven Services Part 2: Building Event-Driven Services with Apache Kafka

Introducing Events and Stream Processing into Nationwide Building Society
Introducing Events and Stream Processing into Nationwide Building SocietyIntroducing Events and Stream Processing into Nationwide Building Society
Introducing Events and Stream Processing into Nationwide Building Society
confluent
 
Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)
Rick Hightower
 
From Monoliths to Microservices - A Journey With Confluent With Gayathri Veal...
From Monoliths to Microservices - A Journey With Confluent With Gayathri Veal...From Monoliths to Microservices - A Journey With Confluent With Gayathri Veal...
From Monoliths to Microservices - A Journey With Confluent With Gayathri Veal...
HostedbyConfluent
 

Similar to Event Driven Services Part 2: Building Event-Driven Services with Apache Kafka (20)

Introducing Events and Stream Processing into Nationwide Building Society (Ro...
Introducing Events and Stream Processing into Nationwide Building Society (Ro...Introducing Events and Stream Processing into Nationwide Building Society (Ro...
Introducing Events and Stream Processing into Nationwide Building Society (Ro...
 
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...
Event Driven Services Part 3: Putting the Micro into Microservices with State...
 
apidays Australia 2023 - The Playful Bond Between REST And Data Streams, Warr...
apidays Australia 2023 - The Playful Bond Between REST And Data Streams, Warr...apidays Australia 2023 - The Playful Bond Between REST And Data Streams, Warr...
apidays Australia 2023 - The Playful Bond Between REST And Data Streams, Warr...
 
The Playful Bond Between REST And Data Streams
The Playful Bond Between REST And Data StreamsThe Playful Bond Between REST And Data Streams
The Playful Bond Between REST And Data Streams
 
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
 
Introducing Events and Stream Processing into Nationwide Building Society
Introducing Events and Stream Processing into Nationwide Building SocietyIntroducing Events and Stream Processing into Nationwide Building Society
Introducing Events and Stream Processing into Nationwide Building Society
 
Event Driven Microservices architecture
Event Driven Microservices architectureEvent Driven Microservices architecture
Event Driven Microservices architecture
 
The Need of Cloud-Native Application
The Need of Cloud-Native ApplicationThe Need of Cloud-Native Application
The Need of Cloud-Native Application
 
Gluecon - Kafka and the service mesh
Gluecon - Kafka and the service meshGluecon - Kafka and the service mesh
Gluecon - Kafka and the service mesh
 
Devoxx university - Kafka de haut en bas
Devoxx university - Kafka de haut en basDevoxx university - Kafka de haut en bas
Devoxx university - Kafka de haut en bas
 
Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)
 
Message Driven and Event Sourcing
Message Driven and Event SourcingMessage Driven and Event Sourcing
Message Driven and Event Sourcing
 
From Monoliths to Microservices - A Journey With Confluent With Gayathri Veal...
From Monoliths to Microservices - A Journey With Confluent With Gayathri Veal...From Monoliths to Microservices - A Journey With Confluent With Gayathri Veal...
From Monoliths to Microservices - A Journey With Confluent With Gayathri Veal...
 
Patterns of Distributed Application Design
Patterns of Distributed Application DesignPatterns of Distributed Application Design
Patterns of Distributed Application Design
 
HOP! Airlines Jets to Real Time
HOP! Airlines Jets to Real TimeHOP! Airlines Jets to Real Time
HOP! Airlines Jets to Real Time
 
Patterns of Distributed Application Design
Patterns of Distributed Application DesignPatterns of Distributed Application Design
Patterns of Distributed Application Design
 
Kafka Summit SF 2017 - Building Event-Driven Services with Stateful Streams
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
 
Building a [micro]services platform on AWS
Building a [micro]services platform on AWSBuilding a [micro]services platform on AWS
Building a [micro]services platform on AWS
 
We are drowning in complexity—can we do better?
We are drowning in complexity—can we do better?We are drowning in complexity—can we do better?
We are drowning in complexity—can we do better?
 
Cloud-native Data
Cloud-native DataCloud-native Data
Cloud-native Data
 

More from Ben Stopford

A little bit of clojure
A little bit of clojureA little bit of clojure
A little bit of clojure
Ben Stopford
 
Big iron 2 (published)
Big iron 2 (published)Big iron 2 (published)
Big iron 2 (published)
Ben Stopford
 
The return of big iron?
The return of big iron?The return of big iron?
The return of big iron?
Ben Stopford
 
Where Does Big Data Meet Big Database - QCon 2012
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 Stopford
 
Advanced databases ben stopford
Advanced databases   ben stopfordAdvanced databases   ben stopford
Advanced databases ben stopford
Ben Stopford
 

More from Ben Stopford (17)

Event Driven Services Part 1: The Data Dichotomy
Event Driven Services Part 1: The Data Dichotomy Event Driven Services Part 1: The Data Dichotomy
Event Driven Services Part 1: The Data Dichotomy
 
The Power of the Log
The Power of the LogThe Power of the Log
The Power of the Log
 
Streaming, Database & Distributed Systems Bridging the Divide
Streaming, Database & Distributed Systems Bridging the DivideStreaming, Database & Distributed Systems Bridging the Divide
Streaming, Database & Distributed Systems Bridging the Divide
 
Microservices for a Streaming World
Microservices for a Streaming WorldMicroservices for a Streaming World
Microservices for a Streaming World
 
A little bit of clojure
A little bit of clojureA little bit of clojure
A little bit of clojure
 
Big iron 2 (published)
Big iron 2 (published)Big iron 2 (published)
Big iron 2 (published)
 
The return of big iron?
The return of big iron?The return of big iron?
The return of big iron?
 
Big Data & the Enterprise
Big Data & the EnterpriseBig Data & the Enterprise
Big Data & the Enterprise
 
Where Does Big Data Meet Big Database - QCon 2012
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
 
Advanced databases ben stopford
Advanced databases   ben stopfordAdvanced databases   ben stopford
Advanced databases ben stopford
 
Coherence Implementation Patterns - Sig Nov 2011
Coherence Implementation Patterns - Sig Nov 2011Coherence Implementation Patterns - Sig Nov 2011
Coherence Implementation Patterns - Sig Nov 2011
 
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...
A Paradigm Shift: The Increasing Dominance of Memory-Oriented Solutions for H...
 
Balancing Replication and Partitioning in a Distributed Java Database
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
 
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?
Test-Oriented Languages: Is it time for a new era?
 
Ideas for Distributing Skills Across a Continental Divide
Ideas for Distributing Skills Across a Continental DivideIdeas for Distributing Skills Across a Continental Divide
Ideas for Distributing Skills Across a Continental Divide
 
Data Grids with Oracle Coherence
Data Grids with Oracle CoherenceData Grids with Oracle Coherence
Data Grids with Oracle Coherence
 
Architecting for Change: An Agile Approach
Architecting for Change: An Agile ApproachArchitecting for Change: An Agile Approach
Architecting for Change: An Agile Approach
 

Recently uploaded

Recently uploaded (20)

Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
THE BEST IPTV in GERMANY for 2024: IPTVreel
THE BEST IPTV in  GERMANY for 2024: IPTVreelTHE BEST IPTV in  GERMANY for 2024: IPTVreel
THE BEST IPTV in GERMANY for 2024: IPTVreel
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
Connecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKConnecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAK
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty Secure
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 

Event Driven Services Part 2: Building Event-Driven Services with Apache Kafka