Lire et challenger une architecture technique
Lire un schéma d’architecture, chiffrer les exigences, comprendre les grands choix et poser les questions qui révèlent risques et arbitrages.
Lire un schéma d'architecture sans être ingénieur, transformer « il faut que ce soit rapide » en exigences mesurables, comprendre les grands choix (monolithe ou microservices, synchrone ou asynchrone, données, cache, montée en charge, dépendances, construire ou acheter) et poser à l'équipe les questions qui font apparaître risques et arbitrages. Vous repartez avec la revue d'architecture de votre propre produit : un schéma, des exigences chiffrées, dix questions posées et leurs réponses, un registre des risques et une décision tracée dans un ADR.
Ce que vous saurez faire
- Lire un schéma d'architecture (niveaux contexte et conteneurs du modèle C4) et y repérer composants, flux, frontières et zones floues.
- Transformer des attentes vagues (« rapide », « fiable », « évolutif ») en exigences non fonctionnelles mesurables, sous forme de scénarios d'attributs de qualité.
- Comparer monolithe, monolithe modulaire et microservices, puis appels synchrones et traitements asynchrones, selon l'équipe, la charge et les conséquences pour l'utilisateur.
- Évaluer les choix de données (source de vérité, transactions, réplicas, cohérence), de montée en charge et de cache, et repérer le goulot d'un parcours.
- Évaluer les dépendances à des services tiers (disponibilité composée, mode dégradé, dépendance au fournisseur) et une décision construire ou acheter.
- Formuler un arbitrage d'architecture, le tracer dans un ADR et traiter la dette technique comme une décision produit.
- Conduire une revue d'architecture de son produit ou d'une proposition, avec dix questions, un registre des risques et des arbitrages explicites.
Prérequis
- Savoir suivre une requête du navigateur à la base de données et situer frontend, backend, API, cache, file d'attente et services tiers, au niveau du cours « Expliquer comment fonctionne un produit web, du navigateur au serveur »
- Avoir accès à un schéma ou à un document d'architecture de votre produit, ou pouvoir en obtenir un auprès de l'équipe ; à défaut, le schéma produit dans le cours précédent suffit pour commencer
- Aucun code à écrire ni outil payant : papier, tableau blanc ou un outil de schéma gratuit (draw.io, Excalidraw) suffisent.
- Expliquer comment fonctionne un produit web, du navigateur au serveur
Programme
Que vais-je savoir lire et challenger à la fin de ce cours, et dans quel ordre ?
- Présentation du cours2 étapes
Objectif · À la fin de cette présentation, vous saurez ce que vous serez capable de faire (lire une architecture et la challenger avec l'équipe), le livrable que vous produirez sur votre propre produit et par quels cinq modules le cours vous y conduit.
Comment lire un schéma d'architecture et dire précisément ce que le système doit garantir ?
Objectif · À la fin de cette leçon, vous serez capable de lire un schéma d'architecture aux niveaux contexte et conteneurs du modèle C4, d'y repérer utilisateurs, systèmes externes, conteneurs, flux et frontières de confiance, et de transformer ses zones floues en questions pour l'équipe.
Objectif · À la fin de cette leçon, vous serez capable de nommer les attributs de qualité qui comptent pour votre produit, de réécrire une attente vague (« rapide », « fiable », « évolutif ») en scénario mesurable en six parties, et de choisir une mesure honnête, comme un percentile plutôt qu'une moyenne.
Faut-il découper le système, et quand faut-il attendre une réponse plutôt que traiter plus tard ?
Objectif · À la fin de cette leçon, vous serez capable de distinguer monolithe, monolithe modulaire et microservices, d'expliquer ce que chaque style coûte et apporte (déploiement, couplage, exploitation, organisation des équipes), et de juger si un découpage répond au problème posé.
Objectif · À la fin de cette leçon, vous serez capable de décider, pour chaque étape d'un parcours, si elle doit être traitée pendant que l'utilisateur attend ou confiée à une file de messages, d'anticiper doublons, retards et échecs, et de spécifier ce que l'utilisateur voit pendant ce temps.
Où vivent les données, qu'est-ce qui cédera en premier sous la charge, et que se passe-t-il quand un fournisseur tombe ?
Objectif · À la fin de cette leçon, vous serez capable de désigner la source de vérité de chaque donnée d'une fonctionnalité, d'expliquer ce qu'une transaction garantit et ce que coûtent les copies (réplicas, caches, données synchronisées), et de spécifier la fraîcheur acceptable et le comportement en cas d'écart.
Objectif · À la fin de cette leçon, vous serez capable d'estimer la charge d'un pic à partir de quelques chiffres produit, de faire identifier le goulot d'un parcours avant toute solution, de distinguer montée en charge verticale et horizontale, et de décider avec l'équipe si un cache est pertinent et avec quelle fraîcheur.
Objectif · À la fin de cette leçon, vous serez capable de calculer la disponibilité d'un parcours qui dépend de plusieurs services, de spécifier un mode dégradé pour chaque dépendance non essentielle, d'évaluer la dépendance à un fournisseur et d'argumenter une décision construire ou acheter sur le coût total.
Comment arbitrer entre deux options, garder la trace de la décision et traiter la dette technique ?
Objectif · À la fin de cette leçon, vous serez capable de formuler un arbitrage d'architecture (« nous privilégions X au détriment de Y »), de juger si une décision est réversible et mérite donc plus ou moins d'analyse, et de rédiger un ADR avec contexte, options, décision, conséquences et condition de révision.
Objectif · À la fin de cette leçon, vous serez capable d'expliquer ce qu'est la dette technique et ses intérêts, de la classer avec le quadrant de Martin Fowler, de chiffrer une dette en coût pour le produit et de décider avec l'équipe quand et comment la rembourser.
Comment poser les bonnes questions à l'équipe, sans être ingénieur, et en tirer risques et décisions ?
Objectif · À la fin de cette leçon, vous serez capable de préparer et conduire une revue d'architecture avec dix questions ouvertes, sans vous substituer aux ingénieurs, de consigner les réponses dans un registre des risques et de transformer les décisions en arbitrages explicites et en ADR.
Objectif · À la fin de cette leçon, vous disposerez des modèles, checklists et prompts du cours (dix questions, scénario de qualité, tableaux des données et des dépendances, registre des risques, ADR), et vous aurez planifié leur application à votre produit sur 7 et 30 jours.