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 :

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 anti-modèles. Conception et implémentation, fiabilité

Étapes suivantes