Modèles de conception cloud qui prennent en charge l’excellence opérationnelle

Lorsque vous concevez des architectures de charge de travail, vous devez utiliser des modèles de secteur qui répondent aux défis courants. Les modèles peuvent vous aider à faire des compromis intentionnels au sein des charges de travail et à optimiser le résultat souhaité. Ils peuvent également aider à atténuer les risques qui proviennent de problèmes spécifiques, ce qui peut affecter la fiabilité, la sécurité, les performances et les coûts. Étant donné que les opérations s’étendent à tous ces domaines, les risques finiront par affecter les opérations de charge de travail. Ces modèles sont soutenus par une expérience réelle, sont conçus pour l’échelle du cloud et les modèles d’exploitation, et sont intrinsèquement indépendants des fournisseurs. L’utilisation de modèles connus comme moyen de normaliser la conception de votre charge de travail est elle-même un composant de l’excellence opérationnelle.

De nombreux modèles de conception prennent directement en charge un ou plusieurs piliers d’architecture. Les modèles de conception qui prennent en charge le pilier Excellence opérationnelle utilisent des topologies qui fournissent une base solide pour des pratiques de déploiement sécurisées et facilitent l’évolution de l’architecture au fil du temps, des scénarios de migration et de l’observabilité.

Modèles de conception pour l’excellence opérationnelle

Le tableau suivant récapitule les modèles de conception cloud qui prennent en charge les objectifs d’excellence opérationnelle.

Modèle Résumé
Couche de lutte contre la corruption Protège les nouveaux composants système contre les choix de comportement ou d’implémentation des systèmes hérités en ajoutant une couche de médiateur aux interactions proxy entre les composants hérités et les nouveaux composants. Ce modèle permet de s’assurer que la conception des nouveaux composants n’est pas influencé par les implémentations héritées qui peuvent avoir des modèles de données ou des règles métier différents lors de l’intégration à ces systèmes hérités. Le modèle est particulièrement utile dans les migrations système progressives. Il réduit la dette technique dans les nouveaux composants tout en soutenant les composants existants.
Chorégraphie Coordonne le comportement des composants distribués autonomes dans une charge de travail à l’aide d’une communication décentralisée pilotée par les événements. Ce modèle peut être utile lorsque vous prévoyez de mettre à jour ou de remplacer fréquemment des services pendant le cycle de vie d’une charge de travail. Étant donné que les composants distribués sont autonomes, vous pouvez modifier la charge de travail avec moins de modifications globales apportées au système.
Consolidation des ressources de calcul Optimise et consolide les ressources de calcul en augmentant la densité. Ce modèle combine plusieurs applications ou composants d’une charge de travail sur une infrastructure partagée. La consolidation aboutit à une plateforme de calcul plus homogène, qui peut simplifier la gestion et l’observabilité, réduire les approches disparates des tâches opérationnelles et réduire la quantité d’outils requis.
Empreintes de déploiement Fournit une approche pour la publication d’une version spécifique d’une application et de son infrastructure en tant qu’unité contrôlée de déploiement, basée sur l’hypothèse que les versions identiques ou différentes seront déployées simultanément. Ce modèle s’aligne sur les objectifs d’infrastructure immuables, prend en charge les modèles de déploiement avancés et peut faciliter les pratiques de déploiement sécurisées.
Magasin de configurations externes Extrait la configuration dans un service externalisé à l’application pour prendre en charge les mises à jour dynamiques des valeurs de configuration sans nécessiter de modifications de code ou de redéploiement de l’application. Cette séparation de la configuration d’application du code d’application prend en charge la configuration spécifique à l’environnement et applique le contrôle de version aux valeurs de configuration. Les magasins de configuration externes sont également un emplacement courant pour gérer les indicateurs de fonctionnalités afin de permettre des pratiques de déploiement sécurisées.
Agrégation de passerelle Simplifie les interactions client avec votre charge de travail en agrégeant les appels à plusieurs services back-end dans une seule requête. Cette topologie permet à la logique back-end d’évoluer indépendamment des clients, ce qui vous permet de modifier les implémentations de service chaînées, ou même les sources de données, sans avoir à modifier les points de contact du client.
Déchargement de passerelle Décharge le traitement des demandes vers un appareil de passerelle avant et après le transfert de la demande vers un nœud principal. L’ajout d’une passerelle de déchargement au processus de demande vous permet de gérer la configuration et l’entretien de la fonctionnalité déchargée à partir d’un point unique au lieu de la gérer à partir de plusieurs nœuds.
Routage de passerelle Achemine les demandes réseau entrantes vers différents systèmes back-end en fonction des intentions de requête, de la logique métier et de la disponibilité du back-end. Le routage de passerelle vous permet de dissocier les demandes des back-ends, ce qui permet à vos back-ends de prendre en charge des modèles de déploiement avancés, des transitions de plateforme et un point de gestion unique pour la résolution de noms de domaine et le chiffrement en transit.
Surveillance de point de terminaison d’intégrité Fournit un moyen de surveiller l’intégrité ou l’status d’un système en exposant un point de terminaison spécifiquement conçu à cet effet. La normalisation des points de terminaison d’intégrité à exposer et du niveau d’analyse des résultats dans votre charge de travail peut vous aider à trier les problèmes.
Pont de messagerie Fournit un intermédiaire pour activer la communication entre les systèmes de messagerie qui sont autrement incompatibles en raison du protocole ou du format. Ce découplage offre de la flexibilité lorsque vous transférez la technologie de messagerie et d’événement au sein de votre charge de travail ou lorsque vous avez des exigences hétérogènes à partir de dépendances externes.
Serveur de publication/abonné Dissocie les composants d’une architecture en remplaçant la communication directe de client à service ou de client à service par une communication via un répartiteur de messages intermédiaire ou un bus d’événements. Cette couche d’indirection peut vous permettre de modifier en toute sécurité l’implémentation côté éditeur ou abonné sans avoir à coordonner les modifications apportées aux deux composants.
Quarantaine Garantit que les ressources externes répondent à un niveau de qualité convenu par l’équipe avant d’être autorisées à les consommer dans la charge de travail. L’automatisation et la cohérence de ces vérifications font partie du cycle de vie du développement logiciel et des pratiques de déploiement sécurisé (SDP) de la charge de travail.
Sidecar Étend les fonctionnalités d’une application en encapsulant des tâches non primaires ou transversales dans un processus complémentaire qui existe parallèlement à l’application main. Ce modèle fournit une approche de l’implémentation de la flexibilité dans l’intégration d’outils qui peut améliorer l’observabilité de l’application sans obliger l’application à prendre des dépendances d’implémentation directes. Il permet à la fonctionnalité side-car d’évoluer indépendamment et d’être maintenue indépendamment du cycle de vie de l’application.
Figuier étrangleur Fournit une approche pour remplacer systématiquement les composants d’un système en cours d’exécution par de nouveaux composants, souvent lors d’une migration ou d’une modernisation du système. Ce modèle fournit une approche d’amélioration continue, dans laquelle le remplacement incrémentiel par de petits changements au fil du temps est préférable plutôt que les grands changements systémiques qui sont plus risqués à implémenter.

Étapes suivantes

Passez en revue les modèles de conception cloud qui prennent en charge les autres piliers d’Azure Well-Architected Framework :