SlideShare une entreprise Scribd logo
1  sur  84
Télécharger pour lire hors ligne
FROM
MICROLITHS
TO
MICROSYSTEMSJONAS BONÉR
@JBONER
LIGHTBEND
WE HAVE BEEN SPOILED BY
THE ALMIGHTY
MONOLITH
KNOCK, KNOCK. WHO’S THERE?
REALITY
WE CAN'T MAKE THE HORSE FASTER
WE NEED CARS FOR WHERE WE ARE GOING
BUT DON'T JUST DRINK THE
THINK FOR YOURSELF
NO ONE WANTS
MICROSERVICES
IT'S A NECCESSARY EVIL
ARCHITECTURAL CONTEXT OF MICROSERVICES:
DISTRIBUTED SYSTEMS
LET'S SAY THAT WE WANT TO
SLICE THIS MONOLITH UP
TOO MANY END UP WITH AN ARCHITECTURE LIKE THIS
MICROLITH:
SINGLE INSTANCE
MICROSERVICE
-NOT RESILIENT
-NOT ELASTIC
One actor is no actor.
Actors come in systems.
— Carl Hewitt
MICROSERVICES
COME IN SYSTEMS
AS SOON AS WE
EXIT THE SERVICE
WE ENTER A WILD OCEAN OF
NON-DETERMINISM
THE WORLD OF
DISTRIBUTED SYSTEMS
SYSTEMS NEED TO
EXPLOIT REALITY
EMBRACE REALITY
AND ITS CONSTRAINTS
SHALL SET YOU FREE
INFORMATION HAS
LATENCY
The contents of
a message are
always from the past!
They are never “now.”
— Pat Helland
WE ARE ALWAYS LOOKING INTO THE PAST
THE COST OF MAINTAINING THE
ILLUSION
OF AN ABSOLUTE
NOW
AS LATENCY GETS HIGHER, THE
ILLUSION CRACKS EVEN MORE
In a distributed system,
you can know where
the work is done
or you can know when
the work is done
but you can’t know both
— Pat Helland
STRIVE TO MINIMIZE
COUPLING &
COMMUNICATION
Words are very
unecessary.
They can only do harm.
Enjoy the silence.
— Enjoy the Silence by Martin Gore
(Depeche Mode)
Silence is not only
golden, it is seldom
misquoted.
— Bob Monkhouse
WE HAVE TO RELY ON
EVENTUAL CONSISTENCY
BUT RELAX
IT'S HOW THE WORLD WORKS
NO ONE WANTS
EVENTUAL CONSISTENCY.
IT'S A NECESSARY EVIL.
IT'S NOT COOL. IT'S USEFUL.
TWO HELPFUL TOOLS
1. REACTIVE DESIGN
2. EVENTS-FIRST DDD
REACTIVE PROGRAMMING
VS
REACTIVE SYSTEMS
REACTIVE PROGRAMMING CAN HELP US MAKING
THE INDIVIDUAL SERVICE INSTANCE
HIGHLY PERFORMANT AND EFFICIENT
REACTIVE SYSTEMS CAN HELP US BUILDING
DISTRIBUTED SYSTEMS THAT ARE
ELASTIC AND RESILIENT
GOASYNCHRONOUS
ASYNC IO—IS ABOUT NOT BLOCKING
THREADS
ASYNC COMM—IS ABOUT NOT BLOCKING
REQUESTS
GO ASYNCHRONOUS &
NON-BLOCKING
- MORE EFFICIENT USE OF RESOURCES
- MINIMIZES CONTENTION ON SHARED
RESOURCES
ALWAYS APPLY BACK-PRESSURE
A FAST SYSTEM
SHOULD NOT OVERLOAD
A SLOW SYSTEM
LET'S APPLY REACTIVE PROGRAMMING TO OUR MICROLITHS
WE NEED TO EXTEND OUR MODELS OF
COMMUNICATION1. ASYNCHRONOUS MESSAGING (N-M)
2. STREAMING (1-1)
3. SYNCHRONOUS REQUEST/REPLY (1-1)
WE'RE GETTING THERE, BUT WE STILL HAVE A
SINGLE INSTANCE MICROSERVICE
—NOT SCALABLE
—NOT RESILIENT
MICROSERVICES
COME AS SYSTEMS
EACH MICROSERVICENEEDS BE DESIGNED AS
A DISTRIBUTED SYSTEM
A MICROSYSTEM
WE NEED TO MOVE
FROM MICROLITHS
TO MICROSYSTEMS
SEPARATE THE
STATELESS BEHAVIOR
FROM THE
STATEFUL ENTITYTO SCALE THEM INDIVIDUALLY
SCALING (STATELESS) BEHAVIOR
IS EASY
SCALING (STATEFUL) ENTITIES
IS HARD
THERE IS NO SUCH THING AS A
"STATELESS" ARCHITECTURE
IT'S JUST SOMEONE ELSE'S PROBLEM
THE ENTITY CAN BECOME AN
ESCAPE ROUTE
FROM REALITY.
A SAFE ISLAND OF
DETERMINISM AND
STRONG CONSISTENCY
REACTIVE SYSTEMS
HELPS MAKING THE
MICROSERVICE (MICROSYSTEM)
RESILIENT AND
ELASTICALLY SCALABLE
LEARN MORE AT REACTIVEMANIFESTO.ORG
REACTIVE SYSTEMS ARE BASED ON
ASYNCHRONOUS
MESSAGE-PASSING
ALLOWS DECOUPLING IN
SPACEAND
TIME
ALLOWS FOR LOCATION TRANSPARENCY
ONE COMMUNICATION ABSTRACTION ACROSS ALL DIMENSIONS OF SCALE
CORE SOCKET CPU
CONTAINER SERVER RACK
DATA CENTER SYSTEM
But I'll take my time
anywhere.
I'm free to speak my
mind anywhere.
And I'll redefine
anywhere.
Anywhere I roam.
Where I lay my head is
home.
— Wherever I May Roam by Lars Ulrich,
James Hetfield (Metallica)
THE PATH TOWARDS RESILIENCE
1. Decentralized Architecture
2. Bulkheading
3. Replication
4. Failure Detection
5. Supervision
⇒ Self-healing systems
THE PATH TOWARDS ELASTICITY
1. Decentralized Architecture
2. Epidemic Gossip Protocols
3. Self-organization
4. Location Transparency
⇒ Elastic systems
THINK IN TERMS OF
CONSISTENCY BOUNDARIES
INSIDE DATA: OUR CURRENT PRESENT (STATE)
OUTSIDE DATA: BLAST FROM THE PAST (FACTS)
BETWEEN SERVICES: HOPE FOR THE FUTURE (COMMANDS)
— PAT HELLAND, DATA ON THE INSIDE VS DATA ON THE OUTSIDE
PRACTICE
EVENTS-FIRST
DOMAIN-DRIVEN DESIGN
DON'T FOCUS ON THE THINGS—THE NOUNS
FOCUS ON WHAT HAPPENS—THE EVENTS
LET THE
EVENTS DEFINE
THE BOUNDED CONTEXT
EVENTS REPRESENT FACTS
To condense fact from
the vapor of nuance
— Neal Stephenson, Snow Crash
...AND WE ARE NOT TALKING ABOUT
ALTERNATIVE FACTS
WHAT ARE THE
FACTS?
UNDERSTAND HOW FACTS ARE CAUSALLY RELATED
HOW FACTS FLOW IN THE SYSTEM
WE NEED TO
CONTAIN MUTABLE STATE &
PUBLISH FACTS
The truth is the log.
The database is a cache
of a subset of the log.
— Pat Helland
CRUDIS DEAD
FAVOR
EVENT LOGGING
THE LOGIS A DATABASE OF THE PAST
NOT JUST A DATABASE OF THE PRESENT
EVENT LOGGING AVOIDS THE INFAMOUS
OBJECT-RELATIONAL
IMPEDENCE MISMATCH
UNTANGLE THE
READ & WRITEMODELS WITH
CQRS & EVENT SOURCING
BUT WHAT ABOUT
TRANSACTIONS?
In general,
application developers
simply do not implement
large scalable
applications
assuming distributed
transactions.
— Pat Helland
USE A PROTOCOL OF
GUESS.
APOLOGIZE.
COMPENSATE.
IT'S HOW THE
WORLD WORKS
IN SUMMARY
1. Don't build Microliths
2. Microservices come in (distributed) systems
3. Microservices come as (micro)systems
4. Embrace the Reactive principles
5. Embrace Event-first DDD & Persistence
6. Profit!
TRY THE
LAGOMMICROSERVICES
FRAMEWORK
POWERED BY AKKA & PLAY
LAGOMFRAMEWORK.COM
LEARN
MOREDOWNLOAD MY BOOK FOR FREE AT:
BIT.LY/REACTIVE-MICROSERVICES-ARCHITECTURE
THANK
YOU
From Microliths To Microsystems

Contenu connexe

Similaire à From Microliths To Microsystems

Leverage PointsPlaces to Intervene in aSystemby Donell.docx
Leverage PointsPlaces to Intervene in aSystemby Donell.docxLeverage PointsPlaces to Intervene in aSystemby Donell.docx
Leverage PointsPlaces to Intervene in aSystemby Donell.docxcroysierkathey
 
From Microliths to Microsystems
From Microliths to MicrosystemsFrom Microliths to Microsystems
From Microliths to MicrosystemsC4Media
 
Society for Risk Analysis On Transnational Risk & Terrorism
Society for Risk Analysis  On Transnational Risk & TerrorismSociety for Risk Analysis  On Transnational Risk & Terrorism
Society for Risk Analysis On Transnational Risk & TerrorismJohn Marke
 
Complex Systems Failure: Designing Reliability Teams - 2012 STS Roundtable Pr...
Complex Systems Failure: Designing Reliability Teams - 2012 STS Roundtable Pr...Complex Systems Failure: Designing Reliability Teams - 2012 STS Roundtable Pr...
Complex Systems Failure: Designing Reliability Teams - 2012 STS Roundtable Pr...Sociotechnical Roundtable
 
NW_Complexity_article
NW_Complexity_articleNW_Complexity_article
NW_Complexity_articleJacek Marczyk
 
Business dynamics - Introduction
Business dynamics  - IntroductionBusiness dynamics  - Introduction
Business dynamics - IntroductionCarlos Melo Júnior
 
DeepSec 2014 - The Measured CSO
DeepSec 2014 - The Measured CSODeepSec 2014 - The Measured CSO
DeepSec 2014 - The Measured CSOAlexander Hutton
 
2016-10-21 CAS Annual Meeting Slides
2016-10-21 CAS Annual Meeting Slides2016-10-21 CAS Annual Meeting Slides
2016-10-21 CAS Annual Meeting SlidesMichael Solomon
 
"Managing Complexity" Executive MBA Presentation (3/3)
"Managing Complexity" Executive MBA Presentation (3/3)"Managing Complexity" Executive MBA Presentation (3/3)
"Managing Complexity" Executive MBA Presentation (3/3)atknapp
 
Security Differently - DevSecOps Days Austin 2019
Security Differently - DevSecOps Days Austin 2019Security Differently - DevSecOps Days Austin 2019
Security Differently - DevSecOps Days Austin 2019Aaron Rinehart
 
Am i doing deployments right?
Am i doing deployments right?Am i doing deployments right?
Am i doing deployments right?Matteo Emili
 
ROBERT ROSEN AND GEORGE LAKOFF: THE ROLE OF CAUSALITY IN COMPLEX SYSTEMS
ROBERT ROSEN AND GEORGE LAKOFF: THE ROLE OF CAUSALITY IN COMPLEX SYSTEMS  ROBERT ROSEN AND GEORGE LAKOFF: THE ROLE OF CAUSALITY IN COMPLEX SYSTEMS
ROBERT ROSEN AND GEORGE LAKOFF: THE ROLE OF CAUSALITY IN COMPLEX SYSTEMS Hamid Y. Javanbakht
 
Unit 2a: Scenario planning presentation
Unit 2a: Scenario planning presentation Unit 2a: Scenario planning presentation
Unit 2a: Scenario planning presentation Dewald Niekerk
 
Discovering the World of Complexity
Discovering the World of ComplexityDiscovering the World of Complexity
Discovering the World of ComplexityTathagat Varma
 
8 Things That Make Continuous Delivery Go Nuts
8 Things That Make Continuous Delivery Go Nuts8 Things That Make Continuous Delivery Go Nuts
8 Things That Make Continuous Delivery Go NutsEduards Sizovs
 
AllDayDevOps 2020 Aaron Rinehart Security Differently
AllDayDevOps 2020 Aaron Rinehart Security DifferentlyAllDayDevOps 2020 Aaron Rinehart Security Differently
AllDayDevOps 2020 Aaron Rinehart Security DifferentlyAaron Rinehart
 
It's Not Simple, Stupid: Dealing with Complex Systems and Wicked Problems
It's Not Simple, Stupid: Dealing with Complex Systems and Wicked ProblemsIt's Not Simple, Stupid: Dealing with Complex Systems and Wicked Problems
It's Not Simple, Stupid: Dealing with Complex Systems and Wicked ProblemsHertje Brodersen
 
Creating Radically Better Futures
Creating Radically Better Futures Creating Radically Better Futures
Creating Radically Better Futures Ville Tikka
 
"Managing Complexity" Executive MBA Presentation (2/3)
"Managing Complexity" Executive MBA Presentation (2/3)"Managing Complexity" Executive MBA Presentation (2/3)
"Managing Complexity" Executive MBA Presentation (2/3)atknapp
 

Similaire à From Microliths To Microsystems (20)

Leverage PointsPlaces to Intervene in aSystemby Donell.docx
Leverage PointsPlaces to Intervene in aSystemby Donell.docxLeverage PointsPlaces to Intervene in aSystemby Donell.docx
Leverage PointsPlaces to Intervene in aSystemby Donell.docx
 
From Microliths to Microsystems
From Microliths to MicrosystemsFrom Microliths to Microsystems
From Microliths to Microsystems
 
Society for Risk Analysis On Transnational Risk & Terrorism
Society for Risk Analysis  On Transnational Risk & TerrorismSociety for Risk Analysis  On Transnational Risk & Terrorism
Society for Risk Analysis On Transnational Risk & Terrorism
 
Complex Systems Failure: Designing Reliability Teams - 2012 STS Roundtable Pr...
Complex Systems Failure: Designing Reliability Teams - 2012 STS Roundtable Pr...Complex Systems Failure: Designing Reliability Teams - 2012 STS Roundtable Pr...
Complex Systems Failure: Designing Reliability Teams - 2012 STS Roundtable Pr...
 
NW_Complexity_article
NW_Complexity_articleNW_Complexity_article
NW_Complexity_article
 
Business dynamics - Introduction
Business dynamics  - IntroductionBusiness dynamics  - Introduction
Business dynamics - Introduction
 
DeepSec 2014 - The Measured CSO
DeepSec 2014 - The Measured CSODeepSec 2014 - The Measured CSO
DeepSec 2014 - The Measured CSO
 
2016-10-21 CAS Annual Meeting Slides
2016-10-21 CAS Annual Meeting Slides2016-10-21 CAS Annual Meeting Slides
2016-10-21 CAS Annual Meeting Slides
 
"Managing Complexity" Executive MBA Presentation (3/3)
"Managing Complexity" Executive MBA Presentation (3/3)"Managing Complexity" Executive MBA Presentation (3/3)
"Managing Complexity" Executive MBA Presentation (3/3)
 
Swarm intelligence
Swarm intelligenceSwarm intelligence
Swarm intelligence
 
Security Differently - DevSecOps Days Austin 2019
Security Differently - DevSecOps Days Austin 2019Security Differently - DevSecOps Days Austin 2019
Security Differently - DevSecOps Days Austin 2019
 
Am i doing deployments right?
Am i doing deployments right?Am i doing deployments right?
Am i doing deployments right?
 
ROBERT ROSEN AND GEORGE LAKOFF: THE ROLE OF CAUSALITY IN COMPLEX SYSTEMS
ROBERT ROSEN AND GEORGE LAKOFF: THE ROLE OF CAUSALITY IN COMPLEX SYSTEMS  ROBERT ROSEN AND GEORGE LAKOFF: THE ROLE OF CAUSALITY IN COMPLEX SYSTEMS
ROBERT ROSEN AND GEORGE LAKOFF: THE ROLE OF CAUSALITY IN COMPLEX SYSTEMS
 
Unit 2a: Scenario planning presentation
Unit 2a: Scenario planning presentation Unit 2a: Scenario planning presentation
Unit 2a: Scenario planning presentation
 
Discovering the World of Complexity
Discovering the World of ComplexityDiscovering the World of Complexity
Discovering the World of Complexity
 
8 Things That Make Continuous Delivery Go Nuts
8 Things That Make Continuous Delivery Go Nuts8 Things That Make Continuous Delivery Go Nuts
8 Things That Make Continuous Delivery Go Nuts
 
AllDayDevOps 2020 Aaron Rinehart Security Differently
AllDayDevOps 2020 Aaron Rinehart Security DifferentlyAllDayDevOps 2020 Aaron Rinehart Security Differently
AllDayDevOps 2020 Aaron Rinehart Security Differently
 
It's Not Simple, Stupid: Dealing with Complex Systems and Wicked Problems
It's Not Simple, Stupid: Dealing with Complex Systems and Wicked ProblemsIt's Not Simple, Stupid: Dealing with Complex Systems and Wicked Problems
It's Not Simple, Stupid: Dealing with Complex Systems and Wicked Problems
 
Creating Radically Better Futures
Creating Radically Better Futures Creating Radically Better Futures
Creating Radically Better Futures
 
"Managing Complexity" Executive MBA Presentation (2/3)
"Managing Complexity" Executive MBA Presentation (2/3)"Managing Complexity" Executive MBA Presentation (2/3)
"Managing Complexity" Executive MBA Presentation (2/3)
 

Plus de 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
 
Life Beyond the Illusion of Present
Life Beyond the Illusion of PresentLife Beyond the Illusion of Present
Life Beyond the Illusion of PresentJonas 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
 
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
 

Plus de Jonas Bonér (16)

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
 
Life Beyond the Illusion of Present
Life Beyond the Illusion of PresentLife Beyond the Illusion of Present
Life Beyond the Illusion of Present
 
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)
 
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)
 

Dernier

Robotics Group 10 (Control Schemes) cse.pdf
Robotics Group 10  (Control Schemes) cse.pdfRobotics Group 10  (Control Schemes) cse.pdf
Robotics Group 10 (Control Schemes) cse.pdfsahilsajad201
 
signals in triangulation .. ...Surveying
signals in triangulation .. ...Surveyingsignals in triangulation .. ...Surveying
signals in triangulation .. ...Surveyingsapna80328
 
OOP concepts -in-Python programming language
OOP concepts -in-Python programming languageOOP concepts -in-Python programming language
OOP concepts -in-Python programming languageSmritiSharma901052
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsResearcher Researcher
 
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...Sumanth A
 
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.pptROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.pptJohnWilliam111370
 
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Erbil Polytechnic University
 
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTFUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTSneha Padhiar
 
List of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdfList of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdfisabel213075
 
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONTHE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONjhunlian
 
Cost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based questionCost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based questionSneha Padhiar
 
Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfDrew Moseley
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 
Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Romil Mishra
 
Ch10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdfCh10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdfChristianCDAM
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxRomil Mishra
 
Python Programming for basic beginners.pptx
Python Programming for basic beginners.pptxPython Programming for basic beginners.pptx
Python Programming for basic beginners.pptxmohitesoham12
 
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHTEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHSneha Padhiar
 
Prach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism CommunityPrach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism Communityprachaibot
 

Dernier (20)

Robotics Group 10 (Control Schemes) cse.pdf
Robotics Group 10  (Control Schemes) cse.pdfRobotics Group 10  (Control Schemes) cse.pdf
Robotics Group 10 (Control Schemes) cse.pdf
 
signals in triangulation .. ...Surveying
signals in triangulation .. ...Surveyingsignals in triangulation .. ...Surveying
signals in triangulation .. ...Surveying
 
OOP concepts -in-Python programming language
OOP concepts -in-Python programming languageOOP concepts -in-Python programming language
OOP concepts -in-Python programming language
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending Actuators
 
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
 
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.pptROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
 
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
 
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTFUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
 
List of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdfList of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdf
 
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONTHE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
 
Cost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based questionCost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based question
 
Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdf
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 
Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________
 
Designing pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptxDesigning pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptx
 
Ch10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdfCh10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdf
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptx
 
Python Programming for basic beginners.pptx
Python Programming for basic beginners.pptxPython Programming for basic beginners.pptx
Python Programming for basic beginners.pptx
 
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHTEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
 
Prach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism CommunityPrach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism Community
 

From Microliths To Microsystems