Retour d'expérience sur le passage d'une architecture monolithique à une architecture en microservice, les problèmes rencontrés et ce qu'il aurait fallu savoir et mettre en place avant de se lancer :)
9. One Team at Uber is Moving from Microservices to Macroservices
http://highscalability.com/blog/2020/4/8/one-team-at-uber-is-moving-from-microservices-to-macroservic.html
10.
11.
12. Pourquoi les microservices ?
● Capacité à livrer de façon indépendante et (plus) rapide
● Un temps de démarrage plus court
● Une base de code plus petite
● “Feature Teams”
● Pouvoir refondre un legacy de façon incrémentale
Mais aussi:
● adapter la techno au besoin
● mise à l’échelle / résilience
19. Prérequis
✓ Découper le système en
domaine
✓ Assurer l’autonomie et
la résilience
✓ Adapter les technos aux
besoins
20. Prérequis
✓ Découper le système en
domaine
✓ Assurer l’autonomie et
la résilience
✓ Adapter les technos aux
besoins
21. Prérequis
✓ Découper le système en
domaine
✓ Assurer l’autonomie et
la résilience
✓ Adapter les technos aux
besoins
✓ Maintenir la qualité du
système par les tests https://martinfowler.com/articles/microservice-testing
27. Prérequis
✓ Continuous Integration
✓ Trunk Based Dev +
Feature Toggle
✓ Pouvoir livrer
facilement
✓ Livrer doit être un non
évènement
✓ Avoir une approche
DevOps
34. Prérequis
✓ Organisation distribuée
✓ Découpée en petites équipes
autonomes
✓ Décide des standards
✓ Communique sur les pratiques
et outils
✓ Organisation auto apprenante
35. “ Software development is a learning process.
Working code is a side effect.”
albertobrandolini - @ncraft 17’
43. C’est bien
● Extraire du monolith
● Isolation des sous
domaines
● Livrer plus vite
● Facilité à remplacer un
microservice
● Expérimenter
● Remplis le CV
● Il ne faut pas sous
estimer la complexité
d’un système distribué
○ Ex. les transactions
● Il faut un excellent
niveau technique
● Et une organisation au
même niveau
mais