SlideShare a Scribd company logo
Opportunities & Pitfalls
of
Event-Driven Utopia
@berndruecker
InfoQ.com: News & Community Site
• 750,000 unique visitors/month
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• News 15-20 / week
• Articles 3-4 / week
• Presentations (videos) 12-15 / week
• Interviews 2-3 / week
• Books 1 / month
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
event-driven-benefits-pitfalls/
Presented at QCon New York
www.qconnewyork.com
Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
Why this talk
Why this talk
Service 1
Agenda
Service 2
Events on the inside
Events on the outside
1
3
Service 1
Agenda
Service 2
Events on the inside
Events on the outside
1
3
Events inside out2
Service 1
Agenda
Service 2
Events on the inside1
Events on the outside3
Events inside out2
Once upon a time…
RDMS
Application
Client
BBC architecture
(box - arrow – box – arrow - cylinder)
Every architecture diagram
you'll ever need
The great thing about this architecture
RDMS
Application
DB gurantees
(e.g. ACID)
The problem
not webscale
resiliency is expensive
RDMS
Application
RDMS
Pat Helland
https://vimeo.com/52831373
Append-only
Log
…
bank
account
created
+2,500 $
transfered
-14.99$
paid by
credit card
…
Persistent change
RDMS
Account # Balance
12345 2,500$
Persistent state
Current Balance =
2,485.01 $
Append-only
Log
…
bank
account
created
+2,500 $
transfered
-14.99$
paid by
credit card
…
Persistent change Event
Bank Account Created
2019/04/16 11:00
# 12345
Event
Money Transfer Received
2,500$
2019/04/16 11:00
# 12345
Event Sourcing in a nutshell
Customer
Business
Logic
Save
event
2. Read events
Replay
…
Internal State
3. Build
internal state
5. Add Customer Created Event
1. Create Customer 4. Validation and
Invariant Checks
e.g. Customer Created, Customer Credit Limit Approved, …Customer Event Store
6. Async publish
Customer Created Domain Event
Working without distributed transactions
Customer
Business
Logic
Save
event
2. Read events
Replay
…
Internal State
3. Build
internal state
5. Add Customer Created Event
1. Create Customer 4. Validation and
Invariant Checks
e.g. Customer Created, Customer Credit Limit Approved, …Customer Event Store
6. Async publish
Customer Created Domain Event
This is the only
atomic operation
required
Traditional Architecture
Customer
1. Create Customer
Account
RDMS
Business
Logic
Open
Account
2. Persist state
changes
3. Remote
Communication
Pat Helland
“
Distributed Systems Guru
Worked at Amazon,
Microsoft & Salesforce
@berndruecker
Pat Helland
Grown-Ups Don’t Use
Distributed Transactions
“
Distributed Systems Guru
Worked at Amazon,
Microsoft & Salesforce
Open
Account
Outbox pattern in traditional architectures
Customer
1. Create Customer
Account
RDMS
Business
Logic
Job:
„Open
Account“
2. Persist state
changes
3. Remote
CommunicationExecute:
„Open
Account“
TX 1 TX 2
Async after first
transaction!
Outbox pattern – Implementation Approaches
Scheduler
Database
Transaction Log
Workflow
Automation
Idempotency
Customer
1. Create
Customer
Account
RDMS
Business
Logic
Job:
„Open
Account“
2. Persist state
changes
3. Remote
Communication
Async after
transaction!
Execute:
„Open
Account“
Capture
Request
TX 1 TX 2
Idempotency
Customer
1. Create
Customer
Account
RDMS
Business
Logic
Job:
„Open
Account“
2. Persist state
changes
3. Remote
Communication
Async after
transaction!
Execute:
„Open
Account“
Capture
Request
TX 1 TX 3TX 2
Working without distributed transactions
Customer
Business
Logic
Save
event
2. Read events
Replay
…
Internal State
3. Build
internal state
5. Add Customer Created Event
1. Create Customer 4. Validation and
Invariant Checks
e.g. Customer Created, Customer Credit Limit Approved, …Customer Event Store
6. Async publish
Customer Created Domain Event
This is the only
atomic operation
required
Events on the inside.
An example from my world
mail@berndruecker.io
@berndruecker
Bernd Ruecker
Co-founder and
Chief Technologist of
Camunda
We offer two different workflow engines. Why?
Camunda ZeebePersistent
State
Persistent
change
Workflow
Instance
Id
Current
Activity
State
2 RetrievePayment running
Workflow
Instance
Id
Current
Activity
State
2 ShipGoods running
Workflow
Instance
Id
Current
Activity
State
2 OrderDelivered ended
2.
3. UPDATE
2. UPDATE
1. INSERT
3.1.
RDMS
Workflow
Engine
Append-only
Log1.
create
workflow
instance
workflow
instance
created
start
event
occured
sequence
flow taken
activity
activated
task
created
lock
created
task
locked
complete
task
task
completed
activity
completed
sequence
flow taken
…
…
2.
2.
1.
Workflow
Engine
Event Handling, Replication & Single Writer
Follower
Follower
complete task
command
task completed
event
1 send
2 append command
Broker
(Leader)
Stream
Processor
4 process
7
store & replicate
event
6 append event
3
store & replicate
command
5 respond
Single Writer
(single thread)
What we do different
Follower
Follower
complete task
command
task completed
event
1 send
2 append command
Leader
Stream
Processor
4 process
7
store & replicate
event
6 append event
3
store & replicate
command
5 respond
Single Writer
(single thread)
Store and replay
commands
Delete records that
are fully processed
Persist & replicate
internal state
Consistency
Availability
Partition
Zeebe is CP
Follower
Follower
complete task
command
task completed
event
1 send
2 append command
Leader
Stream
Processor
4 process
7
store & replicate
event
6 append event
3
store & replicate
command
5 respond
Single Writer
(single thread)
Horizontal scalability by partitioning
Partition 1
Partition 2
Partition 3
Partition 4
Every workflow instance is
exactly handled by one
partition
instance id: 2-42
instance id: 3-66
Stream
Processor Single Writer
(single thread)
Queries and
read models
Zeebe
Broker
Zeebe
Broker
Streaming
Exporter
ask
ask
Recap 1 – Events on the inside
# Natural mechanism to build scalable services in distributed
systems (with Outbox & co included)
But
# You have to think about reads, queries & eventual consistency
# Much less industry experience available
@berndruecker
Service 1
Agenda
Service 2
Events on the inside
Events on the outside
1
3
Events inside out2
Event Store and Messaging
Customer
…
1. Create Customer
Customer Event Store
Merge Messaging and Event Store
Customer
…
1. Create Customer
Customer Event Store
Merge messaging and event store
Customer
…
1. Create Customer
Shared Event Store
Enter the world of Kafka…
Merge messaging and event store
Customer
…
1. Create Customer
Shared Event Store
Kafka as transport
Customer
…
1. Create Customer
Used as queue (but persistent!)
Service 1
Agenda
Service 2
Events on the inside
Events on the outside
1
3
Events inside out2
Once upon a time
Billing
Customer
Change
Address
Event Notification
Address
changed
Billing
Customer
Event Notification
Address
changed
Billing
Customer
Billing
Customer
Reverse direction
of dependency
direction
of dependency
Change
Address
Event Notification
Address
changed
Billing
Customer AdressChanged
{
customerId: 42
}
Ask for
details
Event-carried State Transfer
Address
changed
Billing
Customer
AddressChanged
{
customerId: 42,
address: ...
}
CustomerChanged
{
customerId: 42,
status: A,
address:
...,
}
AddressChanged
{
customerId: 42,
oldAddress: ...
newAddress: ...
}
CustomerMoved
{
...,
This decision is complex
Address
changed
Billing
Customer
Billing
Customer
Reverse direction
of dependency
direction
of dependency
Change
Address
Example
Change Address
Address
Submit
From bla@company.com
Date 2019-04-23 09.05
To confirm your address change please click on this link:
http://company.com/confirm?id=82e97d49-166c-4862-
9973-4db348e6225d
Incoming Email
Example
Customer
Notification
Address change
confirmed
Change Adress
Address change
requested
http://company.com/confirm?id=82e97
d49-166c-4862-9973-4db348e6225d
direction of dependency
Example
Customer
Notification
‚Confirmation‘
approved
Change Adress
http://company.com/confirm?id=82e97
d49-166c-4862-9973-4db348e6225d
Send mail
‚Confirmation‘
Address
changed
direction of dependency
Challenge:
Command vs. Event
Event
Command
vs
It is NOTabout communication protocols
Address
changed
Billing
Customer
Billing
Customer
Change
Address
It can be messaging,
REST, whatever, ….
Manifold ways of transport
…
Manifold ways of transport
…
?
Event Command Query
Message Record Event
Fact,
happened in the past,
immutable
Intend,
Want s.th. to happen,
The intention itself is a fact
?
Event Command Query
Message Record Event
Commands in disguise
The Customer Needs To Be
Sent A Message To Confirm
Address Change
Event
Send
Message
Wording of
Sender
Wording of
recipient
Examples
PaymentOrder
Subscription
Retrieve
Payment
More general,
does not need to know
who is retrieving payments
Customer
Order
Address
Changed
Billing
More general,
does not need to care about
who is interessted in address changes
Notification
Send
Mail
Global service
Order
Notification
Order
Placed
Payment
Received
Goods
Shipped
Service that can
handle notifications
for orders
autonomously
Distributed Monoliths
Authorization
Service
Document Context Page
Context
Document
attached
Page
created
Document
moved
Page
moved
…
Define stable contract/API instead
Authorization
Service
Document Context Page
Context
Add
auth
…
Next challenge:
Event chains
Event Chains
Adress
Check
Credit Check
Registration
@berndruecker
Customer
Event Bus
Registration
requested
Credit
checked
Address
checked
Customer
registered
Event Chains
Adress
Check
Credit Check
Registration
@berndruecker
Customer
Event Bus
Registration
requested
Credit
checked
Address
checked
Customer
registered
How does customer
registration work?
The danger is that it's very easy to make
nicely decoupled systems with event
notification, without realizing that you're
losing sight of that larger-scale flow, and
thus set yourself up for trouble in future
years.
https://martinfowler.com/articles/201701-event-driven.html
@berndruecker
The danger is that it's very easy to make
nicely decoupled systems with event
notification, without realizing that you're
losing sight of that larger-scale flow, and
thus set yourself up for trouble in future
years.
https://martinfowler.com/articles/201701-event-driven.html
@berndruecker
The danger is that it's very easy to make
nicely decoupled systems with event
notification, without realizing that you're
losing sight of that larger-scale flow, and
thus set yourself up for trouble in future
years.
https://martinfowler.com/articles/201701-event-driven.html
@berndruecker
Monitoring Workflows Across Microservices
https://www.infoq.com/articles/monitor-workflow-collaborating-microservices
@berndruecker
Typical approachesDistributed Tracing
Data Lake / Event Monitoring
Process Mining
Process Tracking
@berndruecker
What we currently build with customers…
Camunda
Optimize
Elastic
Registration
requested
Credit
checked
Address
checked
Customer
registered
@berndruecker
All great – until you have to move…
Changes required for an additional check
Adress
Check
Credit Check
Registration
Criminal
Check
@berndruecker
Customer
Event Bus
Registration
requested
Credit
checked
Customer
registered
Address
checked
Changes required for an additional check
Adress
Check
Credit Check
Registration
Criminal
Check
@berndruecker
Customer
Event Bus
Registration
requested
Credit
checked
Customer
registered
Address
checked
Criminal
checked
Alternative flow
Adress
Check
Credit Check
Registration
Criminal
Check
@berndruecker
Customer
Kafka
Customer
registered
Registration
requested
Address
checked
Credit
checked
Criminal
checked
Alternative flow
Adress
Check
Credit Check
Registration
Criminal
Check
@berndruecker
Customer
Kafka
Customer
registered
Registration
requested
Address
checked
Credit
checked
Criminal
checked
„Credit checks got more
expensive, do that only if all
other checks succeed“
Keep it stable, just move
sticks with yellow color to the
top.
How hard
can it be?
What we wanted
Photo by Lijian Zhang, available under Creative Commons SA 2.0 License and Pedobear19 / CC BY-SA 4.0
@berndruecker
Orchestration
Adress
CheckCredit Check
Registration
Customer
Kafka
Registration
requested
Credit
checked
Address
checked
Customer
registeredCheck
credit
Check
address
Customer
checked
Customer
On-boarding
Of course these two
services could be merged
Changes
Adress
CheckCredit Check
Registration
Customer
Kafka
Registration
requested
Credit
checked
Address
checked
Customer
registeredCheck
credit
Check
address
Customer
checked
Customer
On-boarding
Criminal
Check
Crimes
checked
Check
crimes
Comparison
2 changes
criminal check can be deployed first
2 changes,
criminal check can be deployed first
See also https://www.infoworld.com/article/3391592/
how-to-tame-event-driven-microservices.html
In my world…
Customer
On-boarding
Leverage Workflow Engine & BPMN within Service
Customer On-boarding
Local Orchestration
Central
Orchestration
Service
Opportunities and Pitfalls of Event-Driven Utopia
Recap 2
# Commands vs. Events: Decide about the direction of
dependencies
# Beware of event-chains and avoid losing sight
# Balance choreography and orchestration
@berndruecker
Service 2Service 1
Recap
Events on the inside
Events on the outside
1
3
Persistent state vs persistent change
Event sourcing & Event Store
Consistency & CAP
Read Models & CQRS
Events as API
Event vs Command
Event chains & visibility
Orchestration vs Choreography
Shared Event Store
Events inside out2
Want to see code?
Nothing for the faint of heart…
Events on the inside
Events on the outside
Nothing for the faint of heart…
…but doable…
…and worth it
Thank you!
@berndruecker
mail@berndruecker.io
@berndruecker
https://berndruecker.io
https://medium.com/berndruecker
https://github.com/berndruecker
https://www.infoq.com/articles/events-
workflow-automation
Contact:
Slides:
Blog:
Code:
https://www.infoworld.com/article/3254777/
application-development/
3-common-pitfalls-of-microservices-
integrationand-how-to-avoid-them.html
https://thenewstack.io/5-workflow-automation-
use-cases-you-might-not-have-considered/
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
event-driven-benefits-pitfalls/
Ad

More Related Content

Similar to Opportunities and Pitfalls of Event-Driven Utopia (20)

No REST - Architecting Real-time Bulk Async APIs
No REST - Architecting Real-time Bulk Async APIsNo REST - Architecting Real-time Bulk Async APIs
No REST - Architecting Real-time Bulk Async APIs
C4Media
 
Event Driven Architectures
Event Driven ArchitecturesEvent Driven Architectures
Event Driven Architectures
Avinash Ramineni
 
QCon 2019 - Opportunities and Pitfalls of Event-Driven Utopia
QCon 2019 - Opportunities and Pitfalls of Event-Driven UtopiaQCon 2019 - Opportunities and Pitfalls of Event-Driven Utopia
QCon 2019 - Opportunities and Pitfalls of Event-Driven Utopia
Bernd Ruecker
 
Building and deploying microservices with event sourcing, CQRS and Docker (Ha...
Building and deploying microservices with event sourcing, CQRS and Docker (Ha...Building and deploying microservices with event sourcing, CQRS and Docker (Ha...
Building and deploying microservices with event sourcing, CQRS and Docker (Ha...
Chris Richardson
 
Making the Most of Customer Data
Making the Most of Customer DataMaking the Most of Customer Data
Making the Most of Customer Data
WSO2
 
User activity monitoring with SysKit
User activity monitoring with SysKitUser activity monitoring with SysKit
User activity monitoring with SysKit
SysKit Ltd
 
Digital Transformation Mindset - More Than Just Technology
Digital Transformation Mindset - More Than Just TechnologyDigital Transformation Mindset - More Than Just Technology
Digital Transformation Mindset - More Than Just Technology
confluent
 
Event Driven Architectures - Phoenix Java Users Group 2013
Event Driven Architectures - Phoenix Java Users Group 2013Event Driven Architectures - Phoenix Java Users Group 2013
Event Driven Architectures - Phoenix Java Users Group 2013
clairvoyantllc
 
Directions Asia Unlocking New Integration Potential for d365 BC with Event ...
Directions Asia   Unlocking New Integration Potential for d365 BC with Event ...Directions Asia   Unlocking New Integration Potential for d365 BC with Event ...
Directions Asia Unlocking New Integration Potential for d365 BC with Event ...
Wagner Silveira
 
Qwasi Splunk and NCR Integration: Business Analytics
Qwasi Splunk and NCR Integration: Business AnalyticsQwasi Splunk and NCR Integration: Business Analytics
Qwasi Splunk and NCR Integration: Business Analytics
Timur Bagirov
 
Build Node.js APIs Using Serverless
Build Node.js APIs Using ServerlessBuild Node.js APIs Using Serverless
Build Node.js APIs Using Serverless
C4Media
 
200 OK Webinar - Transforming Salesforce Sales Cloud with AI Copilot
200 OK Webinar - Transforming Salesforce Sales Cloud with AI Copilot200 OK Webinar - Transforming Salesforce Sales Cloud with AI Copilot
200 OK Webinar - Transforming Salesforce Sales Cloud with AI Copilot
CEPTES Software Inc
 
Durable Streaming and Enterprise Messaging
Durable Streaming and Enterprise MessagingDurable Streaming and Enterprise Messaging
Durable Streaming and Enterprise Messaging
Salesforce Developers
 
Microservices and the Art of Taming the Dependency Hell Monster
Microservices and the Art of Taming the Dependency Hell MonsterMicroservices and the Art of Taming the Dependency Hell Monster
Microservices and the Art of Taming the Dependency Hell Monster
C4Media
 
Event-Driven Applications Done Right - Pulsar Summit SF 2022
Event-Driven Applications Done Right - Pulsar Summit SF 2022Event-Driven Applications Done Right - Pulsar Summit SF 2022
Event-Driven Applications Done Right - Pulsar Summit SF 2022
StreamNative
 
Ektron - Suyati Technologies
Ektron - Suyati TechnologiesEktron - Suyati Technologies
Ektron - Suyati Technologies
Suyati Technologies Pvt Ltd
 
Why Value Stream is key to Digital Product Delivery
Why Value Stream is key to Digital Product Delivery Why Value Stream is key to Digital Product Delivery
Why Value Stream is key to Digital Product Delivery
Mani Maun
 
Eventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalkEventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalk
confluent
 
Solve It Labs Offshore Project Management
Solve It Labs Offshore Project ManagementSolve It Labs Offshore Project Management
Solve It Labs Offshore Project Management
Rafael Sultanov
 
DDD Belgium Meetup 2017: Events, flows and long running services
DDD Belgium Meetup 2017: Events, flows and long running servicesDDD Belgium Meetup 2017: Events, flows and long running services
DDD Belgium Meetup 2017: Events, flows and long running services
Bernd Ruecker
 
No REST - Architecting Real-time Bulk Async APIs
No REST - Architecting Real-time Bulk Async APIsNo REST - Architecting Real-time Bulk Async APIs
No REST - Architecting Real-time Bulk Async APIs
C4Media
 
Event Driven Architectures
Event Driven ArchitecturesEvent Driven Architectures
Event Driven Architectures
Avinash Ramineni
 
QCon 2019 - Opportunities and Pitfalls of Event-Driven Utopia
QCon 2019 - Opportunities and Pitfalls of Event-Driven UtopiaQCon 2019 - Opportunities and Pitfalls of Event-Driven Utopia
QCon 2019 - Opportunities and Pitfalls of Event-Driven Utopia
Bernd Ruecker
 
Building and deploying microservices with event sourcing, CQRS and Docker (Ha...
Building and deploying microservices with event sourcing, CQRS and Docker (Ha...Building and deploying microservices with event sourcing, CQRS and Docker (Ha...
Building and deploying microservices with event sourcing, CQRS and Docker (Ha...
Chris Richardson
 
Making the Most of Customer Data
Making the Most of Customer DataMaking the Most of Customer Data
Making the Most of Customer Data
WSO2
 
User activity monitoring with SysKit
User activity monitoring with SysKitUser activity monitoring with SysKit
User activity monitoring with SysKit
SysKit Ltd
 
Digital Transformation Mindset - More Than Just Technology
Digital Transformation Mindset - More Than Just TechnologyDigital Transformation Mindset - More Than Just Technology
Digital Transformation Mindset - More Than Just Technology
confluent
 
Event Driven Architectures - Phoenix Java Users Group 2013
Event Driven Architectures - Phoenix Java Users Group 2013Event Driven Architectures - Phoenix Java Users Group 2013
Event Driven Architectures - Phoenix Java Users Group 2013
clairvoyantllc
 
Directions Asia Unlocking New Integration Potential for d365 BC with Event ...
Directions Asia   Unlocking New Integration Potential for d365 BC with Event ...Directions Asia   Unlocking New Integration Potential for d365 BC with Event ...
Directions Asia Unlocking New Integration Potential for d365 BC with Event ...
Wagner Silveira
 
Qwasi Splunk and NCR Integration: Business Analytics
Qwasi Splunk and NCR Integration: Business AnalyticsQwasi Splunk and NCR Integration: Business Analytics
Qwasi Splunk and NCR Integration: Business Analytics
Timur Bagirov
 
Build Node.js APIs Using Serverless
Build Node.js APIs Using ServerlessBuild Node.js APIs Using Serverless
Build Node.js APIs Using Serverless
C4Media
 
200 OK Webinar - Transforming Salesforce Sales Cloud with AI Copilot
200 OK Webinar - Transforming Salesforce Sales Cloud with AI Copilot200 OK Webinar - Transforming Salesforce Sales Cloud with AI Copilot
200 OK Webinar - Transforming Salesforce Sales Cloud with AI Copilot
CEPTES Software Inc
 
Durable Streaming and Enterprise Messaging
Durable Streaming and Enterprise MessagingDurable Streaming and Enterprise Messaging
Durable Streaming and Enterprise Messaging
Salesforce Developers
 
Microservices and the Art of Taming the Dependency Hell Monster
Microservices and the Art of Taming the Dependency Hell MonsterMicroservices and the Art of Taming the Dependency Hell Monster
Microservices and the Art of Taming the Dependency Hell Monster
C4Media
 
Event-Driven Applications Done Right - Pulsar Summit SF 2022
Event-Driven Applications Done Right - Pulsar Summit SF 2022Event-Driven Applications Done Right - Pulsar Summit SF 2022
Event-Driven Applications Done Right - Pulsar Summit SF 2022
StreamNative
 
Why Value Stream is key to Digital Product Delivery
Why Value Stream is key to Digital Product Delivery Why Value Stream is key to Digital Product Delivery
Why Value Stream is key to Digital Product Delivery
Mani Maun
 
Eventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalkEventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalk
confluent
 
Solve It Labs Offshore Project Management
Solve It Labs Offshore Project ManagementSolve It Labs Offshore Project Management
Solve It Labs Offshore Project Management
Rafael Sultanov
 
DDD Belgium Meetup 2017: Events, flows and long running services
DDD Belgium Meetup 2017: Events, flows and long running servicesDDD Belgium Meetup 2017: Events, flows and long running services
DDD Belgium Meetup 2017: Events, flows and long running services
Bernd Ruecker
 

More from C4Media (20)

Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoStreaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
C4Media
 
Next Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileNext Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy Mobile
C4Media
 
Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020
C4Media
 
Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java Applications
C4Media
 
Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No Keeper
C4Media
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like Owners
C4Media
 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
C4Media
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate Guide
C4Media
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CD
C4Media
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine Learning
C4Media
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at Speed
C4Media
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep Systems
C4Media
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.js
C4Media
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly Compiler
C4Media
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix Scale
C4Media
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's Edge
C4Media
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home Everywhere
C4Media
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing For
C4Media
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data Engineering
C4Media
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
C4Media
 
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoStreaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
C4Media
 
Next Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileNext Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy Mobile
C4Media
 
Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020
C4Media
 
Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java Applications
C4Media
 
Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No Keeper
C4Media
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like Owners
C4Media
 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
C4Media
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate Guide
C4Media
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CD
C4Media
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine Learning
C4Media
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at Speed
C4Media
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep Systems
C4Media
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.js
C4Media
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly Compiler
C4Media
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix Scale
C4Media
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's Edge
C4Media
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home Everywhere
C4Media
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing For
C4Media
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data Engineering
C4Media
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
C4Media
 
Ad

Recently uploaded (20)

Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Ad

Opportunities and Pitfalls of Event-Driven Utopia