Création de microservices
Création de microservices
Résumé :
Introduction
Le livre « Building Microservices » (en traduction russe — « Создание микросервисов ») de Sam Newman est sans doute l'ouvrage le plus faisant autorité et le plus complet sur la conception et la mise en œuvre d'une architecture de microservices. La deuxième édition, parue en 2021, a été entièrement remaniée pour tenir compte des réalités modernes : conteneurisation, orchestration, serverless et évolution des technologies cloud. Bien que les exemples du livre soient écrits en Java, les concepts et les modèles sont universels et applicables à n'importe quel langage, y compris Python.
De quoi parle le livre
Newman trace méthodiquement le chemin du monolithe aux microservices, sans éviter les sujets complexes : comment décomposer un système, organiser les interactions entre services (synchrone via REST/gRPC et asynchrone via des files d'attente), assurer l'observabilité (journalisation, métriques, traçage), la sécurité et les tests. Des chapitres entiers sont consacrés à l'IC/DC, à la conteneurisation (Docker) et à l'orchestration (Kubernetes), ainsi qu'aux stratégies de migration. Le livre contient de nombreux cas réels et des anti-modèles qui aideront à éviter les erreurs typiques.
À qui s'adresse ce livre
Ce livre sera utile :
- Aux architectes logiciels qui souhaitent concevoir un système évolutif et tolérant aux pannes.
- Aux développeurs backend (Java, Python, Go, etc.) désireux de maîtriser l'approche microservices.
- Aux ingénieurs DevOps responsables du déploiement et de l'exploitation de systèmes distribués.
- Aux chefs d'équipe et responsables techniques qui prennent des décisions concernant la transition du monolithe aux microservices.
Ce que le lecteur apprendra
- Comment diviser correctement une application monolithique en microservices.
- Quels protocoles et formats de données choisir pour les interactions entre services.
- Comment organiser le traçage distribué et la surveillance.
- Comment tester les microservices (tests d'intégration, contractuels, de bout en bout).
- Comment configurer un pipeline CI/CD pour des versions fréquentes et sécurisées.
- Comment utiliser Docker et Kubernetes pour la gestion des conteneurs.
- Quelles sont les stratégies de migration du monolithe vers les microservices (Strangler Fig, Branch by Abstraction).
- Comment assurer la sécurité dans un environnement distribué (OAuth2, JWT, API Gateway).
Points forts
Le principal atout du livre est son orientation pratique. Newman ne se contente pas d'énumérer des modèles, il explique dans quelles situations ils sont appropriés et dans lesquelles ils ne le sont pas. Le livre est écrit dans un langage vivant, les concepts complexes sont illustrés par des schémas et des exemples de code. Il est particulièrement précieux que l'auteur accorde de l'attention non seulement aux aspects techniques, mais aussi aux aspects organisationnels (loi de Conway, culture DevOps). La deuxième édition comprend de nouveaux chapitres sur le serverless, les graphes de dépendances et l'évolution de l'architecture.
À qui est-il recommandé
Ce livre est une lecture obligatoire pour tous ceux qui travaillent avec des systèmes distribués ou qui planifient une transition vers les microservices. Il conviendra aussi bien aux débutants (grâce à une introduction progressive) qu'aux spécialistes expérimentés (chapitres approfondis sur l'observabilité et le CI/CD). Si vous utilisez Python, les exemples en Java ne seront pas un obstacle — tous les concepts se transfèrent facilement à FastAPI, Flask, Celery et Kubernetes. Nous recommandons d'avoir « Building Microservices » à portée de main comme livre de référence de chevet.