SlideShare ist ein Scribd-Unternehmen logo
1 von 270
Downloaden Sie, um offline zu lesen
How Did I Get Here?
Building Confidence in a Distributed Stream Processor
Sean T. Allen
T
T
Experience Report
Stream Processor
Prototype
Started January 2016
Prototype
Started January 2016
Production
Started April 2016
Production
Started April 2016
America
is all about speed.
Hot, nasty, bad-ass speed.
— Eleanor Roosevelt
High Throughput
Buffy: Goals
Low Latency
Buffy: Goals
Less Hardware
Buffy: Goals
America
is all about data quality.
Quiet, demure data quality.
— Andrew Jackson
High Fidelity
Buffy: Goals
Stream Processing
Message at a time
Never ending
Failure
Machine Failure
Slow Machine
Segfaulting Process
GC Pause
Network Error
Failure Happens
Delivery Guarantees
At-Most-Once
At-Most-Once
Best Effort
At-Least-Once
At-Least-Once
ACK or resend
Exactly-Once
Exactly-Once
At-Least-Once + Idempotence
Exactly-Once
Confidence
Black Box Testing
Black Box Testing
Black Box Testing
Black Box Testing
Black Box Testing
System Under Test
Black Box Testing
Input Source
Black Box Testing
Output Receiver
Black Box Testing
Unit Testing
because
isn't enough
Black Box Testing
Integration Testing
because
isn't enough
Black Box Testing
composed components
because
have interesting new failure modes
Black Box Testing
Test The Entire System
Black Box Testing
Test The Entire System
end to end
Black Box Testing
Test The Entire System
end to end
Black Box Testing
and verify your expectations
Wesley
Expectation verification for Buffy
Wesley
Wesley
Input
Wesley
Output
Wesley
Input Output
Input Source
Wesley
Input Source
Wesley
Output Receiver
Wesley
Input Source
Records sent data
1,2,3,4
Wesley
Input Source
Records sent data Records received data
2,4,6,81,2,3,4
Output Receiver
Wesley
Wesley
Analyze!
Wesley
Wesley
Wesley
Wesley
Wesley
Wesley
Wesley
Wesley
Wesley
It Works!
Spike
Fault injection for Buffy
Fault Injection
Lineage-driven
fault injection
Start from a good result
Spike: LDFI
Input
Spike: LDFI
Output
Spike: LDFI
Figure out what can go
wrong
Spike: LDFI
Nemesis
Spike: LDFI
Each "wrong" is a possible
The Network
Spike: LDFI
Our first nemesis:
Determinism is key
Spike
Repeated runs with different results
==
Mostly Useless
Spike
Spike
Spike
Inject failures as informed by TCP
Spike
TCP Guarantees:
Spike
TCP Guarantees:
Per connection in order delivery
Spike
Per connection in order delivery
Per connection duplicate detection
TCP Guarantees:
Spike
Per connection in order delivery
Per connection duplicate detection
Per connection retransmission of lost data
TCP Guarantees:
TCP in Pony: Event Driven
TCP in Pony: Event Driven
TCP in Pony: Event Driven
TCP in Pony: Event Driven
TCP in Pony: Event Driven
Useless Notifier
Useless Notifier
Useless Notifier
Dropped Connections
Nemesis #1:
Spike: Drop Connection
Spike: Drop Connection
Spike: Drop Connection
Spike: Drop Connection
Spike: Drop Connection
Spike: Drop Connection
• Incoming connection accepted
Spike: Drop Connection
• Incoming connection accepted
• Attempting outgoing connection
Spike: Drop Connection
• Incoming connection accepted
• Attempting outgoing connection
• Connection established
Spike: Drop Connection
• Incoming connection accepted
• Attempting outgoing connection
• Connection established
• Data sent
Spike: Drop Connection
• Incoming connection accepted
• Attempting outgoing connection
• Connection established
• Data sent
• Data received
Integrating Spike
"Double and Halve" app
Integrating Spike
"Double and Halve" app
Integrating Spike
"Double and Halve" app
Integrating Spike
"Double and Halve" app
Integrating Spike
"Double and Halve" app
Integrating Spike
"Double and Halve" app
Integrating Spike
"Double and Halve" app
Integrating Spike
"Double and Halve" app
Integrating Spike
"Double and Halve" app
Integrating Spike
"Double and Halve" app
• Easy to verify
Integrating Spike
"Double and Halve" app
• Easy to verify
• Messages cross process boundary
Integrating Spike
"Double and Halve" app
• Easy to verify
• Messages cross process boundary
• Messages cross network boundary
Integrating Spike
"Double and Halve" app
Integrating Spike
• Double and Halve App
Integrating Spike
• Double and Halve App
• No Spiking
Integrating Spike
• Double and Halve App
• No Spiking
• Test, Test, Test
Integrating Spike
• Double and Halve App
• No Spiking
• Test, Test, Test
• Wesley: It passes! It passes! It passes!
Integrating Spike
• Double and Halve App
Integrating Spike
• Double and Halve App
• Spike with “drop connection”
Integrating Spike
• Double and Halve App
• Spike with “drop connection”
• Test, Test, Test
Integrating Spike
• Double and Halve App
• Spike with “drop connection”
• Test, Test, Test
• Wesley: It fails! It fails! It fails!
Integrating Spike
Integrating Spike
== Session Recovery!
Integrating Spike
• Double and Halve App
Integrating Spike
• Double and Halve App
• Spike with “drop connection”
Integrating Spike
• Double and Halve App
• Spike with “drop connection”
• Test, Test, Test
Integrating Spike
• Double and Halve App
• Spike with “drop connection”
• Test, Test, Test
• Wesley: It passes! It passes! It passes!
Repeated runs with different results
==
Mostly Useless
Spike
Determinism & Spike
It's easy to get wrong
Determinism & Spike
Determinism & Spike
TCP delivery is not deterministic
Determinism & Spike
TCP guarantees:
Per connection in order delivery
Determinism & Spike
Per connection in order delivery
Per connection duplicate detection
TCP guarantees:
Determinism & Spike
Per connection in order delivery
Per connection duplicate detection
Per connection retransmission of lost data
TCP guarantees:
Determinism & Spike
Per connection in order delivery
Per connection duplicate detection
Per connection retransmission of lost data
but it doesn't guarantee determinism
TCP guarantees:
Determinism & Spike
TCP delivery is not deterministic
Determinism & Spike
TCP delivery is not deterministic
Determinism & Spike
TCP delivery is not deterministic
Determinism & Spike
TCP delivery is not deterministicPer method call Spiking won't work
Determinism & Spike
TCP delivery is not deterministicPer method call Spiking won't work
unless we make it work…
Determinism & Spike
TCP message framing
Determinism & Spike
TCP message framing
Determinism & Spike
TCP message framing
Determinism & Spike
TCP message framing
Determinism & Spike
TCP message framing
Determinism & Spike
TCP message framing
Determinism & Spike
TCP message framing
Determinism & Spike
TCP message framing
Determinism & Spike
TCP message framing
Determinism & Spike
Expect in action
Determinism & Spike
Expect in action
Determinism & Spike
Expect in action
Determinism & Spike
Expect in action
Determinism & Spike
Expect in action
Determinism & Spike
Expect in action
Determinism & Spike
Expect in action
Determinism & Spike
Expect in action
Determinism & Spike
Expect in action
Determinism & Spike
Expect in action
Determinism & Spike
Expect makes received deterministic
Determinism & Spike
Expect makes received deterministic
Determinism & Spike
Expect makes received deterministic
Determinism & Spike
Expect makes received deterministic
Determinism & Spike
Expect makes received deterministic
Determinism & Spike
Expect makes received deterministic
Determinism & Spike
Expect makes received deterministic
Determinism & Spike
Received gets called with
Determinism & Spike
then…
Determinism & Spike
and then another…
Determinism & Spike
and finally…
Same number of notifier method calls
Determinism & Spike
no matter how the data arrives
Drop Connection & Expect
fast deterministic friends
Determinism & SpikeDeterminism & Spike
Slow Connections
Nemesis #1:
Spike: Delay
Spike: Delay
Spike: Delay
Spike: Delay
Spike: Delay
Delay overrides expect
Spike: Delay
Delay overrides expect
and controls the flow of bytes
Spike: Delay
Delay overrides expect
and controls the flow of bytes
to maintain determinism
Spike: Delay
Spike: Delay
Spike: Delay
Spike: Delay
Spike: Delay
r TCP
Spike
Spike: Delay
r TCP
Spike
Spike: Delay
r TCP
Spike
Spike: Delay
TCP
Spike: Delay
TCP
TCP
Spike
Spike: Delay
TCP
TCP
TCP
Spike
Spike
Early Results
Early Results
• Bugs in Session Recovery
Found…
Early Results
• Bugs in Session Recovery
• Bug in Pony standard library
Found…
Early Results
• Bugs in Session Recovery
• Bug in Pony standard library
• Bugs in Spike
Found…
Early Results
• Bugs in Session Recovery
• Bug in Pony standard library
• Bugs in Spike
• And more bugs…
Found…
Determinism is key
Early Results
Found…
Determinism is key
Early Results
but hard to achieve
Found…
Data Lineage
WARNING!!!
Vaporware ahead
Output
Data Lineage
How did I get here?
Output
Data Lineage
Data Lineage
Input: 1,2,3
Data Lineage
Input: 1,2,3
Expect: 2,4,6
Data Lineage
Input: 1,2,3
Expect: 2,4,6
Get: 4,6
Data Lineage
Input: 1,2,3
Expect: 2,4,6
Get: 4,6
How did we get here?
these are not our beautiful results
Data Lineage
Input: 1,2,3
Data Lineage
Input: 1,2,3
Expect: 2,4,6
Data Lineage
Input: 1,2,3
Expect: 2,4,6
Get: 2,6,12
Data Lineage
Input: 1,2,3
Expect: 2,4,6
Get: 2,6,12
¯_( )_/¯
Data Lineage to the Rescue!
Data Lineage
Externally verify determinism
Data Lineage
Externally verify determinism
is it REALLY deterministic?
Data Lineage
Find incorrect executions
Data Lineage
Find incorrect executions
bugs in Buffy
Data Lineage
Input: 1
Expected: 2
Got: 4
¯_( )_/¯
Data Lineage
Execution path was…
when it should have been
Data Lineage
when it should have been
Execution path was…
Data Lineage
Useful outside of
development
Data Lineage
Production Debugging
Data Lineage
Production Debugging
how did I get here?
Data Lineage
Audit Log
Data Lineage
Audit Log
why did you do that?
Data Lineage
Hindsight Machine
Building Confidence
is difficult
and frustrating
Don't be this dog
Be this dog
Peter Alvaro
http://www.cs.berkeley.edu/~palvaro/molly.pdf
@palvaro
https://www.youtube.com/watch?v=ggCffvKEJmQ
Lineage-driven Fault Injection:
Outwards from the Middle of the Maze:
Kyle Kingsbury
https://aphyr.com/tags/Jepsen
@aphyr
Jepsen:
Will Wilson
https://www.youtube.com/watch?v=4fFDFbi3toc
Testing Distributed Systems w/ Deterministic Simulation:
Catie McCaffrey
http://queue.acm.org/detail.cfm?ref=rss&id=2889274
@caitie
The Verification of a Distributed System
The Verification of a Distributed System:
A practitioner's guide to increasing confidence in system correctness
2:55 PM Tomorrow in Salon E
Inés Sombra
https://www.youtube.com/watch?v=KSdNYi55kjg
Testing in a Distributed World:
@randommood
http://principlesofchaos.org
Principles of Chaos Engineering:
Chaos Engineering
Thanks
Peter Alvaro
Sylvan Clebsch
Zeeshan Lakhani
John Mumm
Rob Roland
Andrew Turley
@SeanTAllen
Note:
The 'T' is very important

Weitere ähnliche Inhalte

Andere mochten auch

Conflict resolution
Conflict resolutionConflict resolution
Conflict resolutionPACF
 
Redline Smalltalk: The Journey So Far
Redline Smalltalk: The Journey So FarRedline Smalltalk: The Journey So Far
Redline Smalltalk: The Journey So FarSean T Allen
 
Project management presentation
Project management presentationProject management presentation
Project management presentationPACF
 
Plan and programe undertaken for the welfare of sc st obc and minoritie...
Plan and programe undertaken for the   welfare   of sc  st  obc and minoritie...Plan and programe undertaken for the   welfare   of sc  st  obc and minoritie...
Plan and programe undertaken for the welfare of sc st obc and minoritie...SHIV KUMAR
 
management excellence
management excellencemanagement excellence
management excellenceSamrin Hayat
 
3 Steps To Building Your Confidence
3 Steps To Building Your Confidence3 Steps To Building Your Confidence
3 Steps To Building Your ConfidenceAbdul Rahman Khawaja
 
Conflict management presentation
Conflict management presentationConflict management presentation
Conflict management presentationDharmender Gill
 
Managerial excellence ppt 1
Managerial excellence ppt 1Managerial excellence ppt 1
Managerial excellence ppt 1Iyer Subramanian
 
Understanding Conflict Styles - using the Thomas Kilmann Conflict Model
Understanding Conflict Styles - using the Thomas Kilmann Conflict Model Understanding Conflict Styles - using the Thomas Kilmann Conflict Model
Understanding Conflict Styles - using the Thomas Kilmann Conflict Model ktpworks
 
10 steps to building confidence
10 steps to building confidence10 steps to building confidence
10 steps to building confidenceBrenda Silveira
 
Values For Managers | Varun Daahal
Values For Managers | Varun DaahalValues For Managers | Varun Daahal
Values For Managers | Varun DaahalVarun Daahal
 
Personality development and self confidence building
Personality development and self confidence buildingPersonality development and self confidence building
Personality development and self confidence buildingDokka Srinivasu
 
Building self confidence
Building self confidenceBuilding self confidence
Building self confidenceMukul Kumar
 
Conflict management presentation
Conflict management presentationConflict management presentation
Conflict management presentationMal Cocklin
 
PPT conflict management
PPT conflict managementPPT conflict management
PPT conflict managementITC Limited
 
Conflict Resolution Strategies
Conflict Resolution Strategies Conflict Resolution Strategies
Conflict Resolution Strategies Maysoun Mohamed
 

Andere mochten auch (19)

Conflict resolution
Conflict resolutionConflict resolution
Conflict resolution
 
Redline Smalltalk: The Journey So Far
Redline Smalltalk: The Journey So FarRedline Smalltalk: The Journey So Far
Redline Smalltalk: The Journey So Far
 
Project management presentation
Project management presentationProject management presentation
Project management presentation
 
Plan and programe undertaken for the welfare of sc st obc and minoritie...
Plan and programe undertaken for the   welfare   of sc  st  obc and minoritie...Plan and programe undertaken for the   welfare   of sc  st  obc and minoritie...
Plan and programe undertaken for the welfare of sc st obc and minoritie...
 
management excellence
management excellencemanagement excellence
management excellence
 
3 Steps To Building Your Confidence
3 Steps To Building Your Confidence3 Steps To Building Your Confidence
3 Steps To Building Your Confidence
 
The Thomas-Kilmann Conflict Modes Instrument
The Thomas-Kilmann Conflict Modes InstrumentThe Thomas-Kilmann Conflict Modes Instrument
The Thomas-Kilmann Conflict Modes Instrument
 
Conflict management presentation
Conflict management presentationConflict management presentation
Conflict management presentation
 
Managerial excellence ppt 1
Managerial excellence ppt 1Managerial excellence ppt 1
Managerial excellence ppt 1
 
Understanding Conflict Styles - using the Thomas Kilmann Conflict Model
Understanding Conflict Styles - using the Thomas Kilmann Conflict Model Understanding Conflict Styles - using the Thomas Kilmann Conflict Model
Understanding Conflict Styles - using the Thomas Kilmann Conflict Model
 
10 steps to building confidence
10 steps to building confidence10 steps to building confidence
10 steps to building confidence
 
Values For Managers | Varun Daahal
Values For Managers | Varun DaahalValues For Managers | Varun Daahal
Values For Managers | Varun Daahal
 
Confidence Building
Confidence BuildingConfidence Building
Confidence Building
 
Conflict management presentation
Conflict management presentationConflict management presentation
Conflict management presentation
 
Personality development and self confidence building
Personality development and self confidence buildingPersonality development and self confidence building
Personality development and self confidence building
 
Building self confidence
Building self confidenceBuilding self confidence
Building self confidence
 
Conflict management presentation
Conflict management presentationConflict management presentation
Conflict management presentation
 
PPT conflict management
PPT conflict managementPPT conflict management
PPT conflict management
 
Conflict Resolution Strategies
Conflict Resolution Strategies Conflict Resolution Strategies
Conflict Resolution Strategies
 

Ähnlich wie How did I get here? Building confidence in a distributed stream processor

Building Confidence in a Distributed System
Building Confidence in a Distributed SystemBuilding Confidence in a Distributed System
Building Confidence in a Distributed SystemC4Media
 
Building High Fidelity Data Streams (QCon London 2023)
Building High Fidelity Data Streams (QCon London 2023)Building High Fidelity Data Streams (QCon London 2023)
Building High Fidelity Data Streams (QCon London 2023)Sid Anand
 
My Little Webap - DevOpsSec is Magic
My Little Webap - DevOpsSec is MagicMy Little Webap - DevOpsSec is Magic
My Little Webap - DevOpsSec is MagicApollo Clark
 
44CON 2014 - I Hunt TR-069 Admins: Pwning ISPs Like a Boss, Shahar Tal
44CON 2014 - I Hunt TR-069 Admins: Pwning ISPs Like a Boss, Shahar Tal44CON 2014 - I Hunt TR-069 Admins: Pwning ISPs Like a Boss, Shahar Tal
44CON 2014 - I Hunt TR-069 Admins: Pwning ISPs Like a Boss, Shahar Tal44CON
 
connectivity utility
connectivity utilityconnectivity utility
connectivity utilitytumetr1
 
Jon McCoy - AppSec-USA-2014 Hacking C#(.NET) Applications:Defend by Design
Jon McCoy - AppSec-USA-2014 Hacking C#(.NET) Applications:Defend by DesignJon McCoy - AppSec-USA-2014 Hacking C#(.NET) Applications:Defend by Design
Jon McCoy - AppSec-USA-2014 Hacking C#(.NET) Applications:Defend by Designjonmccoy
 
Beyond Ethical Hacking By Nipun Jaswal , CSA HCF Infosec Pvt. Ltd
Beyond Ethical Hacking By Nipun Jaswal , CSA HCF Infosec Pvt. LtdBeyond Ethical Hacking By Nipun Jaswal , CSA HCF Infosec Pvt. Ltd
Beyond Ethical Hacking By Nipun Jaswal , CSA HCF Infosec Pvt. LtdNipun Jaswal
 
Load-testing 101 for Startups with Artillery.io
Load-testing 101 for Startups with Artillery.ioLoad-testing 101 for Startups with Artillery.io
Load-testing 101 for Startups with Artillery.ioHassy Veldstra
 
"The Sorry State of SSL" Hynek Schlawack, PyConRu 2014
"The Sorry State of SSL" Hynek Schlawack, PyConRu 2014"The Sorry State of SSL" Hynek Schlawack, PyConRu 2014
"The Sorry State of SSL" Hynek Schlawack, PyConRu 2014it-people
 
Dmk blackops2006 ccc
Dmk blackops2006 cccDmk blackops2006 ccc
Dmk blackops2006 cccDan Kaminsky
 
HSB - Secure DNS en BGP ontwikkelingen - Benno Overeinder
HSB - Secure DNS en BGP ontwikkelingen - Benno OvereinderHSB - Secure DNS en BGP ontwikkelingen - Benno Overeinder
HSB - Secure DNS en BGP ontwikkelingen - Benno OvereinderSplend
 
RIPE 84: Revocation
RIPE 84: RevocationRIPE 84: Revocation
RIPE 84: RevocationAPNIC
 
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTC
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTCWebRTC Webinar & Q&A - Debugging Networking Issues in WebRTC
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTCAmir Zmora
 
雲端影音與物聯網平台的軟體工程挑戰:以 Skywatch 為例-陳維超
雲端影音與物聯網平台的軟體工程挑戰:以 Skywatch 為例-陳維超雲端影音與物聯網平台的軟體工程挑戰:以 Skywatch 為例-陳維超
雲端影音與物聯網平台的軟體工程挑戰:以 Skywatch 為例-陳維超台灣資料科學年會
 
We broke up with the monolith, and started dating #eventSourcing - #symfonyCat
We broke up with the monolith, and started dating #eventSourcing - #symfonyCatWe broke up with the monolith, and started dating #eventSourcing - #symfonyCat
We broke up with the monolith, and started dating #eventSourcing - #symfonyCatJavier Ferrer González
 
Measuring IPv6 Performance, RIPE73
Measuring IPv6 Performance, RIPE73Measuring IPv6 Performance, RIPE73
Measuring IPv6 Performance, RIPE73APNIC
 
How Shutl Delivers Even Faster Using Neo4J
How Shutl Delivers Even Faster Using Neo4JHow Shutl Delivers Even Faster Using Neo4J
How Shutl Delivers Even Faster Using Neo4JC4Media
 

Ähnlich wie How did I get here? Building confidence in a distributed stream processor (20)

Building Confidence in a Distributed System
Building Confidence in a Distributed SystemBuilding Confidence in a Distributed System
Building Confidence in a Distributed System
 
Building High Fidelity Data Streams (QCon London 2023)
Building High Fidelity Data Streams (QCon London 2023)Building High Fidelity Data Streams (QCon London 2023)
Building High Fidelity Data Streams (QCon London 2023)
 
My Little Webap - DevOpsSec is Magic
My Little Webap - DevOpsSec is MagicMy Little Webap - DevOpsSec is Magic
My Little Webap - DevOpsSec is Magic
 
Part2-Apps-Security.pptx
Part2-Apps-Security.pptxPart2-Apps-Security.pptx
Part2-Apps-Security.pptx
 
44CON 2014 - I Hunt TR-069 Admins: Pwning ISPs Like a Boss, Shahar Tal
44CON 2014 - I Hunt TR-069 Admins: Pwning ISPs Like a Boss, Shahar Tal44CON 2014 - I Hunt TR-069 Admins: Pwning ISPs Like a Boss, Shahar Tal
44CON 2014 - I Hunt TR-069 Admins: Pwning ISPs Like a Boss, Shahar Tal
 
connectivity utility
connectivity utilityconnectivity utility
connectivity utility
 
Jon McCoy - AppSec-USA-2014 Hacking C#(.NET) Applications:Defend by Design
Jon McCoy - AppSec-USA-2014 Hacking C#(.NET) Applications:Defend by DesignJon McCoy - AppSec-USA-2014 Hacking C#(.NET) Applications:Defend by Design
Jon McCoy - AppSec-USA-2014 Hacking C#(.NET) Applications:Defend by Design
 
Message passing
Message passingMessage passing
Message passing
 
Beyond Ethical Hacking By Nipun Jaswal , CSA HCF Infosec Pvt. Ltd
Beyond Ethical Hacking By Nipun Jaswal , CSA HCF Infosec Pvt. LtdBeyond Ethical Hacking By Nipun Jaswal , CSA HCF Infosec Pvt. Ltd
Beyond Ethical Hacking By Nipun Jaswal , CSA HCF Infosec Pvt. Ltd
 
Load-testing 101 for Startups with Artillery.io
Load-testing 101 for Startups with Artillery.ioLoad-testing 101 for Startups with Artillery.io
Load-testing 101 for Startups with Artillery.io
 
"The Sorry State of SSL" Hynek Schlawack, PyConRu 2014
"The Sorry State of SSL" Hynek Schlawack, PyConRu 2014"The Sorry State of SSL" Hynek Schlawack, PyConRu 2014
"The Sorry State of SSL" Hynek Schlawack, PyConRu 2014
 
Dmk blackops2006 ccc
Dmk blackops2006 cccDmk blackops2006 ccc
Dmk blackops2006 ccc
 
HSB - Secure DNS en BGP ontwikkelingen - Benno Overeinder
HSB - Secure DNS en BGP ontwikkelingen - Benno OvereinderHSB - Secure DNS en BGP ontwikkelingen - Benno Overeinder
HSB - Secure DNS en BGP ontwikkelingen - Benno Overeinder
 
RIPE 84: Revocation
RIPE 84: RevocationRIPE 84: Revocation
RIPE 84: Revocation
 
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTC
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTCWebRTC Webinar & Q&A - Debugging Networking Issues in WebRTC
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTC
 
雲端影音與物聯網平台的軟體工程挑戰:以 Skywatch 為例-陳維超
雲端影音與物聯網平台的軟體工程挑戰:以 Skywatch 為例-陳維超雲端影音與物聯網平台的軟體工程挑戰:以 Skywatch 為例-陳維超
雲端影音與物聯網平台的軟體工程挑戰:以 Skywatch 為例-陳維超
 
We broke up with the monolith, and started dating #eventSourcing - #symfonyCat
We broke up with the monolith, and started dating #eventSourcing - #symfonyCatWe broke up with the monolith, and started dating #eventSourcing - #symfonyCat
We broke up with the monolith, and started dating #eventSourcing - #symfonyCat
 
Measuring IPv6 Performance, RIPE73
Measuring IPv6 Performance, RIPE73Measuring IPv6 Performance, RIPE73
Measuring IPv6 Performance, RIPE73
 
How Shutl Delivers Even Faster Using Neo4J
How Shutl Delivers Even Faster Using Neo4JHow Shutl Delivers Even Faster Using Neo4J
How Shutl Delivers Even Faster Using Neo4J
 
Ntxissacsc5 red 1 & 2 basic hacking tools ncc group
Ntxissacsc5 red 1 & 2   basic hacking tools ncc groupNtxissacsc5 red 1 & 2   basic hacking tools ncc group
Ntxissacsc5 red 1 & 2 basic hacking tools ncc group
 

Kürzlich hochgeladen

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 

Kürzlich hochgeladen (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
+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
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 

How did I get here? Building confidence in a distributed stream processor