SlideShare une entreprise Scribd logo
1  sur  46
Micro-Services, the
Reactive Manifesto, and
12-Factors
Dejan Glozic, IBM Canada
ReactiveTO, July 2014
About me
Dejan Glozic, Full-Stack Architect
IBM Canada Toronto Laboratory
@dglozic
http://dejanglozic.com
Meetup reaction
Disambiguation:
• Reactionary
• Reactive pattern
• Reactive.js
We are not exactly
short on manifestos
Can you name a few?
Still, why worry?
Manifesto trends
0
15
30
45
60
XVI XVII XVIII XIX XX XXI
NotableManifestos
Centuries
Artistic Technical Technical (projected) Political
Adding more causes
inflation
We are reducing the value and impact of manifestos
Or even hyper-inflation
How bad can it be?
This bad
Inflation is bad, don’t do inflation… mmm kay?
Another thing to avoid
Founders giving up on their own manifestos
Resulting in…
Russ Miles blog-blocking the creation of a Micro-service
Manifesto
Microbe-service
Chlamydia is a nasty STD, don’t do Chlamydia…
mmmkay?
Don’t:
• Create too many new manifestos
• Go through them like dirty socks
• Make them compete with each other
Do
• Use manifestos as building blocks
• Make new manifestos add to the growing
understanding
–A Thespian from Utah
“We can have our Kate and Edith too.”
Mental exercise
Merge 12-factors, reactive manifesto and micro-services
The Twelve-Factor
App
Adam Wiggins, Heroku co-founder
12-Factors use Roman
numerals
Because they make the manifestos sound L% more
effective.
Factors I-IV
I. One codebase, many deploys
II. Declare and isolate dependencies
III. Separate config from code
IV. Treat backing services as attached resources
Factors V-VIII
V. Strictly separate build, release and run stages
VI. Execute apps as share-nothing processes
VII.Export services via port binding
VIII.Scale out via the process model
Factors IX-XII
IX. Fast startup, graceful shutdown
X. Dev/Prod parity
XI. Treat logs as event streams
XII.Run admin/mgmt tasks as one-off processes
12-factors are great…
…but they only answer ‘How’, not ‘Why’ and ‘What’
Then came Reactive
Manifesto
…but Kevin already told you what it is about
Why Reactive?
So that our system can be reactive to:
• Events
• Load
• Failure
• Users
Micro-services
The third ingredient
Micro-service frenzy
They even cause Twitter food fights
Sigh…
We cannot even agree what it is
Micro-service system
• Many micro-services instead of a monolith
• Do one thing and do it right
• Deploy micro-services independently
• Communicate using message queues
• Cluster locally
Example - feature grid
Horizontal - tiers, vertical - features.
Example - events
RabbitMQ between micro-services, WebSockets for
server push
Example - clustering
RabbitMQ worker queue, round-robin to micro-service
workers
Everything snaps into
focus
We now have our What, Why and How
What?
A distributed system based on micro-services that
communicate via message queues
Why?
Because we want our system to be reactive to events,
load, failure and users.
How?
By implementing micro-services as well-behaved 12-
factor apps
1 4 12
CONCEPT TENETS FACTORS
This was fun
Let’s hope consultants don’t ruin Reactive the way they
did Agile
#!$@*!!
Questions?
Thank you!
@dglozic
http://dejanglozic.com

Contenu connexe

Tendances

12 FACTOR APP WITH DOCKER
12 FACTOR APP WITH DOCKER12 FACTOR APP WITH DOCKER
12 FACTOR APP WITH DOCKERTREEPTIK
 
ThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.jsThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.jsBrad Williams
 
Building Cloud-Native Applications with OpenStack
Building Cloud-Native Applications with OpenStack Building Cloud-Native Applications with OpenStack
Building Cloud-Native Applications with OpenStack Platform9
 
Cloud Native Application Framework
Cloud Native Application FrameworkCloud Native Application Framework
Cloud Native Application FrameworkVMware Tanzu
 
Achieving Developer Nirvana With Codename: BlueMix
Achieving Developer Nirvana With Codename: BlueMixAchieving Developer Nirvana With Codename: BlueMix
Achieving Developer Nirvana With Codename: BlueMixRyan Baxter
 
Managing OpenShift at Scale Across the Open Hybrid Cloud
Managing OpenShift at Scale Across the Open Hybrid CloudManaging OpenShift at Scale Across the Open Hybrid Cloud
Managing OpenShift at Scale Across the Open Hybrid CloudJerome Marc
 
12 factor app - Core Guidelines To Cloud Ready Solutions
12 factor app - Core Guidelines To Cloud Ready Solutions12 factor app - Core Guidelines To Cloud Ready Solutions
12 factor app - Core Guidelines To Cloud Ready SolutionsKashif Ali Siddiqui
 
7-Step Recipe For Continuous Integration Using OpenStack - Part 1
7-Step Recipe For Continuous Integration Using OpenStack - Part 17-Step Recipe For Continuous Integration Using OpenStack - Part 1
7-Step Recipe For Continuous Integration Using OpenStack - Part 1Platform9
 
PaaS Ecosystem Overview
PaaS Ecosystem OverviewPaaS Ecosystem Overview
PaaS Ecosystem OverviewDmitry Meytin
 
Modernizing Your Enterprise Application Architecture with Microservices and A...
Modernizing Your Enterprise Application Architecture with Microservices and A...Modernizing Your Enterprise Application Architecture with Microservices and A...
Modernizing Your Enterprise Application Architecture with Microservices and A...andreas kuncoro
 
IBM Bluemix Tech Meetup 18-02-2015
IBM Bluemix Tech Meetup 18-02-2015IBM Bluemix Tech Meetup 18-02-2015
IBM Bluemix Tech Meetup 18-02-2015gjuljo
 
Software Architecture: A Story About Business Value and Tradeoffs
Software Architecture: A Story About Business Value and TradeoffsSoftware Architecture: A Story About Business Value and Tradeoffs
Software Architecture: A Story About Business Value and TradeoffsVMware Tanzu
 
Multi-cloud Container Management for vRealize Automation
Multi-cloud Container Management for vRealize AutomationMulti-cloud Container Management for vRealize Automation
Multi-cloud Container Management for vRealize AutomationJim Bugwadia
 
DevOps and its impact
DevOps and its impactDevOps and its impact
DevOps and its impactCisco DevNet
 
Cloud Native Runtime Platform
Cloud Native Runtime Platform Cloud Native Runtime Platform
Cloud Native Runtime Platform VMware Tanzu
 
An Integrated Pipeline for Private and Public Clouds with Jenkins, Artifactor...
An Integrated Pipeline for Private and Public Clouds with Jenkins, Artifactor...An Integrated Pipeline for Private and Public Clouds with Jenkins, Artifactor...
An Integrated Pipeline for Private and Public Clouds with Jenkins, Artifactor...VMware Tanzu
 
Boston Cloud Meetup - IBM Containers
Boston Cloud Meetup - IBM ContainersBoston Cloud Meetup - IBM Containers
Boston Cloud Meetup - IBM ContainersRyan Baxter
 
MongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the Cloud
MongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the CloudMongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the Cloud
MongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the CloudMongoDB
 

Tendances (20)

12 FACTOR APP WITH DOCKER
12 FACTOR APP WITH DOCKER12 FACTOR APP WITH DOCKER
12 FACTOR APP WITH DOCKER
 
12 factor apps
12 factor apps12 factor apps
12 factor apps
 
ThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.jsThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.js
 
Building Cloud-Native Applications with OpenStack
Building Cloud-Native Applications with OpenStack Building Cloud-Native Applications with OpenStack
Building Cloud-Native Applications with OpenStack
 
Cloud Native Application Framework
Cloud Native Application FrameworkCloud Native Application Framework
Cloud Native Application Framework
 
Achieving Developer Nirvana With Codename: BlueMix
Achieving Developer Nirvana With Codename: BlueMixAchieving Developer Nirvana With Codename: BlueMix
Achieving Developer Nirvana With Codename: BlueMix
 
Managing OpenShift at Scale Across the Open Hybrid Cloud
Managing OpenShift at Scale Across the Open Hybrid CloudManaging OpenShift at Scale Across the Open Hybrid Cloud
Managing OpenShift at Scale Across the Open Hybrid Cloud
 
12 factor app - Core Guidelines To Cloud Ready Solutions
12 factor app - Core Guidelines To Cloud Ready Solutions12 factor app - Core Guidelines To Cloud Ready Solutions
12 factor app - Core Guidelines To Cloud Ready Solutions
 
7-Step Recipe For Continuous Integration Using OpenStack - Part 1
7-Step Recipe For Continuous Integration Using OpenStack - Part 17-Step Recipe For Continuous Integration Using OpenStack - Part 1
7-Step Recipe For Continuous Integration Using OpenStack - Part 1
 
PaaS Ecosystem Overview
PaaS Ecosystem OverviewPaaS Ecosystem Overview
PaaS Ecosystem Overview
 
Modernizing Your Enterprise Application Architecture with Microservices and A...
Modernizing Your Enterprise Application Architecture with Microservices and A...Modernizing Your Enterprise Application Architecture with Microservices and A...
Modernizing Your Enterprise Application Architecture with Microservices and A...
 
IBM Bluemix Tech Meetup 18-02-2015
IBM Bluemix Tech Meetup 18-02-2015IBM Bluemix Tech Meetup 18-02-2015
IBM Bluemix Tech Meetup 18-02-2015
 
Software Architecture: A Story About Business Value and Tradeoffs
Software Architecture: A Story About Business Value and TradeoffsSoftware Architecture: A Story About Business Value and Tradeoffs
Software Architecture: A Story About Business Value and Tradeoffs
 
Multi-cloud Container Management for vRealize Automation
Multi-cloud Container Management for vRealize AutomationMulti-cloud Container Management for vRealize Automation
Multi-cloud Container Management for vRealize Automation
 
DevOps and its impact
DevOps and its impactDevOps and its impact
DevOps and its impact
 
Cloud Native Runtime Platform
Cloud Native Runtime Platform Cloud Native Runtime Platform
Cloud Native Runtime Platform
 
IBM Bluemix Overview
IBM Bluemix OverviewIBM Bluemix Overview
IBM Bluemix Overview
 
An Integrated Pipeline for Private and Public Clouds with Jenkins, Artifactor...
An Integrated Pipeline for Private and Public Clouds with Jenkins, Artifactor...An Integrated Pipeline for Private and Public Clouds with Jenkins, Artifactor...
An Integrated Pipeline for Private and Public Clouds with Jenkins, Artifactor...
 
Boston Cloud Meetup - IBM Containers
Boston Cloud Meetup - IBM ContainersBoston Cloud Meetup - IBM Containers
Boston Cloud Meetup - IBM Containers
 
MongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the Cloud
MongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the CloudMongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the Cloud
MongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the Cloud
 

En vedette

12 Factor App: Best Practices for JVM Deployment
12 Factor App: Best Practices for JVM Deployment12 Factor App: Best Practices for JVM Deployment
12 Factor App: Best Practices for JVM DeploymentJoe Kutner
 
The 12 Factor App
The 12 Factor AppThe 12 Factor App
The 12 Factor Apprudiyardley
 
Reactive Jersey Client
Reactive Jersey ClientReactive Jersey Client
Reactive Jersey ClientMichal Gajdos
 
Akka in Practice: Designing Actor-based Applications
Akka in Practice: Designing Actor-based ApplicationsAkka in Practice: Designing Actor-based Applications
Akka in Practice: Designing Actor-based ApplicationsNLJUG
 
A Journey to Reactive Function Programming
A Journey to Reactive Function ProgrammingA Journey to Reactive Function Programming
A Journey to Reactive Function ProgrammingAhmed Soliman
 
Reactive programming on Android
Reactive programming on AndroidReactive programming on Android
Reactive programming on AndroidTomáš Kypta
 
xPatterns on Spark, Shark, Mesos, Tachyon
xPatterns on Spark, Shark, Mesos, TachyonxPatterns on Spark, Shark, Mesos, Tachyon
xPatterns on Spark, Shark, Mesos, TachyonClaudiu Barbura
 
PSUG #52 Dataflow and simplified reactive programming with Akka-streams
PSUG #52 Dataflow and simplified reactive programming with Akka-streamsPSUG #52 Dataflow and simplified reactive programming with Akka-streams
PSUG #52 Dataflow and simplified reactive programming with Akka-streamsStephane Manciot
 
Reactive streams
Reactive streamsReactive streams
Reactive streamscodepitbull
 
Akka and AngularJS – Reactive Applications in Practice
Akka and AngularJS – Reactive Applications in PracticeAkka and AngularJS – Reactive Applications in Practice
Akka and AngularJS – Reactive Applications in PracticeRoland Kuhn
 
Docker. Does it matter for Java developer ?
Docker. Does it matter for Java developer ?Docker. Does it matter for Java developer ?
Docker. Does it matter for Java developer ?Izzet Mustafaiev
 
Tachyon and Apache Spark
Tachyon and Apache SparkTachyon and Apache Spark
Tachyon and Apache Sparkrhatr
 
Reactive Streams and RabbitMQ
Reactive Streams and RabbitMQReactive Streams and RabbitMQ
Reactive Streams and RabbitMQmkiedys
 
xPatterns ... beyond Hadoop (Spark, Shark, Mesos, Tachyon)
xPatterns ... beyond Hadoop (Spark, Shark, Mesos, Tachyon)xPatterns ... beyond Hadoop (Spark, Shark, Mesos, Tachyon)
xPatterns ... beyond Hadoop (Spark, Shark, Mesos, Tachyon)Claudiu Barbura
 
Resilient Applications with Akka Persistence - Scaladays 2014
Resilient Applications with Akka Persistence - Scaladays 2014Resilient Applications with Akka Persistence - Scaladays 2014
Resilient Applications with Akka Persistence - Scaladays 2014Björn Antonsson
 

En vedette (15)

12 Factor App: Best Practices for JVM Deployment
12 Factor App: Best Practices for JVM Deployment12 Factor App: Best Practices for JVM Deployment
12 Factor App: Best Practices for JVM Deployment
 
The 12 Factor App
The 12 Factor AppThe 12 Factor App
The 12 Factor App
 
Reactive Jersey Client
Reactive Jersey ClientReactive Jersey Client
Reactive Jersey Client
 
Akka in Practice: Designing Actor-based Applications
Akka in Practice: Designing Actor-based ApplicationsAkka in Practice: Designing Actor-based Applications
Akka in Practice: Designing Actor-based Applications
 
A Journey to Reactive Function Programming
A Journey to Reactive Function ProgrammingA Journey to Reactive Function Programming
A Journey to Reactive Function Programming
 
Reactive programming on Android
Reactive programming on AndroidReactive programming on Android
Reactive programming on Android
 
xPatterns on Spark, Shark, Mesos, Tachyon
xPatterns on Spark, Shark, Mesos, TachyonxPatterns on Spark, Shark, Mesos, Tachyon
xPatterns on Spark, Shark, Mesos, Tachyon
 
PSUG #52 Dataflow and simplified reactive programming with Akka-streams
PSUG #52 Dataflow and simplified reactive programming with Akka-streamsPSUG #52 Dataflow and simplified reactive programming with Akka-streams
PSUG #52 Dataflow and simplified reactive programming with Akka-streams
 
Reactive streams
Reactive streamsReactive streams
Reactive streams
 
Akka and AngularJS – Reactive Applications in Practice
Akka and AngularJS – Reactive Applications in PracticeAkka and AngularJS – Reactive Applications in Practice
Akka and AngularJS – Reactive Applications in Practice
 
Docker. Does it matter for Java developer ?
Docker. Does it matter for Java developer ?Docker. Does it matter for Java developer ?
Docker. Does it matter for Java developer ?
 
Tachyon and Apache Spark
Tachyon and Apache SparkTachyon and Apache Spark
Tachyon and Apache Spark
 
Reactive Streams and RabbitMQ
Reactive Streams and RabbitMQReactive Streams and RabbitMQ
Reactive Streams and RabbitMQ
 
xPatterns ... beyond Hadoop (Spark, Shark, Mesos, Tachyon)
xPatterns ... beyond Hadoop (Spark, Shark, Mesos, Tachyon)xPatterns ... beyond Hadoop (Spark, Shark, Mesos, Tachyon)
xPatterns ... beyond Hadoop (Spark, Shark, Mesos, Tachyon)
 
Resilient Applications with Akka Persistence - Scaladays 2014
Resilient Applications with Akka Persistence - Scaladays 2014Resilient Applications with Akka Persistence - Scaladays 2014
Resilient Applications with Akka Persistence - Scaladays 2014
 

Similaire à Micro services, reactive manifesto and 12-factors

DevOps – Don’t Be Left Behind
DevOps – Don’t Be Left BehindDevOps – Don’t Be Left Behind
DevOps – Don’t Be Left BehindCapgemini
 
The Not-So-Straightforward Road From Microservices to Serverless
The Not-So-Straightforward Road From Microservices to ServerlessThe Not-So-Straightforward Road From Microservices to Serverless
The Not-So-Straightforward Road From Microservices to ServerlessPhil Calçado
 
Ibm innovation space launch bluemix introduction
Ibm innovation space launch bluemix introductionIbm innovation space launch bluemix introduction
Ibm innovation space launch bluemix introductionbenm4nn
 
Dev ops and paas at hp discover 2015
Dev ops and paas at hp discover 2015Dev ops and paas at hp discover 2015
Dev ops and paas at hp discover 2015James Governor
 
Minimalism Revisited — Let’s Stop Developing Content that No One Wants
Minimalism Revisited — Let’s Stop Developing Content that No One WantsMinimalism Revisited — Let’s Stop Developing Content that No One Wants
Minimalism Revisited — Let’s Stop Developing Content that No One Wantsdclsocialmedia
 
Responsible Microservices
Responsible MicroservicesResponsible Microservices
Responsible MicroservicesVMware Tanzu
 
Keynote, Intergen Dynamics Day '10
Keynote, Intergen Dynamics Day '10Keynote, Intergen Dynamics Day '10
Keynote, Intergen Dynamics Day '10Intergen
 
Getting through the Economic Crisis as a Tech Startup
Getting through the Economic Crisis as a Tech StartupGetting through the Economic Crisis as a Tech Startup
Getting through the Economic Crisis as a Tech Startupscoobeesnac
 
Evolving to Cloud-Native - Nate Schutta 2/2
Evolving to Cloud-Native - Nate Schutta 2/2Evolving to Cloud-Native - Nate Schutta 2/2
Evolving to Cloud-Native - Nate Schutta 2/2VMware Tanzu
 
Dev ops don't be left behind
Dev ops   don't be left behindDev ops   don't be left behind
Dev ops don't be left behindGunnar Menzel
 
Microservices - Scaling Development and Service
Microservices - Scaling Development and ServiceMicroservices - Scaling Development and Service
Microservices - Scaling Development and ServicePaulo Gaspar
 
Elastically scalable architectures with microservices. The end of the monolith?
Elastically scalable architectures with microservices. The end of the monolith?Elastically scalable architectures with microservices. The end of the monolith?
Elastically scalable architectures with microservices. The end of the monolith?Javier Arias Losada
 
5 Practices for Better, Cheaper, Faster Service Delivery
5 Practices for Better, Cheaper, Faster Service Delivery5 Practices for Better, Cheaper, Faster Service Delivery
5 Practices for Better, Cheaper, Faster Service DeliveryRob Schoening
 
Evolving to Cloud-Native - Nate Schutta (2/2)
Evolving to Cloud-Native - Nate Schutta (2/2)Evolving to Cloud-Native - Nate Schutta (2/2)
Evolving to Cloud-Native - Nate Schutta (2/2)VMware Tanzu
 
Innovation Enablers: Culture, Community & Code
Innovation Enablers: Culture, Community & Code Innovation Enablers: Culture, Community & Code
Innovation Enablers: Culture, Community & Code Angel Diaz
 
Why a DevOps approach is critical to achieve digital transformation
Why a DevOps approach is critical to achieve digital transformationWhy a DevOps approach is critical to achieve digital transformation
Why a DevOps approach is critical to achieve digital transformationAgileSparks
 
Evolving to Cloud-Native - Nate Schutta 1/2
Evolving to Cloud-Native - Nate Schutta 1/2Evolving to Cloud-Native - Nate Schutta 1/2
Evolving to Cloud-Native - Nate Schutta 1/2VMware Tanzu
 
Started in-tech-la-nov-21
Started in-tech-la-nov-21Started in-tech-la-nov-21
Started in-tech-la-nov-21Thinkful
 
Navigating the New Industrial Revolution - Exploring New Forms of Value Creation
Navigating the New Industrial Revolution - Exploring New Forms of Value CreationNavigating the New Industrial Revolution - Exploring New Forms of Value Creation
Navigating the New Industrial Revolution - Exploring New Forms of Value CreationRobin Teigland
 
Keep Cloud Transformation on Track: Nine Best Practices to Avoid or Break Th...
 Keep Cloud Transformation on Track: Nine Best Practices to Avoid or Break Th... Keep Cloud Transformation on Track: Nine Best Practices to Avoid or Break Th...
Keep Cloud Transformation on Track: Nine Best Practices to Avoid or Break Th...Amazon Web Services
 

Similaire à Micro services, reactive manifesto and 12-factors (20)

DevOps – Don’t Be Left Behind
DevOps – Don’t Be Left BehindDevOps – Don’t Be Left Behind
DevOps – Don’t Be Left Behind
 
The Not-So-Straightforward Road From Microservices to Serverless
The Not-So-Straightforward Road From Microservices to ServerlessThe Not-So-Straightforward Road From Microservices to Serverless
The Not-So-Straightforward Road From Microservices to Serverless
 
Ibm innovation space launch bluemix introduction
Ibm innovation space launch bluemix introductionIbm innovation space launch bluemix introduction
Ibm innovation space launch bluemix introduction
 
Dev ops and paas at hp discover 2015
Dev ops and paas at hp discover 2015Dev ops and paas at hp discover 2015
Dev ops and paas at hp discover 2015
 
Minimalism Revisited — Let’s Stop Developing Content that No One Wants
Minimalism Revisited — Let’s Stop Developing Content that No One WantsMinimalism Revisited — Let’s Stop Developing Content that No One Wants
Minimalism Revisited — Let’s Stop Developing Content that No One Wants
 
Responsible Microservices
Responsible MicroservicesResponsible Microservices
Responsible Microservices
 
Keynote, Intergen Dynamics Day '10
Keynote, Intergen Dynamics Day '10Keynote, Intergen Dynamics Day '10
Keynote, Intergen Dynamics Day '10
 
Getting through the Economic Crisis as a Tech Startup
Getting through the Economic Crisis as a Tech StartupGetting through the Economic Crisis as a Tech Startup
Getting through the Economic Crisis as a Tech Startup
 
Evolving to Cloud-Native - Nate Schutta 2/2
Evolving to Cloud-Native - Nate Schutta 2/2Evolving to Cloud-Native - Nate Schutta 2/2
Evolving to Cloud-Native - Nate Schutta 2/2
 
Dev ops don't be left behind
Dev ops   don't be left behindDev ops   don't be left behind
Dev ops don't be left behind
 
Microservices - Scaling Development and Service
Microservices - Scaling Development and ServiceMicroservices - Scaling Development and Service
Microservices - Scaling Development and Service
 
Elastically scalable architectures with microservices. The end of the monolith?
Elastically scalable architectures with microservices. The end of the monolith?Elastically scalable architectures with microservices. The end of the monolith?
Elastically scalable architectures with microservices. The end of the monolith?
 
5 Practices for Better, Cheaper, Faster Service Delivery
5 Practices for Better, Cheaper, Faster Service Delivery5 Practices for Better, Cheaper, Faster Service Delivery
5 Practices for Better, Cheaper, Faster Service Delivery
 
Evolving to Cloud-Native - Nate Schutta (2/2)
Evolving to Cloud-Native - Nate Schutta (2/2)Evolving to Cloud-Native - Nate Schutta (2/2)
Evolving to Cloud-Native - Nate Schutta (2/2)
 
Innovation Enablers: Culture, Community & Code
Innovation Enablers: Culture, Community & Code Innovation Enablers: Culture, Community & Code
Innovation Enablers: Culture, Community & Code
 
Why a DevOps approach is critical to achieve digital transformation
Why a DevOps approach is critical to achieve digital transformationWhy a DevOps approach is critical to achieve digital transformation
Why a DevOps approach is critical to achieve digital transformation
 
Evolving to Cloud-Native - Nate Schutta 1/2
Evolving to Cloud-Native - Nate Schutta 1/2Evolving to Cloud-Native - Nate Schutta 1/2
Evolving to Cloud-Native - Nate Schutta 1/2
 
Started in-tech-la-nov-21
Started in-tech-la-nov-21Started in-tech-la-nov-21
Started in-tech-la-nov-21
 
Navigating the New Industrial Revolution - Exploring New Forms of Value Creation
Navigating the New Industrial Revolution - Exploring New Forms of Value CreationNavigating the New Industrial Revolution - Exploring New Forms of Value Creation
Navigating the New Industrial Revolution - Exploring New Forms of Value Creation
 
Keep Cloud Transformation on Track: Nine Best Practices to Avoid or Break Th...
 Keep Cloud Transformation on Track: Nine Best Practices to Avoid or Break Th... Keep Cloud Transformation on Track: Nine Best Practices to Avoid or Break Th...
Keep Cloud Transformation on Track: Nine Best Practices to Avoid or Break Th...
 

Dernier

What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 

Dernier (20)

What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 

Micro services, reactive manifesto and 12-factors

Notes de l'éditeur

  1. Second presentation of the evening. Intriguing title, talk should match. Grand unifying theory of distributed system manifestos.
  2. My name is Dejan Glozic. Full-stack architect at IBM Canada, Toronto Lab (that's in Markham). Apps in the cloud, Node.js and micro-services, moving away from big monolithic applications. I tweet and blog about my experiences at dejanglozic.com.
  3. First reaction “Oh, I got to attend!”. Second reaction “In fact, I should present!”. Third reaction: “What is Reactive?”. Similarities with a political concept, design pattern and a JavaScript library didn’t help.
  4. So I studied. After reading and signing the Reactive Manifesto in excitement (6230!!), I started worrying.
  5. I worried because it seems to me that we are shortening the cycle between notable manifestos. Look at some of the famous manifestos:
  6. The Declaration of Independence.
  7. The Declaration of the Rights of Men and Citizen from the French Revolution
  8. A perennial crowd pleaser - Das Kommunistische Manifest (and soon to follow copycats, Anarchist Manifesto and Fascist Manifesto).
  9. That’s all nice but why exactly should we worry?
  10. Wikipedia trends. XX - golden age of manifestos. In 14 years of XXI, already as many as XIX. As many technical manifestos in 14 years of XXI as XX. At this rate, we will have 57 by the end of the century.
  11. Producing more and more of anything over time causes inflation, which reduces the impact and effectiveness of each manifesto.
  12. If we produce a huge number of manifestos, we can even create a hyper-inflation. Now, how can an illustrate the results of a hyper-inflation?
  13. This should do it. This is an actual paper note from FRY of 500 billion dinars. Sadly, I was there to use it in 1993. You could buy a loaf of bread in the morning, a bagel in the evening for it. We should try to avoid inflation.
  14. Avoid ruining manifestos by the consulting-industrial complex. In this tweet @pragdave was so excited he didn’t spot a typo. Twitter needs an ‘Oops’ button.
  15. In the light of the fate of the Agile Manifesto, Russ Miles decided to pre-empt the creation of one for Micro-services with a tongue-in-cheek Micro-service ManifestNO.
  16. He even proposed an official mascot. You can order it from Amazon for $29.95.
  17. Avoid the urge to create many new manifestos. For Reactive, that ship has sailed. Try not to give up on them easily - worthy goal. We should not confuse developers by making them chose (like languages/platforms - Node.js, Scala/Akka, Go).
  18. Make manifestos complement each other, adding to the growing understanding.
  19. Second presentation of the evening. Intriguing title, talk should match. Grand unifying theory of distributed system manifestos.
  20. First up (chronologically) - 12-factor App by Adam Wiggins and Heroku. It puts forward a checklist that marks a good cloud app, using Roman numerals.
  21. Factors are marked in Roman numerals because they make manifestos sound 50% more effective.
  22. Code in a source control, no sharing. One app - one codebase. Self-contained, no implicit dependencies - full dependency list, package manager. Configs vary by deploys, code doesn’t. Can you open source? Everything is a backing service.
  23. No code changes in a running system. No changes to builds. Stateless - pre-cursor for clustering. Inversion of control - no Web container. With share nothing, easy to cluster.
  24. Necessary for many deploys per day, zero-downtime Keep DEV/QA/PROD environment as similar as possible to avoid surprises Let the log processing tools handle storage and analysis Admin tasks to the same codebase as the services
  25. What are all these apps amounting to? Why am I doing all this?
  26. We are still yearning for answers.
  27. You know this one: reactive to events, load, failure and users.
  28. Reactive manifesto adds to our understanding because it answers the ‘Why?’ question.
  29. We can now add the third ingredient - micro-services. They don’t have a manifesto (thanks, Russ!) but they are all the buzz these days.
  30. Martin Fowler - HBO-worthy 7 episode epic on micro-services. Then Manifesto’s own Jonas zinged him.
  31. We can focus functionality better and isolate bad code. DevOps. Multiple teams in parallel. Bizzaro world to on-prem. Use message queues.
  32. Each service individually clusterable. Each service can use different technology. APIs serve mobile as well. Each API service is self-documenting.
  33. Reactive to events - MQ between services, WebSockets for server push.
  34. Instead of competing with each other, three manifestos are complementary because they address different questions.
  35. This allows us to see the forrest, not just the trees.
  36. This gives us purpose. Async services, message queues - events. Local clustering - load. Paranoid programming, isolation - failure. All this makes the system responsive to users.
  37. Share-nothing - easy clustering. Using async platforms such as JS/Node.js or Go or Scala/Play. Using RabbitMQ, Redis, WebSockets. DevOps, Blue-Green deployment etc.
  38. Almost sounds like a life coach sales pitch. Sweet!
  39. There you go - let’s hope we learned something from the Agile Manifesto experience, and will not let consultants ruin Reactive.
  40. But I may be hopelessly naive…
  41. Before I close, are there any questions?
  42. Thank you. Find me on Twitter or visit my blog at dejanglozic.com.