Microsoft AZ-305: Well-Architected Framework et principes de conception — Guide d'étude
Fait partie du Microsoft Azure Solutions Architect Expert AZ-305 — Guide d’étude. Entraînez-vous avec des réponses vérifiées dans le centre d’examens Microsoft, ou passez des tests chronométrés sur ExamRoll.io.
Vue d’ensemble
Le framework Azure Well-Architected (WAF) est un ensemble de principes directeurs qui guident la conception, la création et l’exploitation de charges de travail fiables, sécurisées, rentables, opérationnellement excellentes et performantes sur Azure. L’alignement des solutions sur les cinq piliers — fiabilité, sécurité, optimisation des coûts, excellence opérationnelle et efficacité des performances — garantit que les décisions d’architecture sont des compromis explicites, éclairés par les priorités métier, la tolérance au risque et les contraintes telles que la souveraineté des données et le budget. Atteindre la cohérence à grande échelle nécessite des landing zones, une gouvernance basée sur des stratégies et l’automatisation par défaut. Les conceptions modernes mettent l’accent sur le découplage, la communication événementielle et les patrons de conception comme CQRS, Strangler Fig et les microservices, mis en œuvre avec des services natifs Azure et une observabilité intégrée, pour s’adapter à la fois aux changements rapides et à une conformité stricte.
Les cinq piliers : Fiabilité, Sécurité, Coût, Excellence Opérationnelle, Performance
La fiabilité garantit que les charges de travail continuent de respecter les SLA métier en cas de panne et lors des changements. Concevez pour les domaines de panne et les domaines de mise à jour en déployant sur plusieurs Zones de disponibilité ou paires de régions, en choisissant des services managés avec une haute disponibilité (HA) intégrée et en implémentant des patrons de résilience. Testez la capacité de récupération avec l’ingénierie du chaos et des exercices de reprise après sinistre. Pour les données avec état (stateful), choisissez des services avec des fonctionnalités de RPO/RTO — par ex., Azure SQL Database Active Geo-Replication ou les écritures multirégions de Cosmos DB — associés à des sauvegardes automatisées et des runbooks testés.
La sécurité est une défense en profondeur multicouche, ancrée dans le modèle Zero Trust. Appliquez le principe du moindre privilège avec Azure RBAC, Privileged Identity Management (PIM) et les revues d’accès pour une hygiène continue des droits. Isolez le rayon de l’impact réseau à l’aide de points de terminaison privés, de NSG et d’Azure Firewall ; intégrez un pare-feu d’applications web (WAF) sur Azure Front Door ou Application Gateway. Partez du principe d’une compromission (Assume breach) avec une surveillance continue via Defender for Cloud, la détection des menaces dans Sentinel et une protection rigoureuse de l’identité (MFA, Accès Conditionnel).
L’optimisation des coûts équilibre la valeur métier et le coût total de possession. Dimensionnez correctement le calcul (compute) et les niveaux de service en fonction de la télémétrie ; utilisez la mise à l’échelle pour correspondre à la demande et éteignez les environnements de non-production. Engagez-vous avec des réservations et des plans d’économies pour les charges de travail stables, tirez parti des machines virtuelles Spot pour le calcul interruptible, hiérarchisez le stockage et la rétention des données, et préférez le serverless lorsqu’il correspond aux profils de charge de travail. Imposez l’étiquetage et les budgets, et utilisez Azure Policy pour standardiser les contrôles de coûts.
L’excellence opérationnelle met l’accent sur l’automatisation, la répétabilité et les boucles d’apprentissage. Traitez les environnements comme du code avec Bicep/ARM ou Terraform, appliquez la remédiation à la dérive et mettez en œuvre un CI/CD cohérent. Les informations opérationnelles proviennent de journaux structurés, de métriques, de traces et de tests synthétiques, tous connectés à des alertes et des tableaux de bord de SLO, pour raccourcir le MTTR et guider les améliorations proactives.
L’efficacité des performances garantit que la charge de travail atteint les objectifs de débit et de latence sous une charge variable. Concevez pour une mise à l’échelle horizontale (scale-out), mettez en cache de manière agressive, poussez le contenu en périphérie, et choisissez des partitions de données et des réplicas en lecture adaptés aux modèles d’accès. Validez avec des tests de charge réalistes et optimisez en vous basant sur des preuves.
Patrons de Fiabilité et de Performance dans Azure
Les patrons de résilience réduisent la probabilité et l’impact des pannes tout en maintenant une latence prévisible.
Nouvelle tentative avec backoff exponentiel et jitter : Utilisez les stratégies de nouvelle tentative configurables des SDK Azure ou des bibliothèques comme Polly (.NET) pour gérer les fautes transitoires des services comme Storage, Service Bus ou Cosmos DB. Le backoff avec jitter évite les effets de troupeau (thundering herds) ; limitez le nombre de tentatives pour protéger les SLA et faire remonter les pannes à temps.
Disjoncteur (Circuit Breaker) : Encapsulez les appels sortants (par ex., vers des API externes) avec un disjoncteur pour échouer rapidement lorsque les taux d’erreur dépassent les seuils, permettant des périodes de récupération. Implémentez-le au niveau du client avec Polly ou au niveau de la passerelle en utilisant les stratégies d’API Management (nouvelle tentative, timeout et cache) pour éviter les pannes en cascade.
Cloisonnement (Bulkhead) : Partitionnez les ressources pour qu’un “voisin bruyant” ne puisse pas affamer le système. Isolez les pools de threads, les réplicas de conteneurs et les partitions de traitement de messages. Au niveau de la plateforme, utilisez des plans App Service, des pools de nœuds AKS ou des files d’attente/sujets Service Bus distincts par contexte délimité (bounded context) pour contenir les pannes.
Surveillance du point de terminaison de santé : Exposez des sondes de vivacité (liveness) et de disponibilité (readiness) dans les services. Les sondes de santé d’Application Gateway/Front Door ne routent le trafic que vers les instances saines. Dans AKS, les sondes Kubernetes gèrent les redémarrages de pods et le contrôle du déploiement (rollout gating). Combinez avec les tests de disponibilité d’Application Insights et des points de terminaison personnalisés “/healthz” pour détecter tôt la dégradation des dépendances.
Les patrons de performance complètent la résilience :
Stratégies de mise en cache : Utilisez Azure Cache for Redis pour les données chaudes et le déchargement de session. Appliquez la mise en cache de sortie au niveau d’Azure Front Door ou d’API Management pour les requêtes GET idempotentes. Préférez les patrons write-through ou write-behind le cas échéant ; invalidez par clé ou par événement pour maintenir la fraîcheur. Dans les couches de données, le cache intégré de Cosmos DB réduit la consommation de RU pour les charges de travail à forte lecture.
CDN : Rapprochez les actifs statiques et le contenu dynamique des utilisateurs avec Azure Front Door ou Azure CDN, en activant la compression, le TLS et le WAF. Configurez la mise en cache basée sur des règles, les vérifications de santé de l’origine et le filtrage géographique pour optimiser la latence et les coûts.
Réplicas en lecture : Mettez à l’échelle les charges de travail à forte lecture avec les secondaires lisibles d’Azure SQL Database (Active Geo-Replication) ou les réplicas nommés Hyperscale ; utilisez les réplicas en lecture d’Azure Database for PostgreSQL/MySQL pour l’analytique ou le reporting ; activez les lectures multirégions dans Cosmos DB avec une modélisation de la cohérence (par ex., Session, Consistent Prefix) alignée sur les besoins métier.
Patrons de mise à l’échelle automatique (Autoscaling) : Implémentez la mise à l’échelle horizontale avec les Virtual Machine Scale Sets, les règles de mise à l’échelle automatique d’App Service, HPA/KEDA sur AKS pour une mise à l’échelle événementielle, et les plans Consommation/Premium de Functions. Pour les données, utilisez la mise à l’échelle automatique des RU/s de Cosmos DB et l’auto-inflate d’Event Hubs pour gérer le trafic en rafale. Validez toujours les seuils de mise à l’échelle et les périodes de refroidissement (cool-down) pour éviter l’oscillation.
Principes de conception pour l’excellence opérationnelle, l’optimisation des coûts et la sécurité
Infrastructure as code : Standardisez sur des modules Bicep/ARM ou Terraform, versionnés dans Git et validés avec des tests de pré-déploiement et de la policy-as-code. Utilisez les spécifications de modèle (template specs) ou les registres Terraform pour la réutilisation. Paramétrez par environnement et imposez des balises (tags), des verrous de ressources et des paramètres de diagnostic cohérents. Intégrez avec Azure DevOps ou GitHub Actions ; utilisez des déploiements par étapes (staged deployments) et des approbations pour une promotion contrôlée.
Automatisation du déploiement : Privilégiez les stratégies de slots de déploiement, blue-green et canary prises en charge par App Service, AKS (déploiements progressifs avec les stratégies de déploiement), et Traffic Manager/Front Door pour le routage pondéré. Automatisez les changements de schéma de base de données avec des pipelines de migration et des contrats rétrocompatibles. Contrôlez les déploiements à l’aide de sondes d’intégrité (health probes) et d’indicateurs de performance clés (KPIs) métier.
Observabilité : Instrumentez les applications avec OpenTelemetry, exportez vers Application Insights pour le traçage distribué, les métriques et les cartes de dépendances. Activez Azure Monitor pour les métriques de la plateforme, déployez des espaces de travail Log Analytics, et créez des Workbooks et des tableaux de bord pour les SLOs et la capacité. Définissez des règles d’alerte avec des seuils dynamiques, intégrez avec l’ITSM, et stockez les journaux d’activité (Activity Logs) et les journaux de diagnostic de manière centralisée pour l’audit et l’analyse forensique.
Dimensionnement adéquat (Right-sizing) et contrôle des coûts : Utilisez Azure Advisor, les métriques d’utilisation d’Azure Monitor et le profilage d’Application Insights pour identifier le gaspillage (cœurs inactifs, vCores surprovisionnés, RU/s sur-allouées). Appliquez des Reservations/Savings Plans aux charges de travail stables (VMs, SQL, Synapse), de la capacité réservée pour le stockage, et des niveaux d’engagement (commitment tiers) pour Cosmos DB. Choisissez des Spot VMs pour les agents de build, le traitement par lots (batch) et l’entraînement de ML avec points de contrôle (checkpointing). Équilibrez les compromis architecturaux : le PaaS managé peut réduire les coûts opérationnels et améliorer la fiabilité pour des coûts unitaires plus élevés ; la mise en cache diminue les coûts de sortie de données (egress) et de RU au détriment de la complexité de l’invalidation du cache ; la haute disponibilité multi-région augmente les dépenses mais peut être requise par les RTO/RPO.
Principes de sécurité en pratique :
- Défense en profondeur : Superposez les contrôles de l’identité aux données. Utilisez Private Link pour maintenir le trafic hors de l’Internet public, les NSGs et ASGs pour la microsegmentation, Azure Firewall Premium pour l’inspection TLS, et un WAF en périphérie (edge). Activez les recommandations de Defender for Cloud et l’accès juste-à-temps (just-in-time) aux VMs.
- Moindre privilège : Implémentez un RBAC affiné, avec une portée au niveau des groupes d’administration/abonnements/groupes de ressources ; préférez les identités managées aux secrets ; gouvernez à grande échelle avec Azure Policy et les révisions d’accès pour les groupes, les applications d’entreprise et les rôles privilégiés.
- Présomption de compromission (Assume breach) : Exigez le MFA et l’accès conditionnel (Conditional Access), surveillez avec Sentinel, et isolez les charges de travail avec des zones d’atterrissage (landing zones) et des abonnements distincts. Chiffrez les données au repos avec des clés de plateforme ou des clés gérées par le client (CMK) dans Key Vault ; utilisez le double chiffrement lorsque les régulateurs l’exigent. Utilisez des SAS (signatures d’accès partagé) pour un accès au stockage limité dans le temps et effectuez la rotation des clés par politique.
- Classification des données : Cataloguez les données avec Microsoft Purview, étiquetez leur sensibilité et appliquez des stratégies de protection contre la perte de données (DLP). Alignez le chiffrement, la rétention et l’accès sur les niveaux de classification des données ; journalisez l’accès aux informations d’identification personnelle (PII) et prenez en charge les exigences de confidentialité avec des fonctionnalités comme Dynamic Data Masking et Always Encrypted le cas échéant.
Zones d’atterrissage Azure et modèles d’architecture modernes
Les Zones d’atterrissage Azure (Azure Landing Zones) opérationnalisent le framework à grande échelle. Organisez une hiérarchie de groupes d’administration (racine → plateforme → unités commerciales) pour définir la portée d’Azure Policy, du RBAC et des budgets. Les zones d’atterrissage de plateforme fournissent des services partagés — identité (Azure AD), connectivité (hub avec Azure Firewall, DDoS, DNS), gestion (Log Analytics, Automation, Update Management) et sécurité (Defender for Cloud). Les zones d’atterrissage d’application hébergent les charges de travail, segmentées par environnement et limites de conformité, avec des stratégies héritées qui imposent le balisage, les diagnostics et les types de ressources autorisés. Adoptez la conception Enterprise-Scale du Cloud Adoption Framework (CAF) ou les accélérateurs de zones d’atterrissage basés sur Terraform/Bicep pour démarrer rapidement et de manière cohérente.
Les microservices sur Azure mettent l’accent sur des équipes découplées et des services déployables indépendamment :
- Découverte de services : Dans AKS, utilisez Kubernetes DNS/CoreDNS pour la résolution intra-cluster ; améliorez avec des sidecars Dapr pour la découverte basée sur les noms et les nouvelles tentatives. Service Fabric fournit une gestion intégrée des noms et de la santé pour les services avec état (stateful).
- Modèle de passerelle d’API : Utilisez Azure API Management pour centraliser le routage, le versioning, l’authentification (validation OAuth 2.0/JWT), les quotas et la mise en cache. Placez Azure Front Door en amont pour l’anycast global, le déchargement SSL et le WAF ; routez par région et effectuez des déploiements canary en toute sécurité.
- Communication événementielle : Utilisez Azure Service Bus pour les commandes ordonnées et transactionnelles avec des sessions ; choisissez Event Hubs pour la télémétrie à haut débit ; et Event Grid pour les abonnements à des événements réactifs de type push. Concevez pour une livraison au moins une fois, des gestionnaires idempotents, la gestion des messages incohérents (poison messages) et les files de lettres mortes (DLQ).
CQRS et Event Sourcing séparent les modèles d’écriture et de lecture pour l’isolation des performances et de la complexité. Persistez les événements en ajout seul dans un magasin d’événements (Cosmos DB, Azure SQL ou Event Hubs avec compactage via un stockage en aval), rejouez-les pour reconstruire l’état, et projetez-les dans des modèles de lecture optimisés pour les requêtes tels qu’Azure SQL Database, des conteneurs Cosmos DB ou Azure Cognitive Search. Le flux de modification (change feed) de Cosmos DB est la cheville ouvrière des projections : Azure Functions ou Azure Stream Analytics peuvent traiter les changements pour mettre à jour les magasins de lecture en temps quasi réel. Event Hubs met en mémoire tampon les flux d’événements à haut volume, avec des consommateurs qui s’adaptent indépendamment. Adoptez la cohérence à terme (eventual consistency) avec des SLA clairs et des modèles d’expérience utilisateur (par ex., accusé de réception de la commande suivi de la convergence du modèle de lecture).
Le modèle de l’Étrangleur (Strangler Fig) permet une modernisation incrémentielle. Placez Azure API Management devant le monolithe pour router des points de terminaison spécifiques vers de nouveaux microservices tandis que le reste continue vers le backend hérité. Utilisez des stratégies pour le routage basé sur les en-têtes, la transformation des réponses et l’authentification. Synchronisez les données avec la capture des données modifiées (CDC) (par ex., Azure Data Factory ou la CDC de base de données vers Event Hubs) et construisez de nouveaux modèles de lecture avec Cosmos DB + le flux de modification, retirant progressivement les capacités du monolithe. Gérez les risques avec des indicateurs de fonctionnalité (feature flags), le routage canary au niveau de Front Door et une observabilité complète pour comparer les comportements.
Scénario de problème pratique
Starbucks modernise sa plateforme de commande mondiale, actuellement un monolithe hébergé sur des VM dans une seule région. Ils doivent améliorer la fiabilité entre les régions, réduire la latence pour les clients mobiles, appliquer le moindre privilège et la Confiance Zéro (Zero Trust), et migrer de manière incrémentielle sans interruption d’activité.
- Établir des zones d’atterrissage d’entreprise
- Créez une hiérarchie de groupes d’administration avec des zones d’atterrissage de plateforme et d’application. Appliquez Azure Policy pour le balisage, les diagnostics, les SKU autorisées et les points de terminaison privés. Choisissez la référence CAF Enterprise-Scale pour l’identité, la connectivité (hub avec Azure Firewall Premium, Private DNS) et la gestion (Log Analytics central). Pourquoi : Les zones d’atterrissage appliquent des bases de référence cohérentes en matière de sécurité, de réseau et de gouvernance afin que les charges de travail héritent des contrôles par conception.
- Placer une façade d’API et de périphérie (edge) devant le monolithe
- Déployez Azure Front Door (Standard/Premium) avec WAF pour fournir un point d’entrée anycast global, la terminaison TLS et la protection DDoS. Placez Azure API Management comme passerelle d’API, intégrée à Front Door, pour authentifier les clients (OAuth 2.0), appliquer des limites de débit par groupe de consommateurs et transformer les requêtes/réponses. Pourquoi : Front Door réduit la latence et protège en périphérie ; API Management implémente le modèle de passerelle d’API, permettant l’approche Strangler Fig et la limitation de débit spécifique au locataire.
- Mettre en œuvre la migration Strangler Fig
- Utilisez les stratégies d’API Management pour router les points de terminaison sélectionnés (par ex., menu, localisateur de magasin) vers de nouveaux microservices s’exécutant sur AKS dans deux régions ; toutes les autres routes vont vers le monolithe hérité derrière un équilibreur de charge interne. Pourquoi : Le routage incrémentiel évite les basculements de type big-bang et permet aux équipes de migrer les capacités indépendamment.
- Construire des microservices avec des modèles résilients et performants
- Dans AKS, activez HPA avec KEDA pour l’autoscaling événementiel. Utilisez Dapr pour la découverte de services, les nouvelles tentatives avec backoff exponentiel et le coupe-circuit (circuit breaking) entre les services. Intégrez Azure Cache for Redis pour les lectures à chaud et le déchargement de session. Pourquoi : AKS et Dapr fournissent une résilience et une découverte de services agnostiques de la plateforme ; la mise en cache réduit la latence de lecture et la charge sur le backend.
- Adopter la communication événementielle et CQRS
- Publiez les événements de domaine sur Azure Event Hubs ; persistez les commandes dans Cosmos DB avec un partitionnement par client ou par magasin. Utilisez le flux de modification de Cosmos DB avec Azure Functions pour projeter vers des modèles de lecture dans Azure SQL Database (reporting) et Azure Cognitive Search (recherche d’inventaire de magasin). Pourquoi : Event Hubs découple les producteurs et les consommateurs à haut débit ; le flux de modification permet des vues matérialisées en temps quasi réel pour CQRS sans impacter les performances d’écriture.
- Renforcer la sécurité et l’identité
- Imposez des points de terminaison privés pour les services de données, des NSG/ASG pour la segmentation et Azure Firewall pour le contrôle de la sortie. Utilisez des identités managées pour toutes les charges de travail, PIM pour les rôles privilégiés et des revues d’accès pour les abonnements aux produits API Management. Activez l’accès conditionnel et le MFA pour le personnel des opérations. Pourquoi : La défense en profondeur et le moindre privilège réduisent le rayon d’impact et le risque lié aux informations d’identification ; les revues d’accès maintiennent une bonne hygiène des droits.
- Concevoir pour la fiabilité et l’observabilité
- Déployez sur plusieurs Zones de disponibilité dans chaque région, avec un routage actif-actif sur Front Door et API Management multi-région. Activez la surveillance des points de terminaison de santé avec les sondes de Front Door et d’AKS ; configurez des déploiements canary pour les nouveaux services. Instrumentez avec OpenTelemetry vers Application Insights, centralisez les journaux dans Log Analytics et créez des tableaux de bord de SLO avec des alertes. Mettez en œuvre la sauvegarde/reprise après sinistre pour les magasins avec état et exécutez des expériences de chaos. Pourquoi : La redondance zonale et régionale, le routage basé sur la santé et une observabilité complète maintiennent les SLA et permettent une réponse rapide aux incidents.
- Optimiser les coûts en continu
- Dimensionnez correctement les pools de nœuds AKS et les plans App Service en fonction de la télémétrie ; appliquez des Réservations/Plans d’économies pour le calcul stable ; utilisez des VM Spot pour les traitements par lots non critiques. Activez l’autoscaling de Cosmos DB et évaluez les niveaux d’engagement. Appliquez des budgets/balises et examinez les recommandations d’Azure Advisor chaque mois. Pourquoi : Une gouvernance systématique des coûts préserve les performances tout en minimisant le gaspillage et les coûts unitaires.
← Migration et modernisation · Tous les domaines
Entraînez-vous sur ces questions → · Tests chronométrés sur ExamRoll.io →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
Réussissez votre examen →