SlideShare une entreprise Scribd logo
1  sur  46
Télécharger pour lire hors ligne
Microservices depuis les tranchées
REX du passage d’un monolithe à une architecture orientée microservices
Me, myself & I
Le contexte
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
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
Microservices
Quatre axes de maturité
Les joies d’un système distribué
Prérequis
✓ Découper le système en
domaine
Prérequis
✓ Découper le système en
domaine
Prérequis
✓ Découper le système en
domaine
✓ Assurer l’autonomie et
la résilience
Prérequis
✓ Découper le système en
domaine
✓ Assurer l’autonomie et
la résilience
Prérequis
✓ Découper le système en
domaine
✓ Assurer l’autonomie et
la résilience
✓ Adapter les technos aux
besoins
Prérequis
✓ Découper le système en
domaine
✓ Assurer l’autonomie et
la résilience
✓ Adapter les technos aux
besoins
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
Continuous Delivery
Prérequis
✓ Continuous Integration
Prérequis
✓ Continuous Integration
✓ Trunk Based Dev +
Feature Toggle
Prérequis
✓ Continuous Integration
✓ Trunk Based Dev +
Feature Toggle
✓ Pouvoir livrer
facilement
Prérequis
✓ Continuous Integration
✓ Trunk Based Dev +
Feature Toggle
✓ Pouvoir livrer
facilement
✓ Livrer doit être un non
évènement
Prérequis
✓ Continuous Integration
✓ Trunk Based Dev +
Feature Toggle
✓ Pouvoir livrer
facilement
✓ Livrer doit être un non
évènement
✓ Avoir une approche
DevOps
Les joies de la collaboration
Prérequis
✓ Organisation distribuée
https://www.thoughtworks.com/insights/blog/demystifying-conways-law
Prérequis
✓ Organisation distribuée
✓ Découpée en petites équipes
autonomes
Prérequis
✓ Organisation distribuée
✓ Découpée en petites équipes
autonomes
✓ Décide des standards
Prérequis
✓ Organisation distribuée
✓ Découpée en petites équipes
autonomes
✓ Décide des standards
✓ Communique sur les pratiques
et outils
Prérequis
✓ Organisation distribuée
✓ Découpée en petites équipes
autonomes
✓ Décide des standards
✓ Communique sur les pratiques
et outils
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
“ Software development is a learning process.
Working code is a side effect.”
albertobrandolini - @ncraft 17’
Production
Les prérequis
✓ Pouvoir explorer les
logs
Les prérequis
✓ Pouvoir explorer les
logs
✓ Surveiller l’état du
système
Les prérequis
✓ Pouvoir explorer les
logs
✓ Surveiller l’état du
système
✓ Alerting
Les prérequis
✓ Une Approche DevOps
✓ Pouvoir explorer les
logs
✓ Surveiller l’état du
système
✓ Alerting
✓ Maîtriser les
healthchecks
Les prérequis
✓ Une Approche DevOps
✓ Pouvoir explorer les
logs
✓ Surveiller l’état du
système
✓ Alerting
✓ Maîtriser les
healthchecks
✓ DevOps !
Conclusion
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
Documentation
https://docs.microsoft.com/en-us/azure/architecture/patterns/
https://azure.microsoft.com/en-us/resources/infographics/cloud-design-patterns/
Merci ! Des questions ?
Microservices depuis les tranchées

Contenu connexe

Similaire à Microservices depuis les tranchées

Présentation DEVOPS_Black.pptx
Présentation DEVOPS_Black.pptxPrésentation DEVOPS_Black.pptx
Présentation DEVOPS_Black.pptxZALIMAZA
 
Présentation DEVOPS-Majeur.pptx
Présentation DEVOPS-Majeur.pptxPrésentation DEVOPS-Majeur.pptx
Présentation DEVOPS-Majeur.pptxZALIMAZA
 
Présentation DEVOPS_Mauritanie.pptx
Présentation DEVOPS_Mauritanie.pptxPrésentation DEVOPS_Mauritanie.pptx
Présentation DEVOPS_Mauritanie.pptxZALIMAZA
 
Présentation DEVOPS_PO.pptx
Présentation DEVOPS_PO.pptxPrésentation DEVOPS_PO.pptx
Présentation DEVOPS_PO.pptxZALIMAZA
 
Présentation DEVOPS_Kola.pptx
Présentation DEVOPS_Kola.pptxPrésentation DEVOPS_Kola.pptx
Présentation DEVOPS_Kola.pptxssuserf298861
 
Présentation DEVOPS_hyper.pptx
Présentation DEVOPS_hyper.pptxPrésentation DEVOPS_hyper.pptx
Présentation DEVOPS_hyper.pptxZALIMAZA
 
Présentation DEVOPS.pptx
Présentation DEVOPS.pptxPrésentation DEVOPS.pptx
Présentation DEVOPS.pptxboulonvert
 
L’informatique efficience
L’informatique efficienceL’informatique efficience
L’informatique efficienceMichel Bruchet
 
DevCon 2 ; Infra as Code avec Azure
DevCon 2  ; Infra as Code avec AzureDevCon 2  ; Infra as Code avec Azure
DevCon 2 ; Infra as Code avec AzureMichel HUBERT
 
Gouvernance Azure - La charte de nommage
Gouvernance Azure - La charte de nommageGouvernance Azure - La charte de nommage
Gouvernance Azure - La charte de nommageCellenza
 
CMSday 2013 - Usines à sites : Quelles sont les approches possibles ?
CMSday 2013 - Usines à sites : Quelles sont les approches possibles ?CMSday 2013 - Usines à sites : Quelles sont les approches possibles ?
CMSday 2013 - Usines à sites : Quelles sont les approches possibles ?Smile I.T is open
 
Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOpsMicrosoft
 
Accéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetAccéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetFrédéric Vandenbriele
 
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement MicrosoftChristophe HERAL
 
Sw 100 fr docker conteneurisation des applications
Sw 100 fr docker conteneurisation des applicationsSw 100 fr docker conteneurisation des applications
Sw 100 fr docker conteneurisation des applicationsStephane Woillez
 
L'évolution vers le (Dev)NoOps
L'évolution vers le (Dev)NoOpsL'évolution vers le (Dev)NoOps
L'évolution vers le (Dev)NoOpsGeorgeot Cédric
 
Agile lille 2015 devops etapres
Agile lille 2015 devops etapresAgile lille 2015 devops etapres
Agile lille 2015 devops etapresLaurent Tardif
 
Introduction DevOps & containarization des applications
Introduction DevOps & containarization des applicationsIntroduction DevOps & containarization des applications
Introduction DevOps & containarization des applicationsJulien Chable
 

Similaire à Microservices depuis les tranchées (20)

Présentation DEVOPS_Black.pptx
Présentation DEVOPS_Black.pptxPrésentation DEVOPS_Black.pptx
Présentation DEVOPS_Black.pptx
 
Présentation DEVOPS-Majeur.pptx
Présentation DEVOPS-Majeur.pptxPrésentation DEVOPS-Majeur.pptx
Présentation DEVOPS-Majeur.pptx
 
Présentation DEVOPS_Mauritanie.pptx
Présentation DEVOPS_Mauritanie.pptxPrésentation DEVOPS_Mauritanie.pptx
Présentation DEVOPS_Mauritanie.pptx
 
Présentation DEVOPS_PO.pptx
Présentation DEVOPS_PO.pptxPrésentation DEVOPS_PO.pptx
Présentation DEVOPS_PO.pptx
 
Présentation DEVOPS_Kola.pptx
Présentation DEVOPS_Kola.pptxPrésentation DEVOPS_Kola.pptx
Présentation DEVOPS_Kola.pptx
 
Présentation DEVOPS_hyper.pptx
Présentation DEVOPS_hyper.pptxPrésentation DEVOPS_hyper.pptx
Présentation DEVOPS_hyper.pptx
 
Présentation DEVOPS.pptx
Présentation DEVOPS.pptxPrésentation DEVOPS.pptx
Présentation DEVOPS.pptx
 
L’informatique efficience
L’informatique efficienceL’informatique efficience
L’informatique efficience
 
DevCon 2 ; Infra as Code avec Azure
DevCon 2  ; Infra as Code avec AzureDevCon 2  ; Infra as Code avec Azure
DevCon 2 ; Infra as Code avec Azure
 
Cerberus Testing
Cerberus TestingCerberus Testing
Cerberus Testing
 
Gouvernance Azure - La charte de nommage
Gouvernance Azure - La charte de nommageGouvernance Azure - La charte de nommage
Gouvernance Azure - La charte de nommage
 
CMSday 2013 - Usines à sites : Quelles sont les approches possibles ?
CMSday 2013 - Usines à sites : Quelles sont les approches possibles ?CMSday 2013 - Usines à sites : Quelles sont les approches possibles ?
CMSday 2013 - Usines à sites : Quelles sont les approches possibles ?
 
Usine à site
Usine à siteUsine à site
Usine à site
 
Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOps
 
Accéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetAccéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.Net
 
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
 
Sw 100 fr docker conteneurisation des applications
Sw 100 fr docker conteneurisation des applicationsSw 100 fr docker conteneurisation des applications
Sw 100 fr docker conteneurisation des applications
 
L'évolution vers le (Dev)NoOps
L'évolution vers le (Dev)NoOpsL'évolution vers le (Dev)NoOps
L'évolution vers le (Dev)NoOps
 
Agile lille 2015 devops etapres
Agile lille 2015 devops etapresAgile lille 2015 devops etapres
Agile lille 2015 devops etapres
 
Introduction DevOps & containarization des applications
Introduction DevOps & containarization des applicationsIntroduction DevOps & containarization des applications
Introduction DevOps & containarization des applications
 

Plus de yannick grenzinger

Software Craftmanship - Cours Polytech
Software Craftmanship - Cours PolytechSoftware Craftmanship - Cours Polytech
Software Craftmanship - Cours Polytechyannick grenzinger
 
Changements - psychologie systémique
Changements - psychologie systémiqueChangements - psychologie systémique
Changements - psychologie systémiqueyannick grenzinger
 
Spirale dynamique - Mieux comprendre les organisations
Spirale dynamique - Mieux comprendre les organisationsSpirale dynamique - Mieux comprendre les organisations
Spirale dynamique - Mieux comprendre les organisationsyannick grenzinger
 
Paradigms programming from functional to multi-agent dataflow
Paradigms programming  from functional to multi-agent dataflowParadigms programming  from functional to multi-agent dataflow
Paradigms programming from functional to multi-agent dataflowyannick grenzinger
 
Docker introduction for Carbon IT
Docker introduction for Carbon ITDocker introduction for Carbon IT
Docker introduction for Carbon ITyannick grenzinger
 
Le design du code de tous les jours
Le design du code  de tous les joursLe design du code  de tous les jours
Le design du code de tous les joursyannick grenzinger
 
Spirale Dynamique et Organisations
Spirale Dynamique et OrganisationsSpirale Dynamique et Organisations
Spirale Dynamique et Organisationsyannick grenzinger
 
Construisons des organisations adaptées au 21ème siècle
 Construisons des organisations adaptées au 21ème siècle Construisons des organisations adaptées au 21ème siècle
Construisons des organisations adaptées au 21ème siècleyannick grenzinger
 
Devoxx france 2015 - Coding Fast and Slow
Devoxx france 2015 - Coding Fast and SlowDevoxx france 2015 - Coding Fast and Slow
Devoxx france 2015 - Coding Fast and Slowyannick grenzinger
 
Introduction à la Gamification
Introduction à la GamificationIntroduction à la Gamification
Introduction à la Gamificationyannick grenzinger
 
Apprendre à apprendre pour innover, s'adapter et surtout survivre au 21ème si...
Apprendre à apprendre pour innover, s'adapter et surtout survivre au 21ème si...Apprendre à apprendre pour innover, s'adapter et surtout survivre au 21ème si...
Apprendre à apprendre pour innover, s'adapter et surtout survivre au 21ème si...yannick grenzinger
 
Creons des produits exceptionnels
Creons des produits exceptionnelsCreons des produits exceptionnels
Creons des produits exceptionnelsyannick grenzinger
 

Plus de yannick grenzinger (18)

Software Craftmanship - Cours Polytech
Software Craftmanship - Cours PolytechSoftware Craftmanship - Cours Polytech
Software Craftmanship - Cours Polytech
 
Tour d'horizon des tests
Tour d'horizon des testsTour d'horizon des tests
Tour d'horizon des tests
 
From Scrum To Flow
From Scrum To FlowFrom Scrum To Flow
From Scrum To Flow
 
Changements - psychologie systémique
Changements - psychologie systémiqueChangements - psychologie systémique
Changements - psychologie systémique
 
Spirale dynamique - Mieux comprendre les organisations
Spirale dynamique - Mieux comprendre les organisationsSpirale dynamique - Mieux comprendre les organisations
Spirale dynamique - Mieux comprendre les organisations
 
Paradigms programming from functional to multi-agent dataflow
Paradigms programming  from functional to multi-agent dataflowParadigms programming  from functional to multi-agent dataflow
Paradigms programming from functional to multi-agent dataflow
 
Guerilla DDD
Guerilla DDDGuerilla DDD
Guerilla DDD
 
Docker introduction for Carbon IT
Docker introduction for Carbon ITDocker introduction for Carbon IT
Docker introduction for Carbon IT
 
Le design du code de tous les jours
Le design du code  de tous les joursLe design du code  de tous les jours
Le design du code de tous les jours
 
Spirale Dynamique et Organisations
Spirale Dynamique et OrganisationsSpirale Dynamique et Organisations
Spirale Dynamique et Organisations
 
BBL - Lean Startup
BBL - Lean StartupBBL - Lean Startup
BBL - Lean Startup
 
Construisons des organisations adaptées au 21ème siècle
 Construisons des organisations adaptées au 21ème siècle Construisons des organisations adaptées au 21ème siècle
Construisons des organisations adaptées au 21ème siècle
 
Coding fast and slow
Coding fast and slowCoding fast and slow
Coding fast and slow
 
Liberez vos developpeurs
Liberez vos developpeursLiberez vos developpeurs
Liberez vos developpeurs
 
Devoxx france 2015 - Coding Fast and Slow
Devoxx france 2015 - Coding Fast and SlowDevoxx france 2015 - Coding Fast and Slow
Devoxx france 2015 - Coding Fast and Slow
 
Introduction à la Gamification
Introduction à la GamificationIntroduction à la Gamification
Introduction à la Gamification
 
Apprendre à apprendre pour innover, s'adapter et surtout survivre au 21ème si...
Apprendre à apprendre pour innover, s'adapter et surtout survivre au 21ème si...Apprendre à apprendre pour innover, s'adapter et surtout survivre au 21ème si...
Apprendre à apprendre pour innover, s'adapter et surtout survivre au 21ème si...
 
Creons des produits exceptionnels
Creons des produits exceptionnelsCreons des produits exceptionnels
Creons des produits exceptionnels
 

Microservices depuis les tranchées