LCC 235 - Interview Micro Services avec @ygrenzinger et @khaledsouf
Dans cet épisode, Audrey et Antonio ont invité Yannick Grenzinger et Kahled Souf pour parler microservices : pour quelle équipe, quel projet, avec quels outils … ? Nos invités vous partagent leurs retours d’expérience et leurs conseils.
Enregistré le 3 juillet 2020
Téléchargement de l’épisode LesCastCodeurs-Episode-235.mp3
Interview
Ta vie, ton oeuvre
Yannick Grenzinger: Jardinier logiciel depuis plus de 15 ans. Actuellement coach tech et flow, je suis passionné par l’artisanat logiciel, les langages, l’architecture de systèmes complexes et la livraison de valeur métier en continu. Je suis aussi co-organisateur de la conférence FlowCon et du meetup Paris Continuous Delivery, mais c’est plus dur avec des triplés :D
Khaled Souf est un Globe-trotter et développeur passionné. Il a vécu à Paris où il a travaillé pour des sociétés de conseil telles que Zenika et Arolla. il a participé à la communauté des software crafters à Paris et en Europe.Il a participe à des événements locaux, tels que les meetups Software Crafters Paris, Craft your skills, Coding Dojo. Il vit actuellement à Montréal au Canada et co-organise le Meetup Software Crafters Montréal et la conférence de SOCRATES Canada. Il aime parler de Domain Driven Design, d’architecture, d’artisanat du code, de Clean Code, des pratiques eXtreme Programming et DevOps. ksouf.com
Les microservices qu’est-ce que c’est ?
En théorie
Monolithe / Macroservices / Microservices / Fonction ? Microservices vs SOA ?
Microservices, dans quel cas ? Monolithe à découper ou nouvelle app from scratch ? Patterns de migration ?
Comment on découpe ses services ? Est-ce qu’il y a des méthodos qui aident ? (nombre de lignes de code, nombre de pizzas par équipe, DDD)
Une base de données unique pour tous les services ? Une par service ? Consistance des données ? Synchronisation des données entre bases ?
Pour quelles équipes ? (DevOps, DevSecOps …)
En pratique
C’est quoi les recos techniques ? (frameworks Java ou autres, plateformes de déploiement, …)
Et dans le monde Java ? Qu’en est-il de la suite Netflix OSS (Eureka, Hystrix, Zuul, Ribbon) ?
Comment on déploie / scale / fait communiquer entre eux (bloquant, non bloquant, HTTP, broker, message) ?
On-premise, Cloud privé/public/hybride ?
Si tu ne fais pas du k8s tu as loupé ta vie ? Et si tu ne fais pas du Kafka tu as aussi loupé ta vie ?
Comment monitorer ?
Et côté front ?
Micro frontend : comment et pourquoi ?
Le mot de la fin
Phénomène de mode ou les MS sont-ils là pour rester ? Quelles sont les évolutions possibles des archis MS (vers les fonctions) ?
Les resources utiles
Les livres de Sam Newman, surtout Building Microservices et ses talks
Le livre Microservices Patterns de Chris Richardson
Pour mieux appréhender la complexité de l’aventure et ses prérequis :
- La rubrique microservices du site de Martin Fowler
- 11 raisons pour lesquelles vous allez échouer avec les microservices
https://www.martinfowler.com/bliki/MicroservicePrerequisites.html - Recommandations sur les microservices
- Pourquoi les micro services devraient vous faire plus peur
- Vous devez être aussi grand que ça pour passer d’un monolithe à un micro services et la conf associée
Pour les meilleures pratiques :
DDD et microservices :
- DDD and Microservices: At Last, Some Boundaries! (vidéo)
- Strategic Microservice Patterns - Nick Tune (vidéo)
- Astuces pour faciliter le design de micro services avec l’event storming
Orchestration, chorégraphie et saga :
- Orchestration vs chorégraphie
- Le pattern Saga pour implémenter les transactions business en microservices
- Using sagas to maintain data consistency in a microservice architecture - Chris Richardson(vidéo)
Tests : 12 techniques pour tester les micro services
Microfrontend :
L’article de Martin Fowler
6 patterns pour les micro frontend
Monitoring :
- Le pourquoi et le comment monitorer des micro services
- Les challenges du monitoring de microservices dans les applications cloud native
Les outils :
- Spring qui réutilise les outils de Netflix puis Netflix qui utilise Spring
- Circuit breaker : Resilience4j remplace Hystrix (abandonné)
- Tracing :
- Spring Cloud
Nous contacter
Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs
Faire un crowdcast ou une crowdquestion
Contactez-nous via twitter https://twitter.com/lescastcodeurs
sur le groupe Google https://groups.google.com/group/lescastcodeurs
ou sur le site web https://lescastcodeurs.com/