SlideShare uma empresa Scribd logo
1 de 26
Reacting to the future of
Application Architecture
Grace Jansen
Developer Advocate
IBM
@gracejansen27#VoxxedMicroservices
Evolution of software
@gracejansen27
Bees and Software Link
@gracejansen27
Food Foraging
@gracejansen27
Long Live the Queen
@gracejansen27
Bees at War
@gracejansen27
Reactive Manifesto
ResilientElastic
Message-Driven
Responsive
@gracejansen27
Reactive Architecture, the
future of application
architecture?
@gracejansen27
Reactive programming vs
Reactive systems
VS
@gracejansen27
So, how can we enable these
reactive bee-haviours?
• Context
• Model
• Bounded Context
• Ubiquitous Language
• Aggregate Roots
Domain Driven Design
(DDD)
@gracejansen27
Asynchronous Communication
@gracejansen27
Event-Sourcing/CQRS
@gracejansen27
High Availability / Eventual
Consistency
@gracejansen27
Sharding
@gracejansen27
Back Pressure
@gracejansen27
Bulkheading
@gracejansen27
Circuit Breaking
@gracejansen27
Reactive Frameworks
Spring Reactor
@gracejansen27
@YourTwitterHandle#VoxxedMicroservices #YourTag
Why do you care?
What implications does this have?
Real World Example -Verizon
175M Visits/Month
50M Unique Visitors/Month
2.5 Billion Interactions/Year
88% Interactions are Digital
48% Digital Sales on Mobile Devices
Always Up For Iconic Launch
@gracejansen27
Real World Example
• Conversion rate UP by 1.6x (from 1.9% to 3.1%)
• Page response time improved from 7-10 seconds to 2-3
seconds
• Runs using 1/8th of Infrastructure
• Deployment time improved from 4-8 hours to 30 minutes
• Developers are 20-40% more productive
• Order completion improved from 41 minutes to 27 minutes
@gracejansen27
Do you care about these?
ResilientElastic
Message-Driven
Responsive
@gracejansen27
What Can You Do?
Links to Learn More
https://www.reactivemanifesto.org/
https://developer.ibm.com/series/reactive-in-practice/
https://www.oreilly.com/learning/why-reactive
https://www.lightbend.com/blog/understand-reactive-architecture-
design-and-programming-in-less-than-12-minutes
https://akka.io/
https://www.lagomframework.com/
https://towardsdatascience.com/cap-theorem-and-distributed-
database-management-systems-5c2be977950e
https://vertx.io/
@gracejansen27
@gracejansen27
https://www.linkedin.com/i
n/grace-jansen/
Thank You

Mais conteúdo relacionado

Mais procurados

DevoxxBE - Reacting to the future of application architecture
DevoxxBE - Reacting to the future of application architectureDevoxxBE - Reacting to the future of application architecture
DevoxxBE - Reacting to the future of application architectureGrace Jansen
 
JVMCon - Reacting to the future of application architecture
JVMCon - Reacting to the future of application architectureJVMCon - Reacting to the future of application architecture
JVMCon - Reacting to the future of application architectureGrace Jansen
 
JFokus 2019 - Reacting to the future of application architecture
JFokus 2019 - Reacting to the future of application architectureJFokus 2019 - Reacting to the future of application architecture
JFokus 2019 - Reacting to the future of application architectureGrace Jansen
 
AccentoDev - Reacting to the future of application architecture
AccentoDev - Reacting to the future of application architectureAccentoDev - Reacting to the future of application architecture
AccentoDev - Reacting to the future of application architectureGrace Jansen
 
Kafka on Kubernetes
Kafka on KubernetesKafka on Kubernetes
Kafka on KubernetesCloudOps2005
 
Apple Search and Universal Links
Apple Search and Universal LinksApple Search and Universal Links
Apple Search and Universal LinksTUNE
 
FutureM 2014 - Turning Data into Insights
FutureM 2014 - Turning Data into InsightsFutureM 2014 - Turning Data into Insights
FutureM 2014 - Turning Data into InsightsFutureM
 

Mais procurados (8)

DevoxxBE - Reacting to the future of application architecture
DevoxxBE - Reacting to the future of application architectureDevoxxBE - Reacting to the future of application architecture
DevoxxBE - Reacting to the future of application architecture
 
JVMCon - Reacting to the future of application architecture
JVMCon - Reacting to the future of application architectureJVMCon - Reacting to the future of application architecture
JVMCon - Reacting to the future of application architecture
 
JFokus 2019 - Reacting to the future of application architecture
JFokus 2019 - Reacting to the future of application architectureJFokus 2019 - Reacting to the future of application architecture
JFokus 2019 - Reacting to the future of application architecture
 
AccentoDev - Reacting to the future of application architecture
AccentoDev - Reacting to the future of application architectureAccentoDev - Reacting to the future of application architecture
AccentoDev - Reacting to the future of application architecture
 
Kafka on Kubernetes
Kafka on KubernetesKafka on Kubernetes
Kafka on Kubernetes
 
Apple Search and Universal Links
Apple Search and Universal LinksApple Search and Universal Links
Apple Search and Universal Links
 
FutureM 2014 - Turning Data into Insights
FutureM 2014 - Turning Data into InsightsFutureM 2014 - Turning Data into Insights
FutureM 2014 - Turning Data into Insights
 
Week5
Week5Week5
Week5
 

Semelhante a Voxxed microservices Reactive Bees

CodeCamp Cluj Napoca - Reacting to the future of application architecture
CodeCamp Cluj Napoca - Reacting to the future of application architectureCodeCamp Cluj Napoca - Reacting to the future of application architecture
CodeCamp Cluj Napoca - Reacting to the future of application architectureGrace Jansen
 
JFall19 Reacting to the Future of Application Architecture
JFall19 Reacting to the Future of Application ArchitectureJFall19 Reacting to the Future of Application Architecture
JFall19 Reacting to the Future of Application ArchitectureGrace Jansen
 
What are the major differences between MEAN and MERN stacks?
What are the major differences between MEAN and MERN stacks?What are the major differences between MEAN and MERN stacks?
What are the major differences between MEAN and MERN stacks?SoftRadix
 
A pattern language for microservices (#SFMicroservices)
A pattern language for microservices (#SFMicroservices)A pattern language for microservices (#SFMicroservices)
A pattern language for microservices (#SFMicroservices)Chris Richardson
 
Microservices Design Patterns Explained | Edureka
Microservices Design Patterns Explained | EdurekaMicroservices Design Patterns Explained | Edureka
Microservices Design Patterns Explained | EdurekaEdureka!
 
Misty Weaver LavaCon Empathy in Editorial Strategy 2014
Misty Weaver LavaCon Empathy in Editorial Strategy 2014Misty Weaver LavaCon Empathy in Editorial Strategy 2014
Misty Weaver LavaCon Empathy in Editorial Strategy 2014Misty Weaver
 
A Pattern Language for Microservices
A Pattern Language for MicroservicesA Pattern Language for Microservices
A Pattern Language for MicroservicesChris Richardson
 
The microservice architecture: what, why, when and how?
The microservice architecture: what, why, when and how?The microservice architecture: what, why, when and how?
The microservice architecture: what, why, when and how?Chris Richardson
 
Code Freeze 2018: There is no such thing as a microservice!
Code Freeze 2018: There is no such thing as a microservice!Code Freeze 2018: There is no such thing as a microservice!
Code Freeze 2018: There is no such thing as a microservice!Chris Richardson
 
A pattern language for microservices - June 2021
A pattern language for microservices - June 2021 A pattern language for microservices - June 2021
A pattern language for microservices - June 2021 Chris Richardson
 
RedisConf17 - A pattern language for microservices - Chris Richardson
RedisConf17 - A pattern language for microservices - Chris RichardsonRedisConf17 - A pattern language for microservices - Chris Richardson
RedisConf17 - A pattern language for microservices - Chris RichardsonRedis Labs
 
Omnikron webbinar - Microservices: enabling the rapid, frequent, and reliable...
Omnikron webbinar - Microservices: enabling the rapid, frequent, and reliable...Omnikron webbinar - Microservices: enabling the rapid, frequent, and reliable...
Omnikron webbinar - Microservices: enabling the rapid, frequent, and reliable...Chris Richardson
 
Oracle Code Sydney - There is no such thing as a microservice!
Oracle Code Sydney - There is no such thing as a microservice! Oracle Code Sydney - There is no such thing as a microservice!
Oracle Code Sydney - There is no such thing as a microservice! Chris Richardson
 
WVC Case Study: eventScribe Boost Overview
WVC Case Study: eventScribe Boost OverviewWVC Case Study: eventScribe Boost Overview
WVC Case Study: eventScribe Boost OverviewMichael Doane
 
A pattern language for microservices (#gluecon #gluecon2016)
A pattern language for microservices (#gluecon #gluecon2016)A pattern language for microservices (#gluecon #gluecon2016)
A pattern language for microservices (#gluecon #gluecon2016)Chris Richardson
 
Round up of latest website design trends for 2017
Round up of latest website design trends for 2017Round up of latest website design trends for 2017
Round up of latest website design trends for 2017Vintage Coders
 
Scope of MERN stack development in future
Scope of MERN stack development in futureScope of MERN stack development in future
Scope of MERN stack development in futureAResourcePool
 

Semelhante a Voxxed microservices Reactive Bees (19)

CodeCamp Cluj Napoca - Reacting to the future of application architecture
CodeCamp Cluj Napoca - Reacting to the future of application architectureCodeCamp Cluj Napoca - Reacting to the future of application architecture
CodeCamp Cluj Napoca - Reacting to the future of application architecture
 
JFall19 Reacting to the Future of Application Architecture
JFall19 Reacting to the Future of Application ArchitectureJFall19 Reacting to the Future of Application Architecture
JFall19 Reacting to the Future of Application Architecture
 
Dapr.pdf
Dapr.pdfDapr.pdf
Dapr.pdf
 
What are the major differences between MEAN and MERN stacks?
What are the major differences between MEAN and MERN stacks?What are the major differences between MEAN and MERN stacks?
What are the major differences between MEAN and MERN stacks?
 
A pattern language for microservices (#SFMicroservices)
A pattern language for microservices (#SFMicroservices)A pattern language for microservices (#SFMicroservices)
A pattern language for microservices (#SFMicroservices)
 
Microservices Design Patterns Explained | Edureka
Microservices Design Patterns Explained | EdurekaMicroservices Design Patterns Explained | Edureka
Microservices Design Patterns Explained | Edureka
 
Misty Weaver LavaCon Empathy in Editorial Strategy 2014
Misty Weaver LavaCon Empathy in Editorial Strategy 2014Misty Weaver LavaCon Empathy in Editorial Strategy 2014
Misty Weaver LavaCon Empathy in Editorial Strategy 2014
 
A Pattern Language for Microservices
A Pattern Language for MicroservicesA Pattern Language for Microservices
A Pattern Language for Microservices
 
The microservice architecture: what, why, when and how?
The microservice architecture: what, why, when and how?The microservice architecture: what, why, when and how?
The microservice architecture: what, why, when and how?
 
Code Freeze 2018: There is no such thing as a microservice!
Code Freeze 2018: There is no such thing as a microservice!Code Freeze 2018: There is no such thing as a microservice!
Code Freeze 2018: There is no such thing as a microservice!
 
A pattern language for microservices - June 2021
A pattern language for microservices - June 2021 A pattern language for microservices - June 2021
A pattern language for microservices - June 2021
 
RedisConf17 - A pattern language for microservices - Chris Richardson
RedisConf17 - A pattern language for microservices - Chris RichardsonRedisConf17 - A pattern language for microservices - Chris Richardson
RedisConf17 - A pattern language for microservices - Chris Richardson
 
Omnikron webbinar - Microservices: enabling the rapid, frequent, and reliable...
Omnikron webbinar - Microservices: enabling the rapid, frequent, and reliable...Omnikron webbinar - Microservices: enabling the rapid, frequent, and reliable...
Omnikron webbinar - Microservices: enabling the rapid, frequent, and reliable...
 
Oracle Code Sydney - There is no such thing as a microservice!
Oracle Code Sydney - There is no such thing as a microservice! Oracle Code Sydney - There is no such thing as a microservice!
Oracle Code Sydney - There is no such thing as a microservice!
 
WVC Case Study: eventScribe Boost Overview
WVC Case Study: eventScribe Boost OverviewWVC Case Study: eventScribe Boost Overview
WVC Case Study: eventScribe Boost Overview
 
To up
To upTo up
To up
 
A pattern language for microservices (#gluecon #gluecon2016)
A pattern language for microservices (#gluecon #gluecon2016)A pattern language for microservices (#gluecon #gluecon2016)
A pattern language for microservices (#gluecon #gluecon2016)
 
Round up of latest website design trends for 2017
Round up of latest website design trends for 2017Round up of latest website design trends for 2017
Round up of latest website design trends for 2017
 
Scope of MERN stack development in future
Scope of MERN stack development in futureScope of MERN stack development in future
Scope of MERN stack development in future
 

Mais de Grace Jansen

JPrime_JITServer.pptx
JPrime_JITServer.pptxJPrime_JITServer.pptx
JPrime_JITServer.pptxGrace Jansen
 
SwissJUG_15_factor_app.pptx
SwissJUG_15_factor_app.pptxSwissJUG_15_factor_app.pptx
SwissJUG_15_factor_app.pptxGrace Jansen
 
SwissJUG_Bringing the cloud back down to earth.pptx
SwissJUG_Bringing the cloud back down to earth.pptxSwissJUG_Bringing the cloud back down to earth.pptx
SwissJUG_Bringing the cloud back down to earth.pptxGrace Jansen
 
ThroughTheLookingGlass_EffectiveObservability.pptx
ThroughTheLookingGlass_EffectiveObservability.pptxThroughTheLookingGlass_EffectiveObservability.pptx
ThroughTheLookingGlass_EffectiveObservability.pptxGrace Jansen
 
PittsburgJUG_Cloud-Native Dev Tools: Bringing the cloud back to earth
PittsburgJUG_Cloud-Native Dev Tools: Bringing the cloud back to earthPittsburgJUG_Cloud-Native Dev Tools: Bringing the cloud back to earth
PittsburgJUG_Cloud-Native Dev Tools: Bringing the cloud back to earthGrace Jansen
 
Javaland_JITServerTalk.pptx
Javaland_JITServerTalk.pptxJavaland_JITServerTalk.pptx
Javaland_JITServerTalk.pptxGrace Jansen
 
JavaLand_To InstantOn and Beyond.pptx
JavaLand_To InstantOn and Beyond.pptxJavaLand_To InstantOn and Beyond.pptx
JavaLand_To InstantOn and Beyond.pptxGrace Jansen
 
Jfokus_Bringing the cloud back down to earth.pptx
Jfokus_Bringing the cloud back down to earth.pptxJfokus_Bringing the cloud back down to earth.pptx
Jfokus_Bringing the cloud back down to earth.pptxGrace Jansen
 
FooConf23_Bringing the cloud back down to earth.pptx
FooConf23_Bringing the cloud back down to earth.pptxFooConf23_Bringing the cloud back down to earth.pptx
FooConf23_Bringing the cloud back down to earth.pptxGrace Jansen
 
DevoxxBelgium_StatefulCloud.pptx
DevoxxBelgium_StatefulCloud.pptxDevoxxBelgium_StatefulCloud.pptx
DevoxxBelgium_StatefulCloud.pptxGrace Jansen
 
UtrechtJUG_Exploring statefulmicroservices in a cloud-native world.pptx
UtrechtJUG_Exploring statefulmicroservices in a cloud-native world.pptxUtrechtJUG_Exploring statefulmicroservices in a cloud-native world.pptx
UtrechtJUG_Exploring statefulmicroservices in a cloud-native world.pptxGrace Jansen
 
JCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptxJCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptxGrace Jansen
 
JCON_Adressing the transaction challenge in a cloud-native world.pptx
JCON_Adressing the transaction challenge in a cloud-native world.pptxJCON_Adressing the transaction challenge in a cloud-native world.pptx
JCON_Adressing the transaction challenge in a cloud-native world.pptxGrace Jansen
 
JavaZone_Addressing the transaction challenge in a cloud-native world.pptx
JavaZone_Addressing the transaction challenge in a cloud-native world.pptxJavaZone_Addressing the transaction challenge in a cloud-native world.pptx
JavaZone_Addressing the transaction challenge in a cloud-native world.pptxGrace Jansen
 
JavaZone_Mother Nature vs Java – the security face off.pptx
JavaZone_Mother Nature vs Java – the security face off.pptxJavaZone_Mother Nature vs Java – the security face off.pptx
JavaZone_Mother Nature vs Java – the security face off.pptxGrace Jansen
 
Boost developer productivity with EE, MP and OL (Devoxx Ukraine 22).pptx
Boost developer productivity with EE, MP and OL (Devoxx Ukraine 22).pptxBoost developer productivity with EE, MP and OL (Devoxx Ukraine 22).pptx
Boost developer productivity with EE, MP and OL (Devoxx Ukraine 22).pptxGrace Jansen
 
Addressing the transaction challenge in a cloud-native world Devoxx Ukraine 2022
Addressing the transaction challenge in a cloud-native world Devoxx Ukraine 2022Addressing the transaction challenge in a cloud-native world Devoxx Ukraine 2022
Addressing the transaction challenge in a cloud-native world Devoxx Ukraine 2022Grace Jansen
 
JBCNConf_Addressing_The_Transaction_Challenge_LRA.pptx
JBCNConf_Addressing_The_Transaction_Challenge_LRA.pptxJBCNConf_Addressing_The_Transaction_Challenge_LRA.pptx
JBCNConf_Addressing_The_Transaction_Challenge_LRA.pptxGrace Jansen
 
2022-Devnexus-StatefulMicroservices.pptx.pdf
2022-Devnexus-StatefulMicroservices.pptx.pdf2022-Devnexus-StatefulMicroservices.pptx.pdf
2022-Devnexus-StatefulMicroservices.pptx.pdfGrace Jansen
 
How to become a superhero without even leaving your desk!
How to become a superhero without even leaving your desk!How to become a superhero without even leaving your desk!
How to become a superhero without even leaving your desk!Grace Jansen
 

Mais de Grace Jansen (20)

JPrime_JITServer.pptx
JPrime_JITServer.pptxJPrime_JITServer.pptx
JPrime_JITServer.pptx
 
SwissJUG_15_factor_app.pptx
SwissJUG_15_factor_app.pptxSwissJUG_15_factor_app.pptx
SwissJUG_15_factor_app.pptx
 
SwissJUG_Bringing the cloud back down to earth.pptx
SwissJUG_Bringing the cloud back down to earth.pptxSwissJUG_Bringing the cloud back down to earth.pptx
SwissJUG_Bringing the cloud back down to earth.pptx
 
ThroughTheLookingGlass_EffectiveObservability.pptx
ThroughTheLookingGlass_EffectiveObservability.pptxThroughTheLookingGlass_EffectiveObservability.pptx
ThroughTheLookingGlass_EffectiveObservability.pptx
 
PittsburgJUG_Cloud-Native Dev Tools: Bringing the cloud back to earth
PittsburgJUG_Cloud-Native Dev Tools: Bringing the cloud back to earthPittsburgJUG_Cloud-Native Dev Tools: Bringing the cloud back to earth
PittsburgJUG_Cloud-Native Dev Tools: Bringing the cloud back to earth
 
Javaland_JITServerTalk.pptx
Javaland_JITServerTalk.pptxJavaland_JITServerTalk.pptx
Javaland_JITServerTalk.pptx
 
JavaLand_To InstantOn and Beyond.pptx
JavaLand_To InstantOn and Beyond.pptxJavaLand_To InstantOn and Beyond.pptx
JavaLand_To InstantOn and Beyond.pptx
 
Jfokus_Bringing the cloud back down to earth.pptx
Jfokus_Bringing the cloud back down to earth.pptxJfokus_Bringing the cloud back down to earth.pptx
Jfokus_Bringing the cloud back down to earth.pptx
 
FooConf23_Bringing the cloud back down to earth.pptx
FooConf23_Bringing the cloud back down to earth.pptxFooConf23_Bringing the cloud back down to earth.pptx
FooConf23_Bringing the cloud back down to earth.pptx
 
DevoxxBelgium_StatefulCloud.pptx
DevoxxBelgium_StatefulCloud.pptxDevoxxBelgium_StatefulCloud.pptx
DevoxxBelgium_StatefulCloud.pptx
 
UtrechtJUG_Exploring statefulmicroservices in a cloud-native world.pptx
UtrechtJUG_Exploring statefulmicroservices in a cloud-native world.pptxUtrechtJUG_Exploring statefulmicroservices in a cloud-native world.pptx
UtrechtJUG_Exploring statefulmicroservices in a cloud-native world.pptx
 
JCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptxJCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptx
 
JCON_Adressing the transaction challenge in a cloud-native world.pptx
JCON_Adressing the transaction challenge in a cloud-native world.pptxJCON_Adressing the transaction challenge in a cloud-native world.pptx
JCON_Adressing the transaction challenge in a cloud-native world.pptx
 
JavaZone_Addressing the transaction challenge in a cloud-native world.pptx
JavaZone_Addressing the transaction challenge in a cloud-native world.pptxJavaZone_Addressing the transaction challenge in a cloud-native world.pptx
JavaZone_Addressing the transaction challenge in a cloud-native world.pptx
 
JavaZone_Mother Nature vs Java – the security face off.pptx
JavaZone_Mother Nature vs Java – the security face off.pptxJavaZone_Mother Nature vs Java – the security face off.pptx
JavaZone_Mother Nature vs Java – the security face off.pptx
 
Boost developer productivity with EE, MP and OL (Devoxx Ukraine 22).pptx
Boost developer productivity with EE, MP and OL (Devoxx Ukraine 22).pptxBoost developer productivity with EE, MP and OL (Devoxx Ukraine 22).pptx
Boost developer productivity with EE, MP and OL (Devoxx Ukraine 22).pptx
 
Addressing the transaction challenge in a cloud-native world Devoxx Ukraine 2022
Addressing the transaction challenge in a cloud-native world Devoxx Ukraine 2022Addressing the transaction challenge in a cloud-native world Devoxx Ukraine 2022
Addressing the transaction challenge in a cloud-native world Devoxx Ukraine 2022
 
JBCNConf_Addressing_The_Transaction_Challenge_LRA.pptx
JBCNConf_Addressing_The_Transaction_Challenge_LRA.pptxJBCNConf_Addressing_The_Transaction_Challenge_LRA.pptx
JBCNConf_Addressing_The_Transaction_Challenge_LRA.pptx
 
2022-Devnexus-StatefulMicroservices.pptx.pdf
2022-Devnexus-StatefulMicroservices.pptx.pdf2022-Devnexus-StatefulMicroservices.pptx.pdf
2022-Devnexus-StatefulMicroservices.pptx.pdf
 
How to become a superhero without even leaving your desk!
How to become a superhero without even leaving your desk!How to become a superhero without even leaving your desk!
How to become a superhero without even leaving your desk!
 

Último

How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfayushiqss
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
Pharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodologyPharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodologyAnusha Are
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...Nitya salvi
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedDelhi Call girls
 

Último (20)

How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Pharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodologyPharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodology
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
 

Voxxed microservices Reactive Bees

Notas do Editor

  1. Abbayyy bonjour, j’mappelle Grace Jansen et aujourd'hui je parle des abeilles. mais mon français est mauvais et donc cette presentation sera en anglais
  2. Hugh – moving towards a more biological direction!! A single website may now handle as much traffic as the entire internet did a decade ago!! Distribute out different services Easily add features, deploy small part of application Isolate failure New problems --> users have new ever-demanding expectations Doesn't expect an application to fail or have no access Expect responses as soon as they click Shopping cart example How can we tackle these new demands and expectations user's put on applications? Where do we go in our evolution? Biology background inspiration --> nature inspire our apps Bees = system of individuals, independent but common goal
  3. The 100 million-year-old fossil was found in a mine in the Hukawng Valley of Myanmar (Burma) and preserved in amber. Discovered in 2006
  4. Independant Observers Act as soon as possible - quick to respond
  5. Colony Independently continues Impact of Queen being lost is managed Has the potential to be catastrophic but isn’t
  6. Guards recruit more bees to defend hive Limited number of bees - so switch roles to make up numbers and go back to original role after Dynamically increase number of guards
  7. Creation of the Reactive Manifesto in 2013, by Jonas Bonér to collaborate and solidify what the core principles were for building reactive applications and systems REACT to users (Responsive)- user click a button REACT to load (Elastic) - black friday and login/book table REACT to failure (Resilient) - monitor, replace service REACT to events (event-driven) - achieve other 3 principles how do we achieve this? same way bees do async comm - dancer bee, guard bee recruiting Let’s say that our system should: . Be responsive to interactions with its users . Handle failure and remain available during outages . Strive under varying load conditions . Be able to send, receive, and route messages in varying network conditions These answers actually convey the core reactive traits as defined in the manifesto. It is important to realize that reactive traits not only set you up for success right now, but also play very well with where the industry is headed, toward location-transparent, ops-less distributed services.
  8. bees = sophisticated system, appear simplistic, actually complicated efficient society of independent individuals acting as a whole We want to mimic what bees have achieved - tall ask, bees have had millennia, but by implementing reactive architecture we can start to achieve this
  9. Clement – can’t just focus on one microservice, reactive system If it’s our goal to build responsive applications in an event-driven world, we need to be making sure we are getting the most out of the hardware on which we’re running. We do this through concurrency and parallelism. Reactive programming is one tool which aims to try and tackle this. Reactive programming is a great technique for managing internal logic and dataflow transformation, locally within the components, as a way of optimizing code clarity, performance and resource efficiency. Reactive systems puts the emphasis on distributed communication and gives us tools to tackle resilience and elasticity in distributed systems. Reactive programming is a paradigm in which declarative code is used in order to construct asynchronous processing pipelines. Translated, this is essentially the same process our minds perform when we try to multitask. Rather than true parallel tasking, we actually switch tasks and split those tasks efficiently during their duration. This method of switching tasks enables us to efficiently use our time instead of having to wait for the previous task to complete. This is exactly what reactive programming was created to enable and is an event-based model in which data is pushed to a consumer, as it becomes available turning it into an asynchronous sequences of events. Reactive programming is a very useful implementation technique for managing internal logic and dataflow transformation, locally within components. However, once there are multiple nodes, there is a need to start thinking hard about things like data consitency, cross-node communication, orchestration, failure management, separation of concerns and responsibilities, etc, i.e. there is a need to think about system architecture. Reactive programming cannot address these issues or address the need for resilience and elasticity within a system. So, instead, to maximize the value of reactive programming, it’s recommended to use it as a tool to build a reactive system.
  10. Architectural tools – enable reactive behaviours
  11. Kate – event storming to help with this Sphere of knowledge or activity Subject area on which the application is intended to apply Development approach as opposed to a physical tool Aims to ease the creation of complex applications – divides up large systems into bounded contexts A DDD aggregate is a cluster of domain objects that can be treated as a single unit. An aggregate will have one aggregate root. DDD = independent areas of a problem as bounded contexts, emphasises a common language to talk Any references from outside the aggregate should only go to the aggregate root. The root can thus ensure the integrity of the aggregate as a whole. How do we achieve efficient communication across these bounded contexts/services? Focus on the core domain and domain logic. Base complex designs on models of the domain. Constantly collaborate with domain experts, in order to improve the application model and resolve any emerging domain-related issues. Message-driven Lagom framework
  12. Clement – data at rest vs in motion, asynchronous is non-blocking Hugh – tight coupling and friction slows you down, need loosley coupled services and asynch messaging Communication between Microservices needs to be based on Asynchronous Message-Passing An asynchronous boundary between services is necessary in order to decouple them, and their communication flow, in time—allowing concurrency—and in space—allowing distribution and mobility. Without this decoupling it is impossible to reach the level of compartmentalization and containment needed for isolation and resilience. Asynchronous and non-blocking execution = more cost-efficient through more efficient use of resources, minimizes contention (congestion) on shared resources in the system, which is one of the biggest hurdles to scalability, low latency, and high throughput. It’s best illustrated with an example… bees queuing = wasted resource, equivalent to threads But why is blocking so bad? The fundamental shift is that we’ve moved from "data at rest" to "data in motion. Applications today need to react to changes in data in close to real time—when it happens First Wave = data at rest, batch processing, hours of latency, overnight Second Wave = hybrid architecture, lambda architecture, 2 layers (batch and speed layers), added needless complexity – 2 data pipelines and need to merge them afterwards Third Wave – fully embrace data in motion, stream processing architecture, event logging/sourcing….. Lagom framework Message-driven / responsiveness
  13. Kate and Hugh talks – each microservice should own it’s own schema or database (version of state) Event Sourcing ensures that all changes to application state are stored as a sequence of events (e.g. business objects is persisted by storing a sequence of state changing events) Command Query Responsibility Segregation --> disassociate writes (commands) and reads (queries) Applying event sourcing on top of CQRS means persisting each event on the write part of the application. Read part is derived from the sequence of events. Bees brains = local databases Dance floor – write to bees brains Bees can query their own brains (read) May not be most up to date but that’s ok Responsiveness Lagom framework
  14. Rudy talked about CAP Theorum, most companies choose eventual consistency Tradeoff Dance floor  bees assume the food is still available until another bee comes back and says otherwise More representative of the way the world works Given enough time, all nodes will become consistent Not perfect  sharding to help improve consistency Lagom framework CAP Theorum
  15. Form of Database partitioning, separates very large databases into smaller, faster, more manageable parts called data shards Shard = small parts of a whole Meant to make v. large databases more manageable Greater parallelism, without collisions Two bees at the same cell – fill up multiple cells (sharding) Finite space in the hive – sharding out the hive into cells – operate in parallel across cells, reducing contention Imagine one huge cell, only one bee can fill up at a time Resiliency/elasticity Lagom framework
  16. Form of feedback/flow control Without feedback, a distributed system can easily become unstable and fail. Any component that cannot support the worst possible case of loading in the system can become a bottleneck. BLOCKING Without Feedback, other components will continue to increase the load until they are in turn congested, resulting in the ultimate collapse! When one component is struggling to keep-up, the system as a whole needs to respond in a sensible way. It is unacceptable for the component under stress to fail catastrophically or to drop messages in an uncontrolled fashion. Since it can’t cope and it can’t fail it should communicate the fact that it is under stress to upstream components and so get them to reduce the load. This back-pressure is an important feedback mechanism that allows systems to gracefully respond to load rather than collapse under it. this mechanism helps ensure that the system is resilient under load, and will provide information that may allow the system itself to apply other resources to help distribute the load, see Elasticity. Backpressure = built wherever the publisher is faster than the subscriber Honeycomb vs nectar ratio Resiliency / responsiveness
  17. Builhead use in industry to partition a ship into segments, so that sections can be sealed off if the hull is breeched. --> concept can be applied in software development to segregate resources Protect limited resources from being exhausted. Dancer communicating how many bees should go to food source Resiliency/responsiveness Akka
  18. Bees are intelligent actors, software isn’t so we have to program to imitate it Protect resources and help them recover Circuit breaker opens when a particular type of error occurs multiple times in a short period. An open circuit breaker prevents further requests to be made. They usually close after a certain amount of time, giving enough space for underlying services to recover. Resiliency Akka
  19. third party libraries RxJava is a Java VM implementation of Reactive Extensions: a library for composing asynchronous and event-based programs by using observable sequences. Microprofile Reactive Streams is an integration SPI - it allows two different libraries that provide asynchronous streaming to be able to stream data to and from each other. Play Framework is a web development framework that empowers developers to build highly scalable, lightning-fast applications with an ease unparalleled on the JVM. Play is built on top of Akka and Akka HTTP Lagom is an opinionated microservices framework that builds on top of Akka and Play
  20. Switch off bits of system to deal with load of customers trying to buy new phones – reactive solved this Google: “faster page loads, the more successful it will be”, people don’t want to wait Performance plays a major role in the success of any online venture. Case studies that show how high-performing sites engage and retain users better than low-performing ones: Pinterest increased search engine traffic and sign-ups by 15% when they reduced perceived wait times by 40%. COOK increased conversions by 7%, decreased bounce rates by 7%, and increased pages per session by 10% when they reduced average page load time by 850 milliseconds (14.2 secs). Here are a couple case studies where low performance had a negative impact on business goals: The BBC found they lost an additional 10% of users for every additional second their site took to load. DoubleClick by Google found 53% of mobile site visits were abandoned if a page took longer than 3 seconds to load.
  21. Lagom and Play