SlideShare a Scribd company logo
The Resurgence of Event Driven Architecture
Kim Clark
Integration Architect
IBM Cloud / 28th May 2020 / © 2020 IBM Corporation
Webinar: http://ibm.biz/eda-resurgence
Slides: http://ibm.biz/eda-resurgence-slides
Evolution to agile integration: Summary view
Webinar http://ibm.biz/agile-integration-webinar Webpage http://ibm.biz/agile-integration IBM Redbook http://ibm.biz/agile-integration-redbook
API Management
API ManagementIntegration
Centralized
ESB
Socialized APIs
fine-grained deployment
Decentralized
ownership & events
API & Event
Management
Creating truly independent digital applications requires
asynchronous communication as well as APIs
3IBM Cloud / Agileintegration/ Month 10, 2019 / © 2019 IBM Corporation
Microservice Application
SoR SoR SoRSoR
API
consumption
EventStream
consumption
µService
µServiceµService
µService µService
µService µServiceµService
µService Agility
Innovate rapidly
without
affecting other
components
APIs
Are simplest to use, but
create a real-time
dependency on the
underlying system of record
Truly independent, decoupled microservice components enable
To provide those benefits they need to be independent
of the systems of record
Scalability
Scale only what
you need, and
only when you
need to
Resilience
Fail fast, return
fast, without
affecting other
components
Event streams
Enable microservices to
build decoupled views of
the data and respond to
real time events
API and Event management
What does it mean to have truly a cloud-native/microservice component?
Fine-grained
components
• Self-contained well decoupled
components of an
“appropriate” size (e.g.
microservices architecture)
Strong decoupling
• Clear ownership boundaries,
formalized API and event
interfaces, component
grouping. Independent
persistence.
Minimal state
• Components are clones,
and/or can re-assign/re-
balance work. No caller
affinity, no two phase commits
Immutable deployment
• Image based deployment and
updates,
• No live configuration.
• Rollback by rolling forward to
previous image.
Infrastructure as code
• Declarative infrastructure
configuration (GitOps) at the
level of individual components.
CI/CD
• Pipeline automation (build,
test, deploy, verify) for
creation and maintenance.
Agile methods
• Short, fixed length iteration
cycles. Intrinsic business
collaboration/feedback
DevOps
• Close collaboration between
development and operations
with rapid feedback resolution
Lightweight runtimes
• Fast start up/shut down. File-
system based install,
deployment, and
configuration.
Elastic, agnostic
platform
• Platform agnostically providing
deployment, scaling, HA,
security, monitoring...
Observability
• Platform neutral logging,
tracing to streams enabling
retrospective inferred analysis
of internal state.
IBM Cloud / 28th May 2020 / © 2020 IBM Corporation
Comparing messaging and events
Stream
History
Scalable
Subscription
Fine grained
messaging
Assured
Deliveryü
Messaging
Focused on message exchange and transactions
Events (e.g. Kafka)
Focused on streaming of events
Supported
connectivity
Topics and
Subscriptions
Critical data exchange Event driven Event streaming
Strengths
IBM Cloud / © 2020 IBM Corporation
Event driven architecture
patterns that build on one another
Event stream data distribution: Event distribution with history
Event stream projections: Consumer specific data views
Event sourcing: Using an event log as a data master
CQRS: Command Query Responsibility Segregation
Event processing: Evaluating events over time
Saga: Combining multiple actions together
Supporting/related patterns:
change data capture, event connectors (source/sink), function as a service…
https://ibm-cloud-architecture.github.io/refarch-edaIBM Cloud / 28th May 2020 / © 2020 IBM Corporation
Event Log
Event streams for data distribution
External
website
application
Partner
website
application
Mobile
application
Subscribe
and
consume
Event stream
Back end
datastore
… 4 5 6 7 …
Subscribe
and
consume
Subscribe
and
consume
Publish
(change events)
IBM Cloud / 28th May 2020 / © 2020 IBM Corporation
Event Log (Topic A)
Event processing
Event
Event stream
Event
Propagator
… 42 43 44 45 46
Publish
… 4 5 6 7 8 … 172 173 174 175
Event Log (Topic B)
… 4 5 6 7
Event
processor
… 44 456 7 8 46
Event pattern matched
Subscribe
and
consume
Publish
4
5
Event processing could involve:
• Filtering
• Redaction
• Routing
• Event pattern matching
• Real-time analytics
• Machine learning model*
(training and/or using)
* Note that event processing can be
re-run over the event stream
history in order to gain new insights
as the learning improves
IBM Cloud / 28th May 2020 / © 2020 IBM Corporation
Event Log
Event stream projections
Local read-optimized datastore
External
website
application
Partner
website
application
Mobile
application
Local datastore Local datastore Local datastore
Subscribe
and
consume
Direct invocation
Event stream
Back end
datastore
… 4 5 6 7 …
Subscribe
and
consume
Subscribe
and
consume
Publish
(change events)
IBM Cloud / 28th May 2020 / © 2020 IBM Corporation
Event sourcing
Local “event sourced”
read-optimized datastore
Read
implementation
A
Read
implementation
B
Local datastore Local datastore
Subscribe
and
consume
Direct invocation
Event streamSubscribe
and
consume
“Event Sourced” implies the use of an
event log as the primary datastore
Application/Context
boundary
Event Log
… 4 5 6 7 …
Command
implementation
COMMAND
QUERY
Exposed API
, and CQRS
IBM Cloud / 28th May 2020 / © 2020 IBM Corporation
Event sourcing/CQRS within a bounded context
vs (inter) domain events
CQRS and Event Sourcing patterns are typically scoped to
within a bounded context. From outside the context, the event
sourced nature of the implementation should be hidden.
Bounded Context
Event Log
COMMAND
QUERY
Bounded Context
Only selected events (and for that matter APIs) should
be exposed across bounded contexts. Their data models
should be decoupled from the internal model.
Internal
events
(inter) domain events
API & Event Management
IBM Cloud / 28th May 2020 / © 2020 IBM Corporation
CQRS at different scopes
These two diagrams represent the same logical pattern,
but have radically different implementations
Logical component
boundary
Event
Log
Event
Processing
Command
Processing
API Management
API
In an enterprise scope, the same pattern often exists
but is broken up across multiple different sub-systems,
integration specialists would recognize these as
enterprise integration patterns. Is this still CQRS?
Search
& Read
Event
Log
Read
Datastore
Event
Consumptio
n
Command
Processing
APIM
API
Datastore
Events
Command
Store
APIM
API
Command
Forwarding
API
In an application scope, application developers would
consider this pattern part of their application design
(and perhaps call it CQRS).
APIM
Search
& Read
Read
Datastore
Consumer
specific
projection
(event-fed read-
optimized view)
Consumer specific
store-forward
pattern to improve
availability and
performance of
updates
Existing back end
system exposed as
managed APIs.
Fire-forget updates
Enabled to emit
data change
events
Internal
events
Cross
boundary
events
Cross
boundary
API
Event
Processing
IBM Cloud / 28th May 2020 / © 2020 IBM Corporation
asynchronous(messaging,events,…)
trad. on premisescloud platform
cloud platformcloud platform
private cloudSaaS platform
iPaaS/iSaaS
SaaS platform
cloud platform cloud platform
The asynchronous backplane (messaging, events)
The asynchronous backplane provides reliable message/event storage and a
distribution network that can traverse application and cloud boundaries robustly.
13
Example of complementary use of messaging and events
Event Log
Event Log
Replication
Cloud
On-Premise
Data
Warehouse
/ Lake
App App
App App App
SaaS
SaaS
SaaS
App
App
App
App
Messaging
Store
Messaging
Device Device Device
App
Messaging
Store
Messaging
Device Device Device
App
Store
Messaging
Device Device Device
App
Messaging
Event Log
Integration Engine
Messaging Provider
Event Log
API Management
App
Application
App
App
App
App
Microservice
application
Messaging
network
Saga Pattern: Orchestration vs Choreography
Orchestrated interactions (orchestration)
Pros
First class notion of “process”
Modelled process visible in implementation
Monitoring/reporting at process level
Process version migration options
Clearer modelling of exception paths
Cons
Higher CPU/network due to persistence
Solution split between layers
Chained interactions (choreography)
Pros
Higher performance due to minimal persistence
Can be implemented entirely in the integration layer
Cons
No notion of “process”, only the individual steps
Process “model” not visible in implementation
Custom work for effective monitoring/reporting
Exception paths harder to understand
Complex to migrate to new processes
Queued events holding stateOrchestration state persistence
https://microservices.io/patterns/data/saga.html
IBM Cloud / 28th May 2020 / © 2020 IBM Corporation
Microservice
component
Microservice
component
Microservice
component
Microservice
component
Microservice
component
Microservice
component
Events within the application boundary
MongoDB Redis
SaaS SaaS
Blockchain
replica
ML model
enterprise applications
Internet
Of
Things
SaaS
Application
Boundary
Event
broker
IBM Cloud / 28th May 2020 / © 2020 IBM Corporation
API Management
Microservice
component
Microservice
component
Microservice
component
Microservice
component
Microservice
component
Microservice
component
Events within and beyond the application boundary
MongoDB Redis
SaaS SaaS
Blockchain
replica
ML model
enterprise applications
Internet
Of
Things
SaaS
Application
Boundary API Management
Event
broker
Event Management?
Event broker
IBM Cloud / 28th May 2020 / © 2020 IBM Corporation
The maturing space of event stream management
Easily found,
quickly consumed
• Described
• Catalogued and
discoverable
• Policy controlled
access
Completely
De-coupled
• Self-service
consumption
• No technology ties
between provider
and consumers
• No operational ties
Consumed
reliably
• Consumption
options suitable for
many application
types
• Replay history,
durable subs,
horizontal scale
Delivered in time
to be useful
• Latency measured
in seconds not
minutes
• Delivered rather
than polled
IBM Integration / © 2020 IBM Corporation 18
Event Distribution Event Stream Management
On premises
A target high level architecture for enterprise integration in 2020
Systems of
Record
Systems of
Engagement
Mobile Partners
API
Economy IoT
SaaS
SaaS
SaaS
SaaS
IaaS
PaaS
PaaS PaaS
SaaS
Cloud platform
• SaaS = Software as a service
• PaaS = Platform as a service
• IaaS = Infrastructure as a service
Polyglot (e.g. microservice application)
• Language runtimes
• Specialist runtimes (e.g. integration)
Exposure points
• APIs
• Events
Key features
• Technology layering has been removed.
• Grouping is based on business
domains/functions
• Applications are self-contained, including their
integration needs.
• Events have become more a first class citizen
rather than just a transport
• Well defined application boundaries, breached
only by governed APIs and Events
• Cloud platform type (IaaS/PaaS etc.) is hidden
when looking from the outside of an
application.
• Architecture balances isolation (decoupling),
and interaction (defined interfaces).
Caveats
• Represents an idealized target integration
architecture. Most organizations do not have
this level of clarity in the separations of their
applications.
• Describes how the things within the enterprise
communicate with one another. It does not
show the enterprise in the context of its broader
ecosystem (e.g. with partners).
IBM Cloud / 28th May 2020 / © 2020 IBM Corporation
IBM Cloud / © 2020 IBM Corporation
This webinar
Resurgence of event driven architecture
ibm.biz/eda-resurgence
http://ibm.biz/eda-resurgence-slides
Learn more
Agile integration
http://ibm.biz/agile-integration-webinar
ibm.com/cloud/integration/agile-integration
Convergence of application and integration development
ibm.biz/agile-integration-convergence
ibm.biz/agile-integration-convergence-pdf
Thank you!
IBM Cloud / 28th May 2020 / © 2020 IBM Corporation

More Related Content

What's hot (20)

PDF
OpenShift 4, the smarter Kubernetes platform
Kangaroot
 
PDF
Kubernetes Basics
Eueung Mulyana
 
PDF
Kubernetes - A Comprehensive Overview
Bob Killen
 
PDF
AWS 클라우드 핵심 서비스로 클라우드 기반 아키텍처 빠르게 구성하기 - 문종민 솔루션즈 아키텍트, AWS :: AWS Summit Seo...
Amazon Web Services Korea
 
PPTX
Zero Human Touch Networks
Dr. Kim (Kyllesbech Larsen)
 
PDF
Introduction to Kubernetes Workshop
Bob Killen
 
PDF
VMware HCI solutions - 2020-01-16
David Pasek
 
PPTX
AWS Well Architected Framework - Walk Through
Kaushik Mohanraj
 
PDF
The evolving story for Agile Integration Architecture in 2019
Kim Clark
 
PPTX
Amazon EKS Deep Dive
Andrzej Komarnicki
 
PDF
K8s cluster autoscaler
k8s study
 
PPSX
Docker Kubernetes Istio
Araf Karsh Hamid
 
PDF
Amazon SageMaker 모델 배포 방법 소개::김대근, AI/ML 스페셜리스트 솔루션즈 아키텍트, AWS::AWS AIML 스페셜 웨비나
Amazon Web Services Korea
 
PDF
삼성전자 5G Core CNF를 위한 클라우드 여정 이야기 - 최우형 AWS 솔루션즈 아키텍트 / 구동영 프로, 삼성전자 :: AWS Su...
Amazon Web Services Korea
 
PPTX
Well Architected Framework - Data
Craig Milroy
 
PDF
Accelerate Application Innovation Journey with Azure Kubernetes Service
WinWire Technologies Inc
 
PDF
Building Kubernetes images at scale with Tanzu Build Service
VMware Tanzu
 
PDF
Api gateway
enyert
 
PPTX
AWS IAM and security
Erik Paulsson
 
PDF
IBM MQ cloud architecture blueprint
Matt Roberts
 
OpenShift 4, the smarter Kubernetes platform
Kangaroot
 
Kubernetes Basics
Eueung Mulyana
 
Kubernetes - A Comprehensive Overview
Bob Killen
 
AWS 클라우드 핵심 서비스로 클라우드 기반 아키텍처 빠르게 구성하기 - 문종민 솔루션즈 아키텍트, AWS :: AWS Summit Seo...
Amazon Web Services Korea
 
Zero Human Touch Networks
Dr. Kim (Kyllesbech Larsen)
 
Introduction to Kubernetes Workshop
Bob Killen
 
VMware HCI solutions - 2020-01-16
David Pasek
 
AWS Well Architected Framework - Walk Through
Kaushik Mohanraj
 
The evolving story for Agile Integration Architecture in 2019
Kim Clark
 
Amazon EKS Deep Dive
Andrzej Komarnicki
 
K8s cluster autoscaler
k8s study
 
Docker Kubernetes Istio
Araf Karsh Hamid
 
Amazon SageMaker 모델 배포 방법 소개::김대근, AI/ML 스페셜리스트 솔루션즈 아키텍트, AWS::AWS AIML 스페셜 웨비나
Amazon Web Services Korea
 
삼성전자 5G Core CNF를 위한 클라우드 여정 이야기 - 최우형 AWS 솔루션즈 아키텍트 / 구동영 프로, 삼성전자 :: AWS Su...
Amazon Web Services Korea
 
Well Architected Framework - Data
Craig Milroy
 
Accelerate Application Innovation Journey with Azure Kubernetes Service
WinWire Technologies Inc
 
Building Kubernetes images at scale with Tanzu Build Service
VMware Tanzu
 
Api gateway
enyert
 
AWS IAM and security
Erik Paulsson
 
IBM MQ cloud architecture blueprint
Matt Roberts
 

Similar to The resurgence of event driven architecture (20)

PPTX
Event-driven microservices
Andrew Schofield
 
PDF
An eventful tour from enterprise integration to serverless and functions
Christian Posta
 
PDF
apidays LIVE Australia 2020 - Events are Cool Again! by Nelson Petracek
apidays
 
PDF
#hacksummit 2016 - event-driven microservices – Events on the outside, on the...
Chris Richardson
 
PDF
Microservices, containers and event driven architecture - key factors in agil...
Judy Breedlove
 
PPTX
Microservices, containers and event driven architecture - key factors in agil...
Judy Breedlove
 
PDF
Microservices, containers and event driven architecture - key factors in agil...
Judy Breedlove
 
PPTX
Event mesh api meetup AsyncAPI Singapore
Phil Scanlon
 
PPTX
Events & Microservices
Yamen Sader
 
PPTX
Brown bag eventdrivenmicroservices-cqrs
Vikash Kodati
 
PDF
Enabling a Real-Time, Agile, Event-Driven Enterprise
Solace
 
PDF
Building an Enterprise Eventing Framework (Bryan Zelle, Centene; Neil Buesing...
confluent
 
PDF
Building Event Driven Systems
WSO2
 
PPTX
apidays LIVE Jakarta - Building an Event-Driven Architecture by Harin Honesty...
apidays
 
PDF
Event Mesh Presentation at Gartner AADI Mumbai
Solace
 
KEY
Event Driven Architecture at NDDNUG
Chris Patterson
 
PDF
Explained: Domain events
João Pires
 
PDF
Events and microservices
Saul Caganoff
 
PDF
Events on the outside, on the inside and at the core (jaxlondon)
Chris Richardson
 
PDF
Events on the outside, on the inside and at the core - Chris Richardson
JAXLondon_Conference
 
Event-driven microservices
Andrew Schofield
 
An eventful tour from enterprise integration to serverless and functions
Christian Posta
 
apidays LIVE Australia 2020 - Events are Cool Again! by Nelson Petracek
apidays
 
#hacksummit 2016 - event-driven microservices – Events on the outside, on the...
Chris Richardson
 
Microservices, containers and event driven architecture - key factors in agil...
Judy Breedlove
 
Microservices, containers and event driven architecture - key factors in agil...
Judy Breedlove
 
Microservices, containers and event driven architecture - key factors in agil...
Judy Breedlove
 
Event mesh api meetup AsyncAPI Singapore
Phil Scanlon
 
Events & Microservices
Yamen Sader
 
Brown bag eventdrivenmicroservices-cqrs
Vikash Kodati
 
Enabling a Real-Time, Agile, Event-Driven Enterprise
Solace
 
Building an Enterprise Eventing Framework (Bryan Zelle, Centene; Neil Buesing...
confluent
 
Building Event Driven Systems
WSO2
 
apidays LIVE Jakarta - Building an Event-Driven Architecture by Harin Honesty...
apidays
 
Event Mesh Presentation at Gartner AADI Mumbai
Solace
 
Event Driven Architecture at NDDNUG
Chris Patterson
 
Explained: Domain events
João Pires
 
Events and microservices
Saul Caganoff
 
Events on the outside, on the inside and at the core (jaxlondon)
Chris Richardson
 
Events on the outside, on the inside and at the core - Chris Richardson
JAXLondon_Conference
 
Ad

More from Kim Clark (20)

PDF
Cloud native defined
Kim Clark
 
PDF
2008-2014 Integration Design - Course Summary for slideshare.pdf
Kim Clark
 
PDF
Interface characteristics - Kim Clark and Brian Petrini
Kim Clark
 
PDF
Implementing zero trust in IBM Cloud Pak for Integration
Kim Clark
 
PDF
Automating agile integration
Kim Clark
 
PDF
Agile Integration eBook from 2018
Kim Clark
 
PDF
Convergence of Integration and Application Development
Kim Clark
 
PDF
Scaling Integration
Kim Clark
 
PDF
Agile integration architecture in relation to APIs and messaging
Kim Clark
 
PDF
Multi-cloud integration architecture
Kim Clark
 
PDF
Agile Integration Architecture: A Containerized and Decentralized Approach to...
Kim Clark
 
PDF
Where can you use serverless?  How does it relate to APIs, integration and mi...
Kim Clark
 
PDF
Building enterprise depth APIs with the IBM hybrid integration portfolio
Kim Clark
 
PDF
3298 microservices and how they relate to esb api and messaging - inter con...
Kim Clark
 
PDF
Hybrid integration reference architecture
Kim Clark
 
PDF
MuCon 2015 - Microservices in Integration Architecture
Kim Clark
 
PDF
Microservices: Where do they fit within a rapidly evolving integration archit...
Kim Clark
 
PDF
Placement of BPM runtime components in an SOA environment
Kim Clark
 
PDF
What’s behind a high quality web API? Ensure your APIs are more than just a ...
Kim Clark
 
PDF
Differentiating between web APIs, SOA, & integration …and why it matters
Kim Clark
 
Cloud native defined
Kim Clark
 
2008-2014 Integration Design - Course Summary for slideshare.pdf
Kim Clark
 
Interface characteristics - Kim Clark and Brian Petrini
Kim Clark
 
Implementing zero trust in IBM Cloud Pak for Integration
Kim Clark
 
Automating agile integration
Kim Clark
 
Agile Integration eBook from 2018
Kim Clark
 
Convergence of Integration and Application Development
Kim Clark
 
Scaling Integration
Kim Clark
 
Agile integration architecture in relation to APIs and messaging
Kim Clark
 
Multi-cloud integration architecture
Kim Clark
 
Agile Integration Architecture: A Containerized and Decentralized Approach to...
Kim Clark
 
Where can you use serverless?  How does it relate to APIs, integration and mi...
Kim Clark
 
Building enterprise depth APIs with the IBM hybrid integration portfolio
Kim Clark
 
3298 microservices and how they relate to esb api and messaging - inter con...
Kim Clark
 
Hybrid integration reference architecture
Kim Clark
 
MuCon 2015 - Microservices in Integration Architecture
Kim Clark
 
Microservices: Where do they fit within a rapidly evolving integration archit...
Kim Clark
 
Placement of BPM runtime components in an SOA environment
Kim Clark
 
What’s behind a high quality web API? Ensure your APIs are more than just a ...
Kim Clark
 
Differentiating between web APIs, SOA, & integration …and why it matters
Kim Clark
 
Ad

Recently uploaded (20)

PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 

The resurgence of event driven architecture

  • 1. The Resurgence of Event Driven Architecture Kim Clark Integration Architect IBM Cloud / 28th May 2020 / © 2020 IBM Corporation Webinar: http://ibm.biz/eda-resurgence Slides: http://ibm.biz/eda-resurgence-slides
  • 2. Evolution to agile integration: Summary view Webinar http://ibm.biz/agile-integration-webinar Webpage http://ibm.biz/agile-integration IBM Redbook http://ibm.biz/agile-integration-redbook API Management API ManagementIntegration Centralized ESB Socialized APIs fine-grained deployment Decentralized ownership & events API & Event Management
  • 3. Creating truly independent digital applications requires asynchronous communication as well as APIs 3IBM Cloud / Agileintegration/ Month 10, 2019 / © 2019 IBM Corporation Microservice Application SoR SoR SoRSoR API consumption EventStream consumption µService µServiceµService µService µService µService µServiceµService µService Agility Innovate rapidly without affecting other components APIs Are simplest to use, but create a real-time dependency on the underlying system of record Truly independent, decoupled microservice components enable To provide those benefits they need to be independent of the systems of record Scalability Scale only what you need, and only when you need to Resilience Fail fast, return fast, without affecting other components Event streams Enable microservices to build decoupled views of the data and respond to real time events API and Event management
  • 4. What does it mean to have truly a cloud-native/microservice component? Fine-grained components • Self-contained well decoupled components of an “appropriate” size (e.g. microservices architecture) Strong decoupling • Clear ownership boundaries, formalized API and event interfaces, component grouping. Independent persistence. Minimal state • Components are clones, and/or can re-assign/re- balance work. No caller affinity, no two phase commits Immutable deployment • Image based deployment and updates, • No live configuration. • Rollback by rolling forward to previous image. Infrastructure as code • Declarative infrastructure configuration (GitOps) at the level of individual components. CI/CD • Pipeline automation (build, test, deploy, verify) for creation and maintenance. Agile methods • Short, fixed length iteration cycles. Intrinsic business collaboration/feedback DevOps • Close collaboration between development and operations with rapid feedback resolution Lightweight runtimes • Fast start up/shut down. File- system based install, deployment, and configuration. Elastic, agnostic platform • Platform agnostically providing deployment, scaling, HA, security, monitoring... Observability • Platform neutral logging, tracing to streams enabling retrospective inferred analysis of internal state. IBM Cloud / 28th May 2020 / © 2020 IBM Corporation
  • 5. Comparing messaging and events Stream History Scalable Subscription Fine grained messaging Assured Deliveryü Messaging Focused on message exchange and transactions Events (e.g. Kafka) Focused on streaming of events Supported connectivity Topics and Subscriptions Critical data exchange Event driven Event streaming Strengths IBM Cloud / © 2020 IBM Corporation
  • 6. Event driven architecture patterns that build on one another Event stream data distribution: Event distribution with history Event stream projections: Consumer specific data views Event sourcing: Using an event log as a data master CQRS: Command Query Responsibility Segregation Event processing: Evaluating events over time Saga: Combining multiple actions together Supporting/related patterns: change data capture, event connectors (source/sink), function as a service… https://ibm-cloud-architecture.github.io/refarch-edaIBM Cloud / 28th May 2020 / © 2020 IBM Corporation
  • 7. Event Log Event streams for data distribution External website application Partner website application Mobile application Subscribe and consume Event stream Back end datastore … 4 5 6 7 … Subscribe and consume Subscribe and consume Publish (change events) IBM Cloud / 28th May 2020 / © 2020 IBM Corporation
  • 8. Event Log (Topic A) Event processing Event Event stream Event Propagator … 42 43 44 45 46 Publish … 4 5 6 7 8 … 172 173 174 175 Event Log (Topic B) … 4 5 6 7 Event processor … 44 456 7 8 46 Event pattern matched Subscribe and consume Publish 4 5 Event processing could involve: • Filtering • Redaction • Routing • Event pattern matching • Real-time analytics • Machine learning model* (training and/or using) * Note that event processing can be re-run over the event stream history in order to gain new insights as the learning improves IBM Cloud / 28th May 2020 / © 2020 IBM Corporation
  • 9. Event Log Event stream projections Local read-optimized datastore External website application Partner website application Mobile application Local datastore Local datastore Local datastore Subscribe and consume Direct invocation Event stream Back end datastore … 4 5 6 7 … Subscribe and consume Subscribe and consume Publish (change events) IBM Cloud / 28th May 2020 / © 2020 IBM Corporation
  • 10. Event sourcing Local “event sourced” read-optimized datastore Read implementation A Read implementation B Local datastore Local datastore Subscribe and consume Direct invocation Event streamSubscribe and consume “Event Sourced” implies the use of an event log as the primary datastore Application/Context boundary Event Log … 4 5 6 7 … Command implementation COMMAND QUERY Exposed API , and CQRS IBM Cloud / 28th May 2020 / © 2020 IBM Corporation
  • 11. Event sourcing/CQRS within a bounded context vs (inter) domain events CQRS and Event Sourcing patterns are typically scoped to within a bounded context. From outside the context, the event sourced nature of the implementation should be hidden. Bounded Context Event Log COMMAND QUERY Bounded Context Only selected events (and for that matter APIs) should be exposed across bounded contexts. Their data models should be decoupled from the internal model. Internal events (inter) domain events API & Event Management IBM Cloud / 28th May 2020 / © 2020 IBM Corporation
  • 12. CQRS at different scopes These two diagrams represent the same logical pattern, but have radically different implementations Logical component boundary Event Log Event Processing Command Processing API Management API In an enterprise scope, the same pattern often exists but is broken up across multiple different sub-systems, integration specialists would recognize these as enterprise integration patterns. Is this still CQRS? Search & Read Event Log Read Datastore Event Consumptio n Command Processing APIM API Datastore Events Command Store APIM API Command Forwarding API In an application scope, application developers would consider this pattern part of their application design (and perhaps call it CQRS). APIM Search & Read Read Datastore Consumer specific projection (event-fed read- optimized view) Consumer specific store-forward pattern to improve availability and performance of updates Existing back end system exposed as managed APIs. Fire-forget updates Enabled to emit data change events Internal events Cross boundary events Cross boundary API Event Processing IBM Cloud / 28th May 2020 / © 2020 IBM Corporation
  • 13. asynchronous(messaging,events,…) trad. on premisescloud platform cloud platformcloud platform private cloudSaaS platform iPaaS/iSaaS SaaS platform cloud platform cloud platform The asynchronous backplane (messaging, events) The asynchronous backplane provides reliable message/event storage and a distribution network that can traverse application and cloud boundaries robustly. 13
  • 14. Example of complementary use of messaging and events Event Log Event Log Replication Cloud On-Premise Data Warehouse / Lake App App App App App SaaS SaaS SaaS App App App App Messaging Store Messaging Device Device Device App Messaging Store Messaging Device Device Device App Store Messaging Device Device Device App Messaging Event Log Integration Engine Messaging Provider Event Log API Management App Application App App App App Microservice application Messaging network
  • 15. Saga Pattern: Orchestration vs Choreography Orchestrated interactions (orchestration) Pros First class notion of “process” Modelled process visible in implementation Monitoring/reporting at process level Process version migration options Clearer modelling of exception paths Cons Higher CPU/network due to persistence Solution split between layers Chained interactions (choreography) Pros Higher performance due to minimal persistence Can be implemented entirely in the integration layer Cons No notion of “process”, only the individual steps Process “model” not visible in implementation Custom work for effective monitoring/reporting Exception paths harder to understand Complex to migrate to new processes Queued events holding stateOrchestration state persistence https://microservices.io/patterns/data/saga.html IBM Cloud / 28th May 2020 / © 2020 IBM Corporation
  • 16. Microservice component Microservice component Microservice component Microservice component Microservice component Microservice component Events within the application boundary MongoDB Redis SaaS SaaS Blockchain replica ML model enterprise applications Internet Of Things SaaS Application Boundary Event broker IBM Cloud / 28th May 2020 / © 2020 IBM Corporation API Management
  • 17. Microservice component Microservice component Microservice component Microservice component Microservice component Microservice component Events within and beyond the application boundary MongoDB Redis SaaS SaaS Blockchain replica ML model enterprise applications Internet Of Things SaaS Application Boundary API Management Event broker Event Management? Event broker IBM Cloud / 28th May 2020 / © 2020 IBM Corporation
  • 18. The maturing space of event stream management Easily found, quickly consumed • Described • Catalogued and discoverable • Policy controlled access Completely De-coupled • Self-service consumption • No technology ties between provider and consumers • No operational ties Consumed reliably • Consumption options suitable for many application types • Replay history, durable subs, horizontal scale Delivered in time to be useful • Latency measured in seconds not minutes • Delivered rather than polled IBM Integration / © 2020 IBM Corporation 18 Event Distribution Event Stream Management
  • 19. On premises A target high level architecture for enterprise integration in 2020 Systems of Record Systems of Engagement Mobile Partners API Economy IoT SaaS SaaS SaaS SaaS IaaS PaaS PaaS PaaS SaaS Cloud platform • SaaS = Software as a service • PaaS = Platform as a service • IaaS = Infrastructure as a service Polyglot (e.g. microservice application) • Language runtimes • Specialist runtimes (e.g. integration) Exposure points • APIs • Events Key features • Technology layering has been removed. • Grouping is based on business domains/functions • Applications are self-contained, including their integration needs. • Events have become more a first class citizen rather than just a transport • Well defined application boundaries, breached only by governed APIs and Events • Cloud platform type (IaaS/PaaS etc.) is hidden when looking from the outside of an application. • Architecture balances isolation (decoupling), and interaction (defined interfaces). Caveats • Represents an idealized target integration architecture. Most organizations do not have this level of clarity in the separations of their applications. • Describes how the things within the enterprise communicate with one another. It does not show the enterprise in the context of its broader ecosystem (e.g. with partners). IBM Cloud / 28th May 2020 / © 2020 IBM Corporation
  • 20. IBM Cloud / © 2020 IBM Corporation This webinar Resurgence of event driven architecture ibm.biz/eda-resurgence http://ibm.biz/eda-resurgence-slides Learn more Agile integration http://ibm.biz/agile-integration-webinar ibm.com/cloud/integration/agile-integration Convergence of application and integration development ibm.biz/agile-integration-convergence ibm.biz/agile-integration-convergence-pdf
  • 21. Thank you! IBM Cloud / 28th May 2020 / © 2020 IBM Corporation