Meilleures pratiques dans les applications cloud
Ces bonnes pratiques peuvent vous aider à créer des applications fiables, évolutives et sécurisées dans le cloud. Ils proposent des instructions et des conseils pour concevoir et implémenter des systèmes, des mécanismes et des approches efficaces et robustes. Beaucoup incluent également des exemples de code que vous pouvez utiliser avec les services Azure. Les pratiques s’appliquent à n’importe quel système distribué, que votre hôte soit Azure ou une autre plateforme cloud.
Catalogue des pratiques
Ce tableau répertorie les différentes meilleures pratiques. La colonne Piliers associés contient les piliers du Microsoft Azure Well-Architected Framework sur lequel la pratique se concentre.
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 et empêchez les erreurs temporaires en prenant en charge les réponses partielles et en fournissant des moyens de filtrer et de paginer les données. | efficacité des performances, excellence opérationnelle |
Implémentation de l’API | Implémentez des API web pour être efficaces, réactives, évolutives et disponibles. Effectuez des actions idempotentes, prenez en charge la négociation de contenu et suivez 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 |
Mise à l’échelle automatique | Concevoir des applications pour allouer et déallouter dynamiquement des ressources pour répondre aux exigences de performances et réduire les coûts. Tirez parti de la mise à l’échelle automatique Azure Monitor et de la mise à l’échelle automatique intégrée offertes par de nombreux composants Azure. | efficacité des performances, optimisation des coûts |
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. Déclenchez des tâches avec des événements ou des planifications, et renvoyez les résultats aux tâches d’appel. | 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 Cache Azure pour Redis. | Efficacité du niveau de performance |
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. | efficacité de la performance |
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. | efficacité de la performance, optimisation des coûts |
stratégies de partitionnement de données (par service) | Partitionnez les données dans Azure SQL Database et les services de stockage Azure, tels que Stockage Table Azure et Stockage Blob Azure. Partitionner vos données pour distribuer des charges, réduire la latence et prendre en charge la mise à l’échelle horizontale. | efficacité de la performance, optimisation des coûts |
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é |
Considérations relatives à l’encodage des messages | Utilisez des messages asynchrones pour échanger des informations entre les composants système. Choisissez la structure de charge utile, le format d’encodage et la bibliothèque de sérialisation qui fonctionnent le mieux avec vos données. | Sécurité |
surveillance et diagnostics | Effectuez le suivi de l’intégrité du système, de l’utilisation et des performances avec un pipeline de surveillance et de diagnostic. Transformez les données de surveillance en alertes, rapports et déclencheurs qui aident dans différentes situations. Les exemples incluent la détection et la correction des problèmes, la détection des problèmes potentiels, la conformité des garanties de performances et la conformité des exigences d’audit. | excellence opérationnelle |
Conseils de nouvelle tentative pour des services spécifiques | Utilisez, adaptez et étendez les mécanismes de nouvelle tentative proposés par les services Azure et les kits SDK clients. Développez une approche systématique et robuste pour gérer les problèmes temporaires liés aux connexions, aux opérations et aux ressources. | Fiabilité |
gestion des erreurs temporaires | Gérez les erreurs temporaires provoquées par des réseaux ou des ressources indisponibles. Surmonter les défis lors du 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é |
Étapes suivantes
Ressources associées
- modèles de conception cloud
- Microsoft Azure Well-Architected Framework