Meilleures pratiques dans les applications cloud
Ces meilleures pratiques peuvent vous aider à créer des applications fiables, évolutives et sécurisées dans le cloud. Elles proposent de l’aide et des conseils pour concevoir et implémenter des systèmes, mécanismes et approches efficaces et robustes. Elles sont également nombreuses à comprendre des exemples de code que vous pouvez utiliser avec les services Azure. Les pratiques s’appliquent à tout 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 ou modèles associés contient les liens suivants :
- Défis relatifs au développement dans le cloud abordés par la pratique et les modèles de conception associés.
- Piliers du Microsoft Azure Well-Architected Framework sur lesquels la pratique se concentre.
Pratiquer | Résumé | Piliers ou modèles associés |
---|---|---|
Conception d’API | Concevez 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. Soutenez 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 évitez les pannes temporaires en prenant en charge les réponses partielles et en fournissant des moyens de filtrer et de paginer les données. | Conception et implémentation, efficacité des performances, excellence opérationnelle |
Implémentation de l’API | Implémentez des API web pour être efficace, réactif, évolutif et disponible. 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 méthodes pour gérer les requêtes volumineuses et réduire le trafic réseau. | Conception et implémentation, excellence opérationnelle |
Mise à l’échelle automatique | Concevez des applications afin d’allouer et de libérer dynamiquement des ressources pour répondre aux besoins 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 traitements par lots, des tâches de traitement et des workflows en tant que tâches en arrière-plan. Utilisez les services de la 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. | Conception et implémentation, excellence opérationnelle |
Mise en cache | Améliorez les performances en copiant les données vers un stockage rapide proche des applications. Mettez en cache les données que vous lisez souvent mais modifiez rarement. Gérez l’expiration et l’accès concurrentiel des données. Découvrez comment remplir les caches et utiliser le service Azure Cache pour Redis. | Gestion des données, efficacité des performances |
Réseau de distribution de contenu | Utilisez des réseaux de distribution de contenu (CDN) pour fournir efficacement du contenu web aux utilisateurs et réduire la charge sur les applications web. Surmontez les défis relatifs au déploiement, au contrôle de version, à la sécurité et à la résilience. | Gestion des données, efficacité des performances |
Partitionnement des données | Partitionnez les données pour améliorer l’évolutivité, 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. | Gestion des données, efficacité des performances, optimisation des coûts |
Stratégies de partitionnement des 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. Partitionnez vos données pour répartir les charges, réduire la latence et prendre en charge la mise à l’échelle horizontale. | Gestion des données, efficacité des performances, optimisation des coûts |
Conservation 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 de back-end, et comment implémenter cette recommandation pour les services Azure les plus courants. | Conception et implémentation, fiabilité |
Considérations sur 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. | Messagerie, sécurité |
Surveillance et diagnostics | Assurez 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 d’analyse en alertes, rapports et déclencheurs qui facilitent les différentes situations. Les exemples incluent la détection et la correction des problèmes, l’identification des problèmes potentiels, la satisfaction des garanties de performances et l’exécution des exigences d’audit. | Excellence opérationnelle |
Guide du mécanisme de nouvelle tentative relatif aux différents services | Utilisez, adaptez et étendez les mécanismes de nouvelle tentative proposés par les services Azure et les kits de développement logiciel (SDK) clients. Développez une approche systématique et fiable pour gérer les problèmes temporaires liés aux connexions, aux opérations et aux ressources. | Conception et implémentation, fiabilité |
Gestion des erreurs temporaires | Gérez les pannes temporaires provoquées par des ressources ou des réseaux non disponibles. Surmontez 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. | Conception et implémentation, fiabilité |