Partager via


Modèles de conception de cloud

Les architectes conçoivent des charges de travail en intégrant des services de plateforme, des fonctionnalités et du code pour répondre aux exigences fonctionnelles et non fonctionnelles. Pour concevoir des charges de travail efficaces, vous devez comprendre ces exigences et sélectionner des topologies et des méthodologies qui répondent aux défis des contraintes de votre charge de travail. Les modèles de conception cloud offrent des solutions à de nombreux défis courants.

La conception du système repose fortement sur des modèles de conception établis. Vous pouvez concevoir des systèmes d’infrastructure, de code et distribués à l’aide d’une combinaison de ces modèles. Ces modèles sont essentiels pour la création d’applications fiables, hautement sécurisées, optimisées pour les coûts, opérationnelles et performantes dans le cloud.

Les modèles de conception cloud suivants sont indépendants de la technologie, ce qui les rend adaptés à n’importe quel système distribué. Vous pouvez appliquer ces modèles dans Azure, d’autres plateformes cloud, des configurations locales et des environnements hybrides.

Comment les modèles de conception cloud améliorent le processus de conception

Les charges de travail cloud sont vulnérables aux fallacies de l’informatique distribuée, qui sont des hypothèses courantes mais incorrectes sur le fonctionnement des systèmes distribués. Voici quelques exemples de ces fallacies :

  • Le réseau est fiable.
  • La latence est égale à zéro.
  • La bande passante est infinie.
  • Le réseau est sécurisé.
  • La topologie ne change pas.
  • Il y a un administrateur.
  • Le contrôle de version des composants est simple.
  • L’implémentation de l’observabilité peut être retardée.

Ces idées fausses peuvent entraîner des conceptions de charges de travail défectueuses. Les modèles de conception n’éliminent pas ces idées fausses, mais aident à sensibiliser, à fournir des stratégies de compensation et à fournir des atténuations. Chaque modèle de conception cloud a des compromis. Concentrez-vous sur la raison pour laquelle vous devez choisir un modèle spécifique au lieu de l’implémenter.

Réfléchissez à l’utilisation de ces modèles de conception standard comme blocs de construction principaux pour une conception de charge de travail bien conçue. Chaque modèle de conception dans Azure Well-Architected Framework représente un ou plusieurs de ses piliers. Certains modèles peuvent introduire des compromis qui affectent les objectifs d’autres piliers.

Catalogue de modèles

Chaque modèle de ce catalogue décrit le problème qu’il traite, les considérations relatives à l’application du modèle et un exemple basé sur les services et outils Microsoft Azure. Certains modèles incluent des exemples ou des extraits de code qui montrent comment implémenter le modèle sur Azure.

Motif Résumé Les piliers du cadre Well-Architected
Ambassadeur Créez des services d’assistance qui envoient des requêtes réseau pour le compte d’applications ou d’un service consommateur. -Fiabilité

-Sécurité
Couche de lutte contre la corruption Implémentez une couche de façade ou d’adaptateur entre une application moderne et un système hérité. - Excellence opérationnelle
Demande-réponse asynchrone Dissociez le traitement back-end d’un hôte frontal. Ce modèle est utile lorsque le traitement back-end doit être asynchrone, mais le serveur frontal nécessite une réponse claire et rapide. - Efficacité des performances
Services principaux destinés aux frontaux Créez des services principaux distincts pour des applications ou interfaces frontend spécifiques. -Fiabilité

-Sécurité

- Efficacité des performances
Cloison étanche Isolez les éléments d’une application sous forme de pools afin qu’en cas de défaillance de l’un d’eux, les autres continuent à fonctionner. -Fiabilité

-Sécurité

- Efficacité des performances
Cache-Aside Chargez les données à la demande dans un cache à partir d’une banque de données. -Fiabilité

- Efficacité des performances
Chorégraphie Laissez les services individuels décider quand et comment une opération métier est traitée, au lieu de dépendre d’un orchestrateur central. - Excellence opérationnelle

- Efficacité des performances
Disjoncteur Gérez les erreurs qui peuvent prendre un certain temps pour corriger lorsqu’une application se connecte à un service ou une ressource distant. -Fiabilité

- Efficacité des performances
Vérification des revendications Diviser un message volumineux en une vérification des revendications et une charge utile pour éviter de surcharger un bus de messages. -Fiabilité

-Sécurité

- Optimisation des coûts

- Efficacité des performances
Transaction de compensation Annulez le travail effectué par une séquence d’étapes qui forment collectivement une opération cohérente. -Fiabilité
Consommateurs concurrents Permettre à plusieurs consommateurs simultanés de traiter les messages qu’ils reçoivent sur le même canal de messagerie. -Fiabilité

- Optimisation des coûts

- Efficacité des performances
Consolidation des ressources de calcul Consolidez plusieurs tâches ou opérations en une seule unité de calcul. - Optimisation des coûts

- Excellence opérationnelle

- Efficacité des performances
CQRS Opérations distinctes qui lisent les données de celles qui mettent à jour les données à l’aide d’interfaces distinctes. - Efficacité des performances
Empreintes de déploiement Déployez plusieurs copies indépendantes des composants de l’application, dont les magasins de données. - Excellence opérationnelle

- Efficacité des performances
Approvisionnement en événements Utilisez un magasin d’ajout uniquement pour enregistrer une série complète d’événements qui décrivent les actions exécutées sur les données dans un domaine. -Fiabilité

- Efficacité des performances
Magasin de configurations externes Déplacez les informations de configuration d’un package de déploiement d’application vers un emplacement centralisé. - Excellence opérationnelle
Identité fédérée Déléguez l’authentification à un fournisseur d’identité externe. -Fiabilité

-Sécurité

- Efficacité des performances
Agrégation de passerelle Utilisez une passerelle pour agréger plusieurs requêtes individuelles dans une requête unique. -Fiabilité

-Sécurité

- Excellence opérationnelle

- Efficacité des performances
Déchargement de passerelle Déchargez des fonctionnalités de service partagé ou spécialisé sur un proxy de passerelle. -Fiabilité

-Sécurité

- Optimisation des coûts

- Excellence opérationnelle

- Efficacité des performances
Routage de passerelle Acheminer les demandes vers plusieurs services à l’aide d’un point de terminaison unique. -Fiabilité

- Excellence opérationnelle

- Efficacité des performances
Géode Déployez des services back-end sur des nœuds géographiquement distribués. Chaque nœud peut gérer les demandes du client à partir de n’importe quelle région. -Fiabilité

- Efficacité des performances
Surveillance de point de terminaison d’intégrité Implémentez des contrôles fonctionnels dans une application à laquelle des outils externes peuvent accéder par le biais de points de terminaison exposés à intervalles réguliers. -Fiabilité

- Excellence opérationnelle

- Efficacité des performances
Table d’index Créez des index sur les champs des bases de données auxquels les requêtes font fréquemment référence. -Fiabilité

- Efficacité des performances
Élection du responsable Coordonnez les actions dans une application distribuée en choisissant une instance comme leader. Le responsable gère une collection d’instances de tâche de collaboration. -Fiabilité
Vue matérialisée Générez des vues préremplies sur les données dans un ou plusieurs magasins de données lorsque les données sont mal mises en forme pour les opérations de requête requises. - Efficacité des performances
Pont de messagerie Créez un intermédiaire pour permettre la communication entre les systèmes de messagerie qui sont autrement incompatibles. - Optimisation des coûts

- Excellence opérationnelle
Canaux et filtres Divisez une tâche qui exécute un traitement complexe en une série d’éléments séparés qui peuvent être réutilisés. -Fiabilité
File d’attente de priorité Hiérarchiser les demandes envoyées aux services afin que les demandes avec une priorité plus élevée soient traitées plus rapidement. -Fiabilité

- Efficacité des performances
Éditeur/Abonné Permettre à une application d’annoncer des événements à plusieurs consommateurs de manière asynchrone, sans couplage d’expéditeurs aux récepteurs. -Fiabilité

-Sécurité

- Optimisation des coûts

- Excellence opérationnelle

- Efficacité des performances
Quarantaine Assurez-vous que les ressources externes répondent à un niveau de qualité accepté par l’équipe avant que la charge de travail ne les consomme. -Sécurité

- Excellence opérationnelle
Nivellement de la charge basé sur une file d’attente Utilisez une file d’attente qui crée une mémoire tampon entre une tâche et un service pour faciliter les charges lourdes intermittentes. -Fiabilité

- Optimisation des coûts

- Efficacité des performances
Limitation de la fréquence Évitez ou réduisez les erreurs de bridage en contrôlant la consommation des ressources. -Fiabilité
Nouvelle tentative Permettre aux applications de gérer les échecs temporaires anticipés en réessayant les opérations ayant échoué. -Fiabilité
Saga Gérez la cohérence des données entre les microservices dans des scénarios de transactions distribuées. -Fiabilité
Superviseur de l'agent planificateur Coordonnez un ensemble d’actions entre les services et ressources distribués. -Fiabilité

- Efficacité des performances
Convoi séquentiel Traitez un ensemble de messages associés dans un ordre défini sans bloquer d’autres groupes de messages. -Fiabilité
Mise en commun Divisez un magasin de données en un ensemble de partitions horizontales ou de shards. -Fiabilité

- Optimisation des coûts
Side-car Déployez des composants dans un processus ou un conteneur distinct pour assurer l’isolation et l’encapsulation. -Sécurité

- Excellence opérationnelle
Hébergement de contenu statique Déployez du contenu statique sur un service de stockage cloud pour la livraison directe du client. - Optimisation des coûts
Figuier étrangleur Migrez de façon incrémentielle un système hérité en remplaçant progressivement des éléments de fonctionnalité par de nouvelles applications et services. -Fiabilité

- Optimisation des coûts

- Excellence opérationnelle
Limitation Contrôler la consommation de ressources des applications, des locataires ou des services. -Fiabilité

-Sécurité

- Optimisation des coûts

- Efficacité des performances
Clé de valet Utilisez un jeton ou une clé pour fournir aux clients un accès restreint et direct à une ressource ou un service spécifique. -Sécurité

- Optimisation des coûts

- Efficacité des performances

Étapes suivantes

Passez en revue les modèles de conception du point de vue du pilier Well-Architected Framework que le modèle vise à optimiser.