Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La création d’applications cloud fiables, évolutives et sécurisées nécessite des décisions architecturales délibérées. Les meilleures pratiques de cet article fournissent des conseils sur les problèmes courants qui surviennent dans les systèmes distribués, tels que la mise en cache, le partitionnement des données, la conception d’API et la gestion des erreurs temporaires. Chaque pratique traite d’un ou plusieurs piliers du framework Azure Well-Architected, qui définit les cinq attributs de qualité suivants pour la conception de la charge de travail :
- Fiabilité
- Sécurité
- Optimisation des coûts
- Excellence opérationnelle
- Efficacité des performances
Ces pratiques complètent d’autres conseils fondamentaux dans le Centre d’architecture Azure. Les principes de conception pour les applications Azure fournissent des stratégies de haut niveau, comme la conception pour l'auto-réparation et la mise à l'échelle. Les modèles de conception cloud offrent des solutions réutilisables aux problèmes architecturaux récurrents. Les antimodèles de performances décrivent les défauts courants qui provoquent des problèmes d’extensibilité sous charge. Ces ressources vous aident à faire des choix architecturaux éclairés.
Catalogue des pratiques
Chaque pratique de ce tableau est mappée à un ou plusieurs piliers du Framework Well-Architected. Utilisez ces mappages pour identifier les pratiques les plus pertinentes pour les attributs de qualité que vous hiérarchiser dans votre charge de travail.
| Pratique | Résumé | Piliers connexes |
|---|---|---|
| conception d’API | Concevoir des API web pour prendre en charge l’indépendance de la plateforme à l’aide de protocoles standard et de formats de données convenus. Promouvoir l’évolution du service afin que les clients puissent découvrir les fonctionnalités sans nécessiter de modification. Améliorez les temps de réponse en prenant en charge les réponses partielles et en fournissant des moyens de filtrer et de paginer les données. | Excellence opérationnelle, efficacité des performances |
| Implémentation de l’API | Implémentez des API web pour être efficaces, réactives, évolutives et disponibles. Rendez les actions idempotentes, supportez la négociation de contenu et conformez-vous à la spécification HTTP. Gérez les exceptions et prenez en charge la découverte des ressources. Fournissez des moyens de gérer les requêtes volumineuses et de réduire le trafic réseau. | Excellence opérationnelle, efficacité des performances |
| Mise à l’échelle automatique | Concevoir des applications pour allouer et libérer dynamiquement des ressources pour répondre aux exigences de performances et réduire les coûts. Tirez parti de la fonctionnalité autoscale dans Azure Monitor et de la mise à l’échelle automatique intégrée que de nombreux composants Azure fournissent. | Optimisation des coûts, efficacité des performances |
| Travaux en arrière-plan | Implémentez des travaux par lots, des tâches de traitement et des flux de travail en tant que travaux en arrière-plan. Utilisez les services de plateforme Azure pour héberger ces tâches. Utilisez des événements ou des planifications pour déclencher des tâches et renvoyez les résultats aux tâches appelantes. | Fiabilité, Excellence opérationnelle |
| Mise en cache | Améliorez les performances en copiant des données vers un stockage rapide proche des applications. Mettre en cache les données que vous lisez souvent mais rarement modifier. Gérer l’expiration et la concurrence des données. Découvrez comment remplir des caches et utiliser le service Azure Managed Redis . | Efficacité des performances |
| Réseau de distribution de contenu | Utilisez des réseaux de distribution de contenu (CDN) pour distribuer efficacement du contenu web aux utilisateurs et réduire la charge sur les applications web. Surmonter les problèmes de déploiement, de contrôle de version, de sécurité et de résilience. | Fiabilité, efficacité des performances |
| Partitionnement des données | Partitionnez les données pour améliorer l’extensibilité, la disponibilité et les performances et réduire les coûts de contention et de stockage des données. Utilisez le partitionnement horizontal, vertical et fonctionnel de manière efficace. | Optimisation des coûts, efficacité des performances |
| stratégies de partitionnement de données (par service) | Appliquez des stratégies de partitionnement entre Azure services, notamment Azure SQL Database, Azure Cosmos DB, Stockage Blob Azure, Azure Managed Redis et Azure Service Bus. Distribuer des charges, réduire la latence et prendre en charge la mise à l’échelle horizontale. | Optimisation des coûts, efficacité des performances |
| Préservation du nom d’hôte | Découvrez pourquoi il est important de conserver le nom d'hôte HTTP d'origine entre un proxy inverse et son application web back-end et comment implémenter cette recommandation pour les services Azure les plus courants. | Fiabilité, sécurité |
| Considérations relatives à l’encodage des messages | Choisissez la structure de charge utile, le format d’encodage et la bibliothèque de sérialisation pour les messages asynchrones échangés entre les composants système. Envisagez des compromis, tels que l’interopérabilité, la taille, la lisibilité humaine et l’évolution du schéma. | Sécurité |
| surveillance et diagnostics | Effectuez le suivi de l’intégrité du système, de l’utilisation et des performances à l’aide d’un pipeline de surveillance et de diagnostic. Transformez les données de surveillance en alertes, rapports et déclencheurs qui vous aident à prendre des mesures dans différentes situations. Les exemples incluent la détection et la correction des problèmes, l’interception des problèmes potentiels, la conformité des garanties de performances et la conformité des exigences d’audit. | Excellence opérationnelle |
| gestion des erreurs temporaires | Gérez les erreurs temporaires provoquées par des réseaux ou des ressources indisponibles. Surmonter les défis liés au développement de stratégies de nouvelle tentative appropriées. Évitez de dupliquer des couches de code de nouvelle tentative et d’autres antimodèles. | Fiabilité |
Principes de conception
Avant de répondre à des problèmes techniques spécifiques, établissez une base architecturale forte. Les principes de conception pour les applications Azure fournissent des stratégies de haut niveau qui s’appliquent à toutes les charges de travail, telles que la conception pour la réparation automatique, la montée en puissance et la réduction de la coordination. Ces principes mettent en forme les décisions que les meilleures pratiques répertoriées dans le tableau précédent vous aident à implémenter.
modèles de conception cloud
Après avoir établi des principes de conception, les modèles de conception cloud vous offrent des solutions réutilisables pour les problèmes récurrents dans les systèmes distribués. La plupart des meilleures pratiques de cet article reposent sur un ou plusieurs de ces modèles. Par exemple, les instructions de gestion des erreurs temporaires s’appuient sur le modèle Nouvelle tentative et le modèle Disjoncteur. Les instructions de mise en cache concernent le modèleCache-Aside. La documentation sur les tâches en arrière-plan utilise des modèles tels que Consommateurs concurrents et Lissage de charge basé sur les files d’attente. Passez en revue le catalogue complet pour identifier les modèles qui répondent aux défis architecturaux de votre charge de travail.
Anti-modèles de performance
Les défauts peuvent apparaître sous la charge de production même lorsque vous appliquez des principes solides, de bons modèles et de bonnes pratiques. Les antimodèles de performances pour les applications cloud décrivent les conceptions courantes qui ne sont pas mises à l’échelle ou les raccourcis qui provoquent des problèmes d’accumulation lors de l’ajout de fonctionnalités. Pour détecter les problèmes avant qu’ils atteignent la production, utilisez ces antimodèles comme liste de contrôle pendant les révisions de conception et les révisions de code.
Étape suivante
- principes Design pour les applications Azure : commencez par les principes fondamentaux qui informent ces meilleures pratiques.
Contenu connexe
Évaluation Azure Well-Architected : évaluez votre charge de travail au regard des piliers du cadre Well-Architected.
Modèles de conception cloud : Explorez des solutions réutilisables pour relever des défis architecturaux courants.