SlideShare une entreprise Scribd logo
1  sur  143
Télécharger pour lire hors ligne
The Technical Journey
to Microservices
@russmiles
Biker me… TBD
Reactive…
Say “Microservices” one more time…
TBD
A Definition…
The kingdom of heaven is like a mustard seed, which
a man took and planted in his field.Though it is the
smallest of all seeds, yet when it grows, it is the largest
of garden plants and becomes a tree, so that the birds
come and perch in its branches (Matthew 13:31-32).
- Of Mustard Seeds and Microservices (Micah
Blalock) -- https://www.credera.com/blog/technology-
insights/java/mustard-seeds-microservices/
“Loosely coupled service oriented
architecture with bounded contexts”
Loosely Coupled
Services that 

can change
A Story
“The Elephant in the
Standup”
The term isWRONG
Size 

doesn’t matter
SLOC doesn’t matter
Cognitive Overhead
DOES
What can your System
DO?
Single Biggest Limiting
Factor on Change?
You.
Comprehension
Not the things…
… the things that
happen
Systemic Properties
Not what you have
What you can 

do
with it
The Big Challenge
Some value Stability
Some value Speed
Some value Agility
Some value Adaptability
Some value Volatility
Some value Antifragility
Microservices (can) =
Speed
Adaptability
Antifragility
How?
How?
Life Preservation
Events.
How?
How?
Volume
Variety
Velocity
Volume
Variety
Velocity
Veracity
Aggregates
Views
Downside?
One more story…
Build an app…
The Todo list, 

for a Todo App
“Create a beautiful
looking app & web ui
for interacting with
todo lists”
“Write a back-end
service that stores todo
lists so that they can be
made available across
devices and the web.”
“Write your todo-list
tests to ensure things
function as you expect"
But…
According to slide-
theorists…
But that’s waaaay 

too easy…
40 slides in 2 minutes…
Ready…?
Set up source code
control and an issue
tracker
Manage user accounts,
sign-up, sign-in, and
password management
Collect analytics from
your app and web ui
about how people use
your app
Build and test your app
across multiple devices
and OS versions
Gather information on
app crashes and bugs
and feed this back into
an issue backlog
Test your web ui across
multiple browsers and
versions
Document the API that
the native apps and web
app depend on
Push client-side assets to
CDNs and keep them up
to date
Version your API so that
you can evolve client
apps and the backing
service independently
Implement rate limiting
for requests
Set up a CI service that
monitors your repository
for changes builds and
tests your software
Set up a CD service that
deploys new version of
your software to your
chosen deployment
platform
Set up networking rules
so that the components
of your backend can see
each other and are
protected from other
traffic
Enable the components
of your backend service
(e.g. the API
implementation and
database) to find each
other
Ensure the service can
survive failure of an AZ
Monitor request latency
Create new instances if
existing ones fail, and
transparently reconnect
service components
Provide mechanisms to
scale up and down
service capacity
Trace requests all the way
through the system
Provide audit logs of all
changes made to
production systems
Set up an alerting
mechanism for problems
in production
Put in place a DR
solution and test it
Back up and recovery
processes for data
Create operational play
books and test your plays
Put in place automated
failure testing 

(e.g. simians)
Ensure service has no
security weaknesses 

(e.g. XSS)
Monitor CVE reports for
all components in your
stack and replace as
soon as a vulnerability is
found
Devise deployment
schemes for e.g. blue/
green, phased rollout, and
rollback
Collect logs from all
components for analysis
Enable marketing to run
A/B and feature tests
Monitor and visualise all
of the above and ensure
that things continue to
flow smoothly through the
pipeline
Package all of your
application components
in a form suitable for
deployment
Manage stand up and
tear down of dev and test
environments
…
…breathe…
…
And that’s before we get
to…
Service Configuration
Service Discovery
Bulkheads
Circuit Breakers
Event Stores
Messaging
CQRS
Language Selection
APIs
API Gateways
Lakes
Routing
Security
…
BREATHE!!!
…
And this is JUST the
Technical Journey!
WT*?!
The real problem?
The general problem…
d
do
bdo
S
Complexity

of

Microservices
We can do better
We can do much better
We have done this
before…
Simplify Enterprise Java
Simplify Microservices
What can you do?
www.leanpub.com/antifragilesoftware
Get Involved!
Thanks for your time!
@russmiles
russmiles.com

Contenu connexe

Plus de Russell Miles

Plus de Russell Miles (8)

Don't be a victim of your own success: Using Service Levels to give a Consist...
Don't be a victim of your own success: Using Service Levels to give a Consist...Don't be a victim of your own success: Using Service Levels to give a Consist...
Don't be a victim of your own success: Using Service Levels to give a Consist...
 
Service Level Objectives and SRE: Service Level Overkill with Mick Roper
Service Level Objectives and SRE: Service Level Overkill with Mick RoperService Level Objectives and SRE: Service Level Overkill with Mick Roper
Service Level Objectives and SRE: Service Level Overkill with Mick Roper
 
From Chaos to Verification at Expedia Group, London
From Chaos to Verification at Expedia Group, LondonFrom Chaos to Verification at Expedia Group, London
From Chaos to Verification at Expedia Group, London
 
Break stuff - Confessions of a misguided chaos engineer
Break stuff - Confessions of a misguided chaos engineerBreak stuff - Confessions of a misguided chaos engineer
Break stuff - Confessions of a misguided chaos engineer
 
Trust and Confidence through Chaos Keynote for W-JAX Munich 2018
Trust and Confidence through Chaos Keynote for W-JAX Munich 2018Trust and Confidence through Chaos Keynote for W-JAX Munich 2018
Trust and Confidence through Chaos Keynote for W-JAX Munich 2018
 
How to be Wrong (or How to be Successful at Being Wrong)
How to be Wrong (or How to be Successful at Being Wrong)How to be Wrong (or How to be Successful at Being Wrong)
How to be Wrong (or How to be Successful at Being Wrong)
 
Production Microservices @ Jazoon
Production Microservices @ JazoonProduction Microservices @ Jazoon
Production Microservices @ Jazoon
 
Chaos Engineering 101 by Russ Miles
Chaos Engineering 101 by Russ MilesChaos Engineering 101 by Russ Miles
Chaos Engineering 101 by Russ Miles
 

Dernier

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

The Technical Journey to Microservices - the New World