SlideShare uma empresa Scribd logo
1 de 153
Designing
Events First
Microservices
Jonas Bonér
@jboner
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/
microservices-events-first-design
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
So, you want to do
microservices?
Make sure you don’t end up with
Microliths
Make sure you don’t end up with
Microliths
We can do better than this
Events First
Domain Driven
Design
“When you start modeling events, it
forces you to think about the behaviour
of the system. As opposed to thinking
about the structure of the system.”
- Greg Young
A Decade of DDD, CQRS, Event Sourcing, Greg Young (Presentation from 2016)
✴ Don’t focus on the things
The Nouns
The Domain Objects
✴ Don’t focus on the things
The Nouns
The Domain Objects
✴ Focus on what happens
The Verbs
The Events
What is an
Event?
The Nature of Events
✴Events represent Facts of information
➡ Facts are immutable
➡ Facts Accrue - Knowledge can only grow
The Nature of Events
✴Events represent Facts of information
➡ Facts are immutable
➡ Facts Accrue - Knowledge can only grow
✴ Events/Facts can be disregarded/Ignored
The Nature of Events
✴Events represent Facts of information
➡ Facts are immutable
➡ Facts Accrue - Knowledge can only grow
✴ Events/Facts can be disregarded/Ignored
✴ Events/Facts Can not be retracted (once accepted)
The Nature of Events
✴Events represent Facts of information
➡ Facts are immutable
➡ Facts Accrue - Knowledge can only grow
✴ Events/Facts can be disregarded/Ignored
✴ Events/Facts Can not be retracted (once accepted)
✴ Events/Facts Can not be deleted (once accepted)
➡ Might be needed for legal or moral reasons
The Nature of Events
✴Events represent Facts of information
➡ Facts are immutable
➡ Facts Accrue - Knowledge can only grow
✴ Events/Facts can be disregarded/Ignored
✴ Events/Facts Can not be retracted (once accepted)
✴ Events/Facts Can not be deleted (once accepted)
➡ Might be needed for legal or moral reasons
✴ Events/Facts (new) can invalidate existing Facts
The Nature of Events
Mine the
Facts
Event Storming
Event Driven Design
✴ IntentS
➡ Communication
➡ Conversations
➡ Expectations
➡ Contracts
➡ Control Transfer
Event Driven Design
✴ IntentS
➡ Communication
➡ Conversations
➡ Expectations
➡ Contracts
➡ Control Transfer
Event Driven Design
✴ Facts
➡ State
➡ History
➡ Causality
➡ Notifications
➡ State Transfer
✴ IntentS
➡ Communication
➡ Conversations
➡ Expectations
➡ Contracts
➡ Control Transfer
Event Driven Design
✴ Facts
➡ State
➡ History
➡ Causality
➡ Notifications
➡ State Transfer
Commands
✴ IntentS
➡ Communication
➡ Conversations
➡ Expectations
➡ Contracts
➡ Control Transfer
Event Driven Design
✴ Facts
➡ State
➡ History
➡ Causality
➡ Notifications
➡ State Transfer
Commands Events
Event Driven Design
✴Commands
➡ Object form of method/Action request
➡ Imperative: CreateOrder, ShipProduct
Event Driven Design
✴Commands
➡ Object form of method/Action request
➡ Imperative: CreateOrder, ShipProduct
✴Reactions
➡ Represents side-effects
Event Driven Design
✴Commands
➡ Object form of method/Action request
➡ Imperative: CreateOrder, ShipProduct
✴Reactions
➡ Represents side-effects
✴Events
➡ Represents something that has happened
➡ Past-tense: OrderCreated, ProductShipped
Event Driven Design
Commands Eventsvs
Commands Eventsvs
1. All about intent 1. Intentless
Commands Eventsvs
1. All about intent
2. Directed
1. Intentless
2. Anonymous
Commands Eventsvs
1. All about intent
2. Directed
3. Single addressable
destination
1. Intentless
2. Anonymous
3. Just happens - for
others (0-N) to observe
Commands Eventsvs
1. All about intent
2. Directed
3. Single addressable
destination
4. Models personal
communication
1. Intentless
2. Anonymous
3. Just happens - for
others (0-N) to observe
4. Models broadcast
(speakers corner)
Commands Eventsvs
1. All about intent
2. Directed
3. Single addressable
destination
4. Models personal
communication
5. Distributed focus
1. Intentless
2. Anonymous
3. Just happens - for
others (0-N) to observe
4. Models broadcast
(speakers corner)
5. Local focus
Commands Eventsvs
1. All about intent
2. Directed
3. Single addressable
destination
4. Models personal
communication
5. Distributed focus
6. Command & Control
1. Intentless
2. Anonymous
3. Just happens - for
others (0-N) to observe
4. Models broadcast
(speakers corner)
5. Local focus
6. Autonomy
Let the Events Define the
Bounded Context
Event Driven
Services
1. REceive & react (or not) 

to facts* that are coming its way
Event Driven
Services
1. REceive & react (or not) 

to facts* that are coming its way
2. Publish new facts* asynchronously 

to the rest of the world
Event Driven
Services
1. REceive & react (or not) 

to facts* that are coming its way
2. Publish new facts* asynchronously 

to the rest of the world
3. Invert the control flow

to minimize coupling and increase autonomy
Event Driven
Services
1. REceive & react (or not) 

to facts* that are coming its way
2. Publish new facts* asynchronously 

to the rest of the world
3. Invert the control flow

to minimize coupling and increase autonomy
Event Driven
Services
*Facts == Immutable Events
Mutable State Is Fine
But Needs To Be
Contained
And Non Observable
Publish Facts
To Outside World
✴ Maintains Integrity & consistency
✴ Is our Unit of Consistency
✴ Is our Unit of Failure
✴ Is our Unit of Determinism
✴ Is fully Autonomous
The Aggregate
Event Driven
Services
Event Driven
Services
Event Driven
Services
Command
Event Driven
Services
Command
Event Driven
Services
Command
Event Driven
Services
Command
Event
Event Stream
Event Driven
Services
Command
Event
EventEvent
Event Stream
Event Driven
Services
Command
Event
EventEvent
Event Stream
Event Driven
Services
Command
Event
EventEvent
Event Stream
Event Driven
Services
Command
Event
EventEvent
Event Stream
Event Driven
Services
Command
Event
EventEvent
Event Stream
Event Driven
Services
Eventual
Consistency
Command
Event
EventEvent
Event Stream
Event
Stream
Use The
Event
Stream
Use The
as the communication fabric
Event
Stream
Use The
Event
Stream
Use The
as the integration fabric
Event
Stream
Use The
Event
Stream
Use The
as the replication fabric
Event
Stream
Use The
Event
Stream
Use The
as the consensus fabric
Event
Stream
Use The
Event
Stream
Use The
as the Persistence fabric
The Problem With
CRUD Services
✴ CRUD is fine for totally isolated data
The Problem With
CRUD Services
✴ CRUD is fine for totally isolated data
✴ But, cross CRUD services consistency
The Problem With
CRUD Services
✴ CRUD is fine for totally isolated data
✴ But, cross CRUD services consistency
➡ Is hard ⇨ No Joins
The Problem With
CRUD Services
✴ CRUD is fine for totally isolated data
✴ But, cross CRUD services consistency
➡ Is hard ⇨ No Joins
➡ Has ad-hoc & weak guarantees
The Problem With
CRUD Services
✴ CRUD is fine for totally isolated data
✴ But, cross CRUD services consistency
➡ Is hard ⇨ No Joins
➡ Has ad-hoc & weak guarantees
The Problem With
CRUD Services
“Two-phase commit is the
anti-availability protocol.”
- Pat Helland
Standing on Distributed Shoulders of Giants - Pat Helland
STRONG
Consistency
Is the wrong default
In distributed systems
STRONG
Consistency
Is the wrong default
In distributed systems
What can we do?
Eventual
Consistency
We have to rely on
Eventual
Consistency
We have to rely on
But relax—it’s how the world works
Embrace
Reality
We Need to
Embrace
Reality
We Need to
Not Fight it
Information
Has Latency
Information Is Always
From the Past
Welcome To The Wild Ocean Of
Non Determinism
Distributed Systems
“In a system which cannot count on
distributed transactions, the management
of uncertainty must be implemented in the
business logic.”
- Pat Helland
Life Beyond Distributed Transactions, Pat Helland (2007)
We Need To Model
Uncertainty
Events Can Lead To Greater
Certainty
“An autonomus component can only
promise its own behavior.”
“Autonomy makes information local,
leading to greater certainty and stability.”
- Mark Burgess
In Search of Certainty, Thinking in Promises - Mark Burgess
Events Can Help Us Craft
Autonomous Islands
Of Determinism
Data on the inside vs Data on the outside - Pat Helland
Data on the inside vs Data on the outside - Pat Helland
Inside Data
Our current present ⇨ state
Data on the inside vs Data on the outside - Pat Helland
Inside Data
Our current present ⇨ state
Outside Data
Blast from the past ⇨ Events/facts
Data on the inside vs Data on the outside - Pat Helland
Inside Data
Our current present ⇨ state
Outside Data
Blast from the past ⇨ Events/facts
Between Services
Hope for the future ⇨ commands
A system of microservices is a
never ending stream towards convergence
There Is No Now
A system of microservices is a
never ending stream towards convergence
Resilience
is by
Design
Photo courtesy of FEMA/Joselyne Augustino
Events Can Help Us
Manage
Failure
Instead Of Trying To Avoid It
Requirements for a
Sane Failure Model
1. Contained—Avoid cascading failures
2. Reified—as Events
3. Signalled—Asynchronously
4. Observed—by 1-N
5. Managed—Outside failed Context
Failures need to be
Event Based
Persistence
You can use CRUD
Together with Event Streams
To get an internally consistent Materialized View
Service B
Service A
You can use CRUD
Together with Event Streams
To get an internally consistent Materialized View
Service B
Service A
CRUD
You can use CRUD
Together with Event Streams
To get an internally consistent Materialized View
CRUD
Service B
Service A
TABLE A
CRUD
TABLE B
You can use CRUD
Together with Event Streams
To get an internally consistent Materialized View
CRUD
Service B
Service A
TABLE A
CRUD
TABLE B
You can use CRUD
Together with Event Streams
To get an internally consistent Materialized View
CRUD
Service B
Service A
TABLE A
CRUD
TABLE B
You can use CRUD
Together with Event Streams
To get an internally consistent Materialized View
CRUD
Atomic Update & event
Service B
Service A
TABLE A
CRUD
TABLE B
You can use CRUD
Together with Event Streams
To get an internally consistent Materialized View
CRUD
Atomic Update & event
Service C
Service B
Service A
TABLE A
CRUD
TABLE B
You can use CRUD
Together with Event Streams
To get an internally consistent Materialized View
CRUD
Atomic Update & event
Service C
Service B
Service A
TABLE A
CRUD
TABLE B
You can use CRUD
Together with Event Streams
To get an internally consistent Materialized View
CRUD
Atomic Update & event
Service C
Service B
Service A
TABLE A
CRUD
TABLE B
JOINS
Table A
Table B
You can use CRUD
Together with Event Streams
To get an internally consistent Materialized View
CRUD
Atomic Update & event
Service C
Service B
Service A
TABLE A
CRUD
TABLE B
JOINS
Table A
Table B
You can use CRUD
Together with Event Streams
To get an internally consistent Materialized View
CRUD
Read
Only
Atomic Update & event
Service C
Service B
Service A
Eventual
Consistency
TABLE A
CRUD
TABLE B
JOINS
Table A
Table B
You can use CRUD
Together with Event Streams
To get an internally consistent Materialized View
CRUD
Read
Only
Atomic Update & event
“Update-in-place strikes systems
designers as a cardinal sin: it violates
traditional accounting practices that have
been observed for hundreds of years.”
- jim Gray
The Transaction Concept, Jim Gray (1981)
“The truth is the log.
The database is a cache
of a subset of the log.”
- Pat Helland
Immutability Changes Everything, Pat Helland (2015)
Event Logging
The Bedrock
Event Sourcing
A Cure For the Cardinal Sin
Event
Sourced
Services
Happy Path
Event
Sourced
Services
Happy Path
Event
Sourced
Services
1) Receive and verify Command
(“ApprovePayment”)
Happy Path
Event
Sourced
Services
2) Create new Event
(“PaymentApproved”)
1) Receive and verify Command
(“ApprovePayment”)
Happy Path
Event
Sourced
Services
2) Create new Event
(“PaymentApproved”)
1) Receive and verify Command
(“ApprovePayment”)
3) Append Event
to Event Log
Happy Path
Event
Sourced
Services
2) Create new Event
(“PaymentApproved”)
1) Receive and verify Command
(“ApprovePayment”)
3) Append Event
to Event Log
4) Update internal
component state
Happy Path
Event
Sourced
Services
5) Run side-effects
(approve the payment)
2) Create new Event
(“PaymentApproved”)
1) Receive and verify Command
(“ApprovePayment”)
3) Append Event
to Event Log
4) Update internal
component state
SAD Path - recover from failure
Happy Path
Event
Sourced
Services
5) Run side-effects
(approve the payment)
2) Create new Event
(“PaymentApproved”)
1) Receive and verify Command
(“ApprovePayment”)
3) Append Event
to Event Log
4) Update internal
component state
SAD Path - recover from failure
Happy Path
Event
Sourced
Services
5) Run side-effects
(approve the payment)
2) Create new Event
(“PaymentApproved”)
1) Receive and verify Command
(“ApprovePayment”)
3) Append Event
to Event Log
4) Update internal
component state
1) Rehydrate Events
from Event Log
SAD Path - recover from failure
Happy Path
Event
Sourced
Services
5) Run side-effects
(approve the payment)
2) Create new Event
(“PaymentApproved”)
1) Receive and verify Command
(“ApprovePayment”)
3) Append Event
to Event Log
4) Update internal
component state
1) Rehydrate Events
from Event Log
2) Update internal
component state
SAD Path - recover from failure
Happy Path
Event
Sourced
Services
5) Run side-effects
(approve the payment)
2) Create new Event
(“PaymentApproved”)
1) Receive and verify Command
(“ApprovePayment”)
3) Append Event
to Event Log
4) Update internal
component state
1) Rehydrate Events
from Event Log
2) Update internal
component state
Memory Image
Event Sourcing
Event Sourcing
✴ One single Source of Truth with All history
Event Sourcing
✴ One single Source of Truth with All history
✴ Allows for Memory Image (Durable In-Memory State)
Event Sourcing
✴ One single Source of Truth with All history
✴ Allows for Memory Image (Durable In-Memory State)
✴ Avoids the Object-relational mismatch
Event Sourcing
✴ One single Source of Truth with All history
✴ Allows for Memory Image (Durable In-Memory State)
✴ Avoids the Object-relational mismatch
✴ Allows others to Subscribe to state changes
Event Sourcing
✴ One single Source of Truth with All history
✴ Allows for Memory Image (Durable In-Memory State)
✴ Avoids the Object-relational mismatch
✴ Allows others to Subscribe to state changes
✴ Has good Mechanical sympathy

(Single Writer Principle etc.)
Untangle Your
Read and Write Models
With CQRS
CQRS
CQRS
CQRS
Write Side Model
Commands
CQRS
Write Side Model
Write to Event Log
Commands
CQRS
Write Side Model
Events
Write to Event Log
Commands
CQRS
Write Side Model
Events
Events
Write to Event Log
Commands
CQRS
Read Side Model
Write Side Model
Events
Events
Read Data Store
Write to Event Log
Commands
CQRS
Read Side Model
Write Side Model
Events
Queries
Events
Read Data Store
Write to Event Log
Commands
CQRS
Read Side Model
Write Side Model
Events
Queries
Events
Read Data Store
Write to Event Log
Eventual
Consistency
Commands
EventsAllow Us To Manage
Time
“Modelling events forces you to have a 

temporal focus on what’s going on in the system.
Time becomes a crucial factor of the system.”
- Greg Young
A Decade of DDD, CQRS, Event Sourcing, Greg Young (Presentation from 2016)
✴ Event is a snapshot in time
✴ Event ID is an index for time
✴ Event Log is our full history
The database of Our past
The path to Our present
Event Sourcing
Allows Us To
Model Time
Event Sourcing
Allows For
Time Travel
Event Sourcing
Allows For
Time Travel
Event Sourcing
Allows For
Time Travel
✴Replay the log for historic debugging
✴Replay the log for auditing & traceability
✴Replay the log on failure
✴Replay the log for replication
We Can Even Fork the Past
...Or Join Two Distinct Pasts
Key Takeaways
Key Takeaways
Events-First design helps you to:
✴ reduce risk when modernizing applications
✴ Move Faster towards a Resilient and Scalable architecture
✴ Design autonomous services
✴ Balance Certainty and Uncertainty
Key Takeaways
Events-First design helps you to:
✴ reduce risk when modernizing applications
✴ Move Faster towards a Resilient and Scalable architecture
✴ Design autonomous services
✴ Balance Certainty and Uncertainty
Event Logging allows you to:
✴ AVOID CRUD and ORM
✴ take control of your system’s history
✴ time-travel
✴Balance Strong and eventual consistency
http://akka.io
Learn More
Download my latest book for free at:
bit.ly/reactive-microsystems
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
microservices-events-first-design

Mais conteúdo relacionado

Semelhante a Designing Events-First Microservices

Making the Most of Customer Data
Making the Most of Customer DataMaking the Most of Customer Data
Making the Most of Customer Data
WSO2
 
Data-Driven Fast Track: Introduction to data-drivenness with Piotr Menclewicz
Data-Driven Fast Track: Introduction to data-drivenness with Piotr MenclewiczData-Driven Fast Track: Introduction to data-drivenness with Piotr Menclewicz
Data-Driven Fast Track: Introduction to data-drivenness with Piotr Menclewicz
GetInData
 
Bright talk running a cloud - final
Bright talk   running a cloud - finalBright talk   running a cloud - final
Bright talk running a cloud - final
Andrew White
 
Designing the mobile experience powerpoint
Designing the mobile experience powerpointDesigning the mobile experience powerpoint
Designing the mobile experience powerpoint
Daniel Downs
 

Semelhante a Designing Events-First Microservices (20)

Digital transformation by Jo Caudron
Digital transformation by Jo CaudronDigital transformation by Jo Caudron
Digital transformation by Jo Caudron
 
Nexus of Force and Social
Nexus of Force and SocialNexus of Force and Social
Nexus of Force and Social
 
mri-bp2015
mri-bp2015mri-bp2015
mri-bp2015
 
DevOps Roadtrip NYC
DevOps Roadtrip NYC DevOps Roadtrip NYC
DevOps Roadtrip NYC
 
The Reactive Principles: Design Principles For Cloud Native Applications
The Reactive Principles: Design Principles For Cloud Native ApplicationsThe Reactive Principles: Design Principles For Cloud Native Applications
The Reactive Principles: Design Principles For Cloud Native Applications
 
Making the Most of Customer Data
Making the Most of Customer DataMaking the Most of Customer Data
Making the Most of Customer Data
 
Intuition & Use-Cases of Embeddings in NLP & beyond
Intuition & Use-Cases of Embeddings in NLP & beyondIntuition & Use-Cases of Embeddings in NLP & beyond
Intuition & Use-Cases of Embeddings in NLP & beyond
 
The End of Events as We Know It
The End of Events as We Know ItThe End of Events as We Know It
The End of Events as We Know It
 
SplunkLive! Paris 2018: Event Management Is Dead
SplunkLive! Paris 2018: Event Management Is DeadSplunkLive! Paris 2018: Event Management Is Dead
SplunkLive! Paris 2018: Event Management Is Dead
 
Cybercrime and the Developer Java2Days 2016 Sofia
Cybercrime and the Developer Java2Days 2016 SofiaCybercrime and the Developer Java2Days 2016 Sofia
Cybercrime and the Developer Java2Days 2016 Sofia
 
50.000 orange stickies later
50.000 orange stickies later50.000 orange stickies later
50.000 orange stickies later
 
App crazy?
App crazy?App crazy?
App crazy?
 
Ensuring Project Success Through Automated Risk Management
Ensuring Project Success Through Automated Risk ManagementEnsuring Project Success Through Automated Risk Management
Ensuring Project Success Through Automated Risk Management
 
Data-Driven Fast Track: Introduction to data-drivenness with Piotr Menclewicz
Data-Driven Fast Track: Introduction to data-drivenness with Piotr MenclewiczData-Driven Fast Track: Introduction to data-drivenness with Piotr Menclewicz
Data-Driven Fast Track: Introduction to data-drivenness with Piotr Menclewicz
 
Eventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalkEventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalk
 
Dave Lewis | Zero Trust & The Flaming Sword of Justice | Codemotion Madrid 2018
Dave Lewis | Zero Trust & The Flaming Sword of Justice | Codemotion Madrid 2018 Dave Lewis | Zero Trust & The Flaming Sword of Justice | Codemotion Madrid 2018
Dave Lewis | Zero Trust & The Flaming Sword of Justice | Codemotion Madrid 2018
 
Bright talk running a cloud - final
Bright talk   running a cloud - finalBright talk   running a cloud - final
Bright talk running a cloud - final
 
Designing the mobile experience powerpoint
Designing the mobile experience powerpointDesigning the mobile experience powerpoint
Designing the mobile experience powerpoint
 
Incident Management in the Age of DevOps and SRE
Incident Management in the Age of DevOps and SRE Incident Management in the Age of DevOps and SRE
Incident Management in the Age of DevOps and SRE
 
Frakture 4 fold webinar presentation 2015-04_23
Frakture 4 fold webinar presentation 2015-04_23Frakture 4 fold webinar presentation 2015-04_23
Frakture 4 fold webinar presentation 2015-04_23
 

Mais de C4Media

Mais de 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
 
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
 
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
 
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
 
Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No Keeper
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like Owners
 
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
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate Guide
 
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
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine Learning
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at Speed
 
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
 
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
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly Compiler
 
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
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's Edge
 
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
 
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
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data Engineering
 
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
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 

Designing Events-First Microservices