SlideShare a Scribd company logo
1 of 89
Download to read offline
Life BEYOND
the ILLUSION
of PRESENT
Jonas Bonér
CTO Typesafe
@jboner
"Time is what prevents everything from happening at once."
- John Archibald Wheeler
Newton's
PHYSICS
THIS SIMPLIFIED MODEL IS
VERY APPEALING TO US
von Neumann
ARCHITECTURE
BACK THEN
LIFE WAS GOOD
THEN, ALONG CAME
CONCURRENCY
MADE LIFE MISERABLE
Jim Gray's
TRANSACTIONS
SAVE THE DAY
WELL, ALONG CAME
DISTRIBUTION
MADE LIFE MISERABLE, again...
But don't be surprised
UNFORTUNATELY,
THIS IS NOT
HOW THE WORLD WORKS
"The future is a function of the past."
- A. P. Robertson
"The (local) present is a merge function of
multiple concurrent pasts."
— Me
val newLocalPresent = observedPasts.
foldLeft(oldLocalPresent) { _ merge _ }
WE NEED TO EXPLICITLY MODEL THE
LOCAL PRESENT AS
FACTS DERIVED FROM THE
MERGING OF MULTIPLE
CONCURRENT PASTS
INFORMATION IS ALWAYS FROM THE PAST
THE TRUTH
IS CLOSER TO
EINSTEIN'S
PHYSICS
INFORMATION HAS
LATENCY
THE COST OF MAINTAINING
THIS ILLUSION IS INCREASED
CONTENTION &
COHERENCY
AS LATENCY GETS HIGHER, THE
ILLUSION CRACKS EVEN MORE
DISTRIBUTED SYSTEMS
EVERYWHERE
THE NETWORK IS RELIABLE...NAT
"If a tree falls in a forest and no one is around to hear it, does it make a
sound?"
— Charles Riborg Mann
Information CAN (and will) GET LOST
HOW DO WE DEAL WITH
INFORMATION LOSS
IN REAL LIFE?
WE USE A SIMPLE PROTOCOL OF
Confirm, Wait & Repeat
We fill in THE BLANKS
...AND IF WE ARE WRONG, WE TAKE
COMPENSATING ACTIONAPOLOGY-ORIENTED PROGRAMMING - PAT HELLAND (IN MEMORIES, GUESSES, AND APOLOGIES)
The bottom line:
WE CAN'T FORCE THE WORLD INTO A
SINGLE GLOBALLY CONSISTENT
PRESENT
Should we just GIVE UP?
I BELIEVE THAT THERE IS A
PATH FORWARD
WE NEED TO TREAT
TIME AS A
FIRST CLASS CONSTRUCT
WHAT IS TIME, really?
TIME IS THE
SUCCESSION OF
CAUSALLY RELATED EVENTS
How can we
MANAGE
TIME?
Think in FACTS
What is a
FACT?
"A Fact is something that truly exists or happens: something that has
actual existence, a true piece of information."
— Merriam Webster
IMMUTABILITY
is a requirement
So, do variables
HAVE A PURPOSE IN LIFE?
"The assignment statement is the von Neumann bottleneck of
programming languages and keeps us thinking in word-at-a-time terms
in much the same way the computer's bottleneck does."
— John Backus (Turing Award lecture 1977)
MUTABLE STATE
NEEDS TO BE
CONTAINED
Ok, but how should we
MANAGE FACTS?
Functional
PROGRAMMING
Logic
PROGRAMMING
Dataflow
PROGRAMMING
NEVER
DELETE
FACTS
"When bookkeeping was done with clay tablets or paper and ink,
accountants developed some clear rules about good accounting
practices. One never alters the books; if an error is made, it is
annotated and a new compensating entry is made in the books. The
books are thus a complete history of the transactions of the business.
Update-in-place strikes many systems designers as a cardinal sin: it
violates traditional accounting practices that have been observed for
hundreds of years."
— Jim Gray (1981)
CRUD
"Database is a cache of a subset of the log."
— Pat Helland (2007)
Store facts in an
EVENT LOG
The log allows
TIME
TRAVEL
Can we REWRITE THE PAST?
Allows us to shift our focus from
DATA AT REST, to
DATA IN MOTION
Stream Processing
CONSTRUCTING A SUFFICIENTLY CONSISTENT
LOCAL PRESENT
MEANS EMPLOYING
CONSISTENCY MECHANISMS
Consistency
WHAT?
WHY?
WHEN?
WE NEED TO DECOMPOSE THE SYSTEM USING
CONSISTENCY BOUNDARIES
INSIDE DATA: OUR CURRENT PRESENT
OUTSIDE DATA: BLAST FROM THE PAST
BETWEEN SERVICES: HOPE FOR THE FUTURE
— PAT HELLAND (DATA ON THE INSIDE VS DATA ON THE OUTSIDE)
MicroSERVICE
AGGREGATE Root
WITHIN THE CONSISTENCY BOUNDARY
EVENT
Sourcing
BETWEEN THE
Consistency
Boundaries
IT'S A ZOO
Decoupling in
TIME / SPACE
STRONG
CONSISTENCY
The wrong default
Here, we are living in the
LOOMING SHADOW OF
IMPOSSIBILITY
THEOREMS
FLPCONSENSUS IS IMPOSSIBLE
PROTOCOLS CLIMB THE LADDER OF KNOWLEDGE
Cɸ: Common Knowledge (infinite number of i)
Eiɸ: (Everyone knows * i) ɸ
E3ɸ: (Everyone knows * 3) ɸ
E2ɸ: Everyone knows Everyone knows ɸ
E1ɸ: Everyone knows ɸ
Sɸ: Someone knows ɸ
COMMON KNOWLEDGE
IS NOT ATTAINABLE VIA PROTOCOL- JOSEPH HALPERN
CAPCONSISTENCY IS IMPOSSIBLE
Dissecting
CAP
"The first principle of successful scalability is to batter the consistency
mechanisms down to a minimum."
– James Hamilton
EVENTUAL
CONSISTENCY
What does it really mean?
Tracking TIME is tracking CAUSALITY
RELYING ON
TIMESTAMPS
IS A BAD IDEA
Instead, rely on
LOGICAL TIME
Lamport
CLOCKS
GLOBAL CAUSAL ORDERING BETWEEN
Vector
CLOCKSPARTIAL CAUSAL ORDERING BETWEEN EVENTS
Causal
CONSISTENCY
What
CONSISTENCY
DO YOU REALLY NEED AND
when?
ACID 2.0ASSOCIATIVE
COMMUTATIVE
IDEMPOTENT
DISTRIBUTED
CONFLICT-FREE REPLICATED DATA TYPES
DISORDERLY PROGRAMMING
CALM THEOREM
WE ARE JUST GETTING STARTED
WE HAVE A LONG ROAD AHEAD OF US...
Thanks
FOR LISTENING
Life BEYOND
the ILLUSION
of PRESENT
Jonas Bonér
CTO Typesafe
@jboner

More Related Content

What's hot

Java web services using JAX-WS
Java web services using JAX-WSJava web services using JAX-WS
Java web services using JAX-WSIndicThreads
 
Advanced javascript
Advanced javascriptAdvanced javascript
Advanced javascriptDoeun KOCH
 
Sqoop on Spark for Data Ingestion
Sqoop on Spark for Data IngestionSqoop on Spark for Data Ingestion
Sqoop on Spark for Data IngestionDataWorks Summit
 
TCS Interview Questions and Answers 2022 | How to Crack TCS Interview for Fre...
TCS Interview Questions and Answers 2022 | How to Crack TCS Interview for Fre...TCS Interview Questions and Answers 2022 | How to Crack TCS Interview for Fre...
TCS Interview Questions and Answers 2022 | How to Crack TCS Interview for Fre...Simplilearn
 
WebAssembly Demystified
WebAssembly DemystifiedWebAssembly Demystified
WebAssembly DemystifiedJay Phelps
 
High Scale Relational Storage at Salesforce Built with Apache HBase and Apach...
High Scale Relational Storage at Salesforce Built with Apache HBase and Apach...High Scale Relational Storage at Salesforce Built with Apache HBase and Apach...
High Scale Relational Storage at Salesforce Built with Apache HBase and Apach...Salesforce Engineering
 
Stackless Python In Eve
Stackless Python In EveStackless Python In Eve
Stackless Python In Evel xf
 
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...Edureka!
 
gRPC: The Story of Microservices at Square
gRPC: The Story of Microservices at SquaregRPC: The Story of Microservices at Square
gRPC: The Story of Microservices at SquareApigee | Google Cloud
 
Object Oriented Programming for WordPress Plugin Development
Object Oriented Programming for WordPress Plugin DevelopmentObject Oriented Programming for WordPress Plugin Development
Object Oriented Programming for WordPress Plugin Developmentmtoppa
 
Data Analytics and Processing at Snap - Druid Meetup LA - September 2018
Data Analytics and Processing at Snap - Druid Meetup LA - September 2018Data Analytics and Processing at Snap - Druid Meetup LA - September 2018
Data Analytics and Processing at Snap - Druid Meetup LA - September 2018Charles Allen
 
Pros and Cons of a MicroServices Architecture talk at AWS ReInvent
Pros and Cons of a MicroServices Architecture talk at AWS ReInventPros and Cons of a MicroServices Architecture talk at AWS ReInvent
Pros and Cons of a MicroServices Architecture talk at AWS ReInventSudhir Tonse
 
SK플래닛_README_마이크로서비스 아키텍처로 개발하기
SK플래닛_README_마이크로서비스 아키텍처로 개발하기SK플래닛_README_마이크로서비스 아키텍처로 개발하기
SK플래닛_README_마이크로서비스 아키텍처로 개발하기Lee Ji Eun
 
RESTful services
RESTful servicesRESTful services
RESTful servicesgouthamrv
 

What's hot (20)

Java web services using JAX-WS
Java web services using JAX-WSJava web services using JAX-WS
Java web services using JAX-WS
 
Advanced javascript
Advanced javascriptAdvanced javascript
Advanced javascript
 
Sqoop on Spark for Data Ingestion
Sqoop on Spark for Data IngestionSqoop on Spark for Data Ingestion
Sqoop on Spark for Data Ingestion
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
TCS Interview Questions and Answers 2022 | How to Crack TCS Interview for Fre...
TCS Interview Questions and Answers 2022 | How to Crack TCS Interview for Fre...TCS Interview Questions and Answers 2022 | How to Crack TCS Interview for Fre...
TCS Interview Questions and Answers 2022 | How to Crack TCS Interview for Fre...
 
A deep dive into libuv
A deep dive into libuvA deep dive into libuv
A deep dive into libuv
 
Advanced JavaScript
Advanced JavaScriptAdvanced JavaScript
Advanced JavaScript
 
WebAssembly Demystified
WebAssembly DemystifiedWebAssembly Demystified
WebAssembly Demystified
 
Cqrs api v2
Cqrs api v2Cqrs api v2
Cqrs api v2
 
High Scale Relational Storage at Salesforce Built with Apache HBase and Apach...
High Scale Relational Storage at Salesforce Built with Apache HBase and Apach...High Scale Relational Storage at Salesforce Built with Apache HBase and Apach...
High Scale Relational Storage at Salesforce Built with Apache HBase and Apach...
 
Stackless Python In Eve
Stackless Python In EveStackless Python In Eve
Stackless Python In Eve
 
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
 
gRPC: The Story of Microservices at Square
gRPC: The Story of Microservices at SquaregRPC: The Story of Microservices at Square
gRPC: The Story of Microservices at Square
 
Object Oriented Programming for WordPress Plugin Development
Object Oriented Programming for WordPress Plugin DevelopmentObject Oriented Programming for WordPress Plugin Development
Object Oriented Programming for WordPress Plugin Development
 
Data Analytics and Processing at Snap - Druid Meetup LA - September 2018
Data Analytics and Processing at Snap - Druid Meetup LA - September 2018Data Analytics and Processing at Snap - Druid Meetup LA - September 2018
Data Analytics and Processing at Snap - Druid Meetup LA - September 2018
 
Laravel
LaravelLaravel
Laravel
 
Pros and Cons of a MicroServices Architecture talk at AWS ReInvent
Pros and Cons of a MicroServices Architecture talk at AWS ReInventPros and Cons of a MicroServices Architecture talk at AWS ReInvent
Pros and Cons of a MicroServices Architecture talk at AWS ReInvent
 
JS Event Loop
JS Event LoopJS Event Loop
JS Event Loop
 
SK플래닛_README_마이크로서비스 아키텍처로 개발하기
SK플래닛_README_마이크로서비스 아키텍처로 개발하기SK플래닛_README_마이크로서비스 아키텍처로 개발하기
SK플래닛_README_마이크로서비스 아키텍처로 개발하기
 
RESTful services
RESTful servicesRESTful services
RESTful services
 

Similar to Life Beyond the Illusion of Present

Designing the Future Perfect: Developing a temporal understanding of the int...
Designing the Future Perfect: Developing a temporal understanding of the int...Designing the Future Perfect: Developing a temporal understanding of the int...
Designing the Future Perfect: Developing a temporal understanding of the int...Niamh O Riordan
 
Time and Transition : RSD5
Time and Transition : RSD5Time and Transition : RSD5
Time and Transition : RSD5Jabe Bloom
 
Real-time Web: Timeshifting Organizational Learning
Real-time Web: Timeshifting Organizational LearningReal-time Web: Timeshifting Organizational Learning
Real-time Web: Timeshifting Organizational LearningTeemu Arina
 
Life Is Beautiful On The Edge
Life Is Beautiful On The EdgeLife Is Beautiful On The Edge
Life Is Beautiful On The EdgeRich_Hadley
 
THE KEY WORLD LAW ONE MUST KNOW: AB REVERSIBILITY PRINCIPLE: Prime-Principle ...
THE KEY WORLD LAW ONE MUST KNOW: AB REVERSIBILITY PRINCIPLE: Prime-Principle ...THE KEY WORLD LAW ONE MUST KNOW: AB REVERSIBILITY PRINCIPLE: Prime-Principle ...
THE KEY WORLD LAW ONE MUST KNOW: AB REVERSIBILITY PRINCIPLE: Prime-Principle ...Azamat Abdoullaev
 
Martin Geddes - Lean Networking
Martin Geddes - Lean NetworkingMartin Geddes - Lean Networking
Martin Geddes - Lean NetworkingMartin Geddes
 
Setting Time Aright
Setting Time ArightSetting Time Aright
Setting Time ArightSean Carroll
 
Gifford Lecture One: Cosmos, Time, Memory
Gifford Lecture One: Cosmos, Time, MemoryGifford Lecture One: Cosmos, Time, Memory
Gifford Lecture One: Cosmos, Time, MemorySean Carroll
 
Toward a Quantum Theory of Media
Toward a Quantum Theory of MediaToward a Quantum Theory of Media
Toward a Quantum Theory of Mediasarah_crisman
 

Similar to Life Beyond the Illusion of Present (11)

Designing the Future Perfect: Developing a temporal understanding of the int...
Designing the Future Perfect: Developing a temporal understanding of the int...Designing the Future Perfect: Developing a temporal understanding of the int...
Designing the Future Perfect: Developing a temporal understanding of the int...
 
Time and Transition : RSD5
Time and Transition : RSD5Time and Transition : RSD5
Time and Transition : RSD5
 
Timeless streams
Timeless streamsTimeless streams
Timeless streams
 
Real-time Web: Timeshifting Organizational Learning
Real-time Web: Timeshifting Organizational LearningReal-time Web: Timeshifting Organizational Learning
Real-time Web: Timeshifting Organizational Learning
 
Life Is Beautiful On The Edge
Life Is Beautiful On The EdgeLife Is Beautiful On The Edge
Life Is Beautiful On The Edge
 
What is Complexity For?
What is Complexity For?What is Complexity For?
What is Complexity For?
 
THE KEY WORLD LAW ONE MUST KNOW: AB REVERSIBILITY PRINCIPLE: Prime-Principle ...
THE KEY WORLD LAW ONE MUST KNOW: AB REVERSIBILITY PRINCIPLE: Prime-Principle ...THE KEY WORLD LAW ONE MUST KNOW: AB REVERSIBILITY PRINCIPLE: Prime-Principle ...
THE KEY WORLD LAW ONE MUST KNOW: AB REVERSIBILITY PRINCIPLE: Prime-Principle ...
 
Martin Geddes - Lean Networking
Martin Geddes - Lean NetworkingMartin Geddes - Lean Networking
Martin Geddes - Lean Networking
 
Setting Time Aright
Setting Time ArightSetting Time Aright
Setting Time Aright
 
Gifford Lecture One: Cosmos, Time, Memory
Gifford Lecture One: Cosmos, Time, MemoryGifford Lecture One: Cosmos, Time, Memory
Gifford Lecture One: Cosmos, Time, Memory
 
Toward a Quantum Theory of Media
Toward a Quantum Theory of MediaToward a Quantum Theory of Media
Toward a Quantum Theory of Media
 

More from Jonas Bonér

We are drowning in complexity—can we do better?
We are drowning in complexity—can we do better?We are drowning in complexity—can we do better?
We are drowning in complexity—can we do better?Jonas Bonér
 
Kalix: Tackling the The Cloud to Edge Continuum
Kalix: Tackling the The Cloud to Edge ContinuumKalix: Tackling the The Cloud to Edge Continuum
Kalix: Tackling the The Cloud to Edge ContinuumJonas Bonér
 
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 ApplicationsJonas Bonér
 
Cloudstate—Towards Stateful Serverless
Cloudstate—Towards Stateful ServerlessCloudstate—Towards Stateful Serverless
Cloudstate—Towards Stateful ServerlessJonas Bonér
 
Designing Events-first Microservices
Designing Events-first MicroservicesDesigning Events-first Microservices
Designing Events-first MicroservicesJonas Bonér
 
How Events Are Reshaping Modern Systems
How Events Are Reshaping Modern SystemsHow Events Are Reshaping Modern Systems
How Events Are Reshaping Modern SystemsJonas Bonér
 
Reactive Microsystems: The Evolution of Microservices at Scale
Reactive Microsystems: The Evolution of Microservices at ScaleReactive Microsystems: The Evolution of Microservices at Scale
Reactive Microsystems: The Evolution of Microservices at ScaleJonas Bonér
 
From Microliths To Microsystems
From Microliths To MicrosystemsFrom Microliths To Microsystems
From Microliths To MicrosystemsJonas Bonér
 
Without Resilience, Nothing Else Matters
Without Resilience, Nothing Else MattersWithout Resilience, Nothing Else Matters
Without Resilience, Nothing Else MattersJonas Bonér
 
Go Reactive: Building Responsive, Resilient, Elastic & Message-Driven Systems
Go Reactive: Building Responsive, Resilient, Elastic & Message-Driven SystemsGo Reactive: Building Responsive, Resilient, Elastic & Message-Driven Systems
Go Reactive: Building Responsive, Resilient, Elastic & Message-Driven SystemsJonas Bonér
 
Reactive Supply To Changing Demand
Reactive Supply To Changing DemandReactive Supply To Changing Demand
Reactive Supply To Changing DemandJonas Bonér
 
Building Reactive Systems with Akka (in Java 8 or Scala)
Building Reactive Systems with Akka (in Java 8 or Scala)Building Reactive Systems with Akka (in Java 8 or Scala)
Building Reactive Systems with Akka (in Java 8 or Scala)Jonas Bonér
 
Go Reactive: Event-Driven, Scalable, Resilient & Responsive Systems
Go Reactive: Event-Driven, Scalable, Resilient & Responsive SystemsGo Reactive: Event-Driven, Scalable, Resilient & Responsive Systems
Go Reactive: Event-Driven, Scalable, Resilient & Responsive SystemsJonas Bonér
 
Building Scalable, Highly Concurrent & Fault Tolerant Systems - Lessons Learned
Building Scalable, Highly Concurrent & Fault Tolerant Systems -  Lessons LearnedBuilding Scalable, Highly Concurrent & Fault Tolerant Systems -  Lessons Learned
Building Scalable, Highly Concurrent & Fault Tolerant Systems - Lessons LearnedJonas Bonér
 
Event Driven-Architecture from a Scalability perspective
Event Driven-Architecture from a Scalability perspectiveEvent Driven-Architecture from a Scalability perspective
Event Driven-Architecture from a Scalability perspectiveJonas Bonér
 
Scalability, Availability & Stability Patterns
Scalability, Availability & Stability PatternsScalability, Availability & Stability Patterns
Scalability, Availability & Stability PatternsJonas Bonér
 
Akka: Simpler Scalability, Fault-Tolerance, Concurrency & Remoting through Ac...
Akka: Simpler Scalability, Fault-Tolerance, Concurrency & Remoting through Ac...Akka: Simpler Scalability, Fault-Tolerance, Concurrency & Remoting through Ac...
Akka: Simpler Scalability, Fault-Tolerance, Concurrency & Remoting through Ac...Jonas Bonér
 
State: You're Doing It Wrong - Alternative Concurrency Paradigms For The JVM
State: You're Doing It Wrong - Alternative Concurrency Paradigms For The JVMState: You're Doing It Wrong - Alternative Concurrency Paradigms For The JVM
State: You're Doing It Wrong - Alternative Concurrency Paradigms For The JVMJonas Bonér
 
Pragmatic Real-World Scala (short version)
Pragmatic Real-World Scala (short version)Pragmatic Real-World Scala (short version)
Pragmatic Real-World Scala (short version)Jonas Bonér
 

More from Jonas Bonér (20)

We are drowning in complexity—can we do better?
We are drowning in complexity—can we do better?We are drowning in complexity—can we do better?
We are drowning in complexity—can we do better?
 
Kalix: Tackling the The Cloud to Edge Continuum
Kalix: Tackling the The Cloud to Edge ContinuumKalix: Tackling the The Cloud to Edge Continuum
Kalix: Tackling the The Cloud to Edge Continuum
 
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
 
Cloudstate—Towards Stateful Serverless
Cloudstate—Towards Stateful ServerlessCloudstate—Towards Stateful Serverless
Cloudstate—Towards Stateful Serverless
 
Designing Events-first Microservices
Designing Events-first MicroservicesDesigning Events-first Microservices
Designing Events-first Microservices
 
How Events Are Reshaping Modern Systems
How Events Are Reshaping Modern SystemsHow Events Are Reshaping Modern Systems
How Events Are Reshaping Modern Systems
 
Reactive Microsystems: The Evolution of Microservices at Scale
Reactive Microsystems: The Evolution of Microservices at ScaleReactive Microsystems: The Evolution of Microservices at Scale
Reactive Microsystems: The Evolution of Microservices at Scale
 
From Microliths To Microsystems
From Microliths To MicrosystemsFrom Microliths To Microsystems
From Microliths To Microsystems
 
Without Resilience, Nothing Else Matters
Without Resilience, Nothing Else MattersWithout Resilience, Nothing Else Matters
Without Resilience, Nothing Else Matters
 
Go Reactive: Building Responsive, Resilient, Elastic & Message-Driven Systems
Go Reactive: Building Responsive, Resilient, Elastic & Message-Driven SystemsGo Reactive: Building Responsive, Resilient, Elastic & Message-Driven Systems
Go Reactive: Building Responsive, Resilient, Elastic & Message-Driven Systems
 
Reactive Supply To Changing Demand
Reactive Supply To Changing DemandReactive Supply To Changing Demand
Reactive Supply To Changing Demand
 
Building Reactive Systems with Akka (in Java 8 or Scala)
Building Reactive Systems with Akka (in Java 8 or Scala)Building Reactive Systems with Akka (in Java 8 or Scala)
Building Reactive Systems with Akka (in Java 8 or Scala)
 
Go Reactive: Event-Driven, Scalable, Resilient & Responsive Systems
Go Reactive: Event-Driven, Scalable, Resilient & Responsive SystemsGo Reactive: Event-Driven, Scalable, Resilient & Responsive Systems
Go Reactive: Event-Driven, Scalable, Resilient & Responsive Systems
 
Introducing Akka
Introducing AkkaIntroducing Akka
Introducing Akka
 
Building Scalable, Highly Concurrent & Fault Tolerant Systems - Lessons Learned
Building Scalable, Highly Concurrent & Fault Tolerant Systems -  Lessons LearnedBuilding Scalable, Highly Concurrent & Fault Tolerant Systems -  Lessons Learned
Building Scalable, Highly Concurrent & Fault Tolerant Systems - Lessons Learned
 
Event Driven-Architecture from a Scalability perspective
Event Driven-Architecture from a Scalability perspectiveEvent Driven-Architecture from a Scalability perspective
Event Driven-Architecture from a Scalability perspective
 
Scalability, Availability & Stability Patterns
Scalability, Availability & Stability PatternsScalability, Availability & Stability Patterns
Scalability, Availability & Stability Patterns
 
Akka: Simpler Scalability, Fault-Tolerance, Concurrency & Remoting through Ac...
Akka: Simpler Scalability, Fault-Tolerance, Concurrency & Remoting through Ac...Akka: Simpler Scalability, Fault-Tolerance, Concurrency & Remoting through Ac...
Akka: Simpler Scalability, Fault-Tolerance, Concurrency & Remoting through Ac...
 
State: You're Doing It Wrong - Alternative Concurrency Paradigms For The JVM
State: You're Doing It Wrong - Alternative Concurrency Paradigms For The JVMState: You're Doing It Wrong - Alternative Concurrency Paradigms For The JVM
State: You're Doing It Wrong - Alternative Concurrency Paradigms For The JVM
 
Pragmatic Real-World Scala (short version)
Pragmatic Real-World Scala (short version)Pragmatic Real-World Scala (short version)
Pragmatic Real-World Scala (short version)
 

Recently uploaded

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 

Recently uploaded (20)

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 

Life Beyond the Illusion of Present