Notions de base relatives à l’architecture des applications Azure
Une application conçue pour les charges de travail hébergées dans le cloud répond aux exigences métier de la solution et intègre des composants et fonctionnalités natifs cloud. Une application cloud bien conçue aborde la fiabilité, la sécurité, le coût, les opérations et les considérations relatives aux performances. Ces considérations sont alignées sur les exigences métier et sur des caractéristiques spécifiques et des fonctionnalités fournies de la plateforme d’hébergement cloud.
La conception d’applications pour les charges de travail cloud ne nécessite aucun style d’application spécifique, tel que les microservices. Toutefois, l’hébergement cloud rend de nombreux modèles de conception d’application plus accessibles que les solutions d’hébergement qui ne proposent pas en mode natif une sélection diversifiée d’options de plateforme de données & d’applications, de fonctionnalités de mise à l’échelle, de contrôles de sécurité et d’options de messagerie. À cette fin, les charges de travail cloud bénéficient d’applications qui sont décomposées en services décentralisés plus petits par conception. Ces services communiquent via des API ou à l’aide d’une messagerie ou d’une gestion des évènements asynchrone. Les applications sont mises à l’échelle horizontalement, en ajoutant de nouvelles instances lorsque c’est demandé.
Les applications qui tirent parti des plateformes d’hébergement d’applications, des fonctionnalités de messagerie et des services décomposés du cloud sont sujettes à des préoccupations communes au système distribué. L’état de l’application est distribué. Les opérations sont effectuées en parallèle et de manière asynchrone. Les applications doivent être résilientes quand des échecs se produisent. Des acteurs malveillants ciblent sans arrêt les applications. Les déploiements doivent être automatisée et prévisibles. La surveillance et les données de télémétrie sont critiques pour obtenir des informations du système.
conception locale classique
- Fonctionnalité et données monolithiques et co-localisées
- Conçues pour une échelle prévisible ou sur-approvisionnées
- Base de données relationnelle
- Traitement synchronisé
- Conception pour éviter les échecs (MTBF)
- Ressources approvisionnées via des fonctions informatiques
- Serveurs snowflake et serveurs pet
conception cloud classique
- Fonctionnalités et données décomposées et distribuées
- Conception pour une mise à l’échelle élastique
- Persistance polyglotte (combinaison de technologies de stockage)
- Traitement asynchrone
- Conception pour résister aux dysfonctionnements (MTBF) et à la conception en cas de défaillance (MTTR)
- Ressources approvisionnées via l’infrastructure as code selon les besoins
- Infrastructure immuable et remplaçable
Conception d’applications pour Azure
Les applications doivent être conçues par les architectes cloud pour tirer parti spécifiquement de l’hébergement cloud et prendre des décisions stratégiques de compromis. Azure offre des ressources spécialement conçues pour aider les architectes à réaliser de bonnes conceptions et à guider les équipes de développement dans leur mise en œuvre. Pour réaliser la conception de charge de travail et d'application, les architectes doivent :
- S’aligner sur les standards organisationnels du cloud
- Développez en respectant l’Azure Well-Architected Framework
- Comprendre les styles d’architecture classiques, les charges de travail et les meilleures pratiques
- Utiliser des modèles de conception pour résoudre les problèmes courants et introduire des compromis stratégiques
- faire des choix technologiques bien informés
- Évaluer les architectures de référence
- Passer en revue les guides spécifiques au service
Azure peut être utilisé pour héberger et réhéberger des applications qui n’ont pas été spécifiquement conçues pour le cloud. Bien que les applications de charge de travail puissent être ajustées pour tirer parti des fonctionnalités cloud, le réhébergement d’une application conçue pour les ressources fixes et la mise à l’échelle n’est pas considérée comme un déploiement natif dans le cloud.
S'aligner sur les normes d'adoption du cloud organisationnelles
Votre application fait partie d’une charge de travail susceptible d’être soumise à des normes et à une gouvernance organisationnelles. Les organisations de toute taille et maturité cloud peuvent utiliser le Cloud Adoption Framework pour Azure pour formaliser leur stratégie d’adoption à l’échelle d’Azure, leur préparation, leur innovation, leur gestion & gouvernance et la sécurité. Une partie de cette approche consiste à standardiser une approche cohérente dans l’ensemble des charges de travail, par exemple en utilisant les zones d’atterrissage Azure. Les zones d’atterrissage Azure offrent un mélange de gouvernance à l’échelle de l’organisation tout en permettant aux équipes de charge de travail et aux architectes de démocratiser l’accès aux ressources pour atteindre les objectifs métier localisés. En tant qu'architecte concevant des applications, il est essentiel que vous compreniez l'environnement macroéconomique et les attentes dans lequel la charge de travail fonctionnera, comme les zones d'implantation des applications.
La stratégie d’adoption d’Azure de votre organisation ne doit pas avoir d’impact sur votre choix de style architectural, mais elle peut mettre des contraintes sur les choix technologiques ou les limites de sécurité.
Concevoir selon le Framework Azure Well-Architected
Toutes les charges de travail peuvent être évaluées dans leur conception et leur implémentation à travers différentes perspectives. Azure fournit Azure Well-Architected Framework pour aider un architecte de charge de travail à évaluer et à aligner ses décisions sur les principes de conception sur cinq piliers architecturaux clés.
En règle générale, suivre ces principes et évaluer les compromis entre ces piliers architecturaux produit une conception qui répond aux exigences de l’entreprise et est suffisamment durable, maintenable, sécurisée, et optimisée pour les coûts d’exécution dans Azure. Ces décisions doivent avoir un impact sur votre choix de style architectural et mettre des contraintes sur les choix technologiques ou les limites de sécurité en ce qui concerne les besoins de votre charge de travail spécifique.
Votre équipe ou votre organisation peut également avoir d’autres principes de développement sur lesquels votre charge de travail peut être évaluée, tels que la durabilité et l’éthique.
Comprendre les styles d’architecture classiques
Une fois que vous avez une compréhension de l’environnement organisationnel dans lequel votre application existe et que vous avez la base générale de la conception d’architecture correcte à partir d’Azure Well-Architected Framework, alors généralement le premier point de décision est quel type d’architecture créez-vous ? Cela peut être une architecture de microservices, une application multiniveau plus classique ou une solution Big Data. Il s’agit de styles architecturaux distincts adaptés aux résultats des différences. Lors de l’évaluation des styles architecturaux, vous sélectionnez également des modèles de stockage de données pour gérer l'état. Ces décisions présentent des avantages et des défis.
Évaluez les différents styles d’architecture et les modèles de magasin de données .
Charges de travail dans Azure Well-Architected Framework
Le Well-Architected Framework comporte une section consacrée à des classifications ou types de charges de travail distincts, appelée Charges de travail Azure Well-Architected Framework. Vous pouvez trouver dans cette section des articles qui traitent des charges de travail critiques à la mission, des charges de travail d’intelligence artificielle et de Machine Learning, ou des charges de travail de logiciel en tant que service (SaaS). Ces articles spécifiques à la charge de travail prennent les cinq piliers principaux de l’infrastructure Well-Architected et les appliquent au domaine spécifique. Si votre application fait partie d’une charge de travail qui s’aligne sur l’un de ces modèles documentés, passez en revue les conseils respectifs pour vous aider à aborder votre conception en suivant un ensemble de principes de conception spécifiques à la charge de travail et des recommandations dans les domaines de conception courants tels que la plateforme d’applications, la plateforme de données, la mise en réseau, etc. Certains types de charge de travail peuvent tirer parti de la sélection d’un style architectural spécifique ou d’un modèle de magasin de données.
Meilleures pratiques
Consultez les articles Bonnes pratiques dans les applications cloud pour découvrir différentes considérations de conception, notamment la conception d’API, l’autoscaling, le partitionnement des données, la mise en cache, etc. Passez-les en revue et appliquez les bonnes pratiques adaptées à votre application.
Utiliser des modèles de conception pour résoudre les problèmes courants et introduire des compromis stratégiques
Votre application a des exigences métier uniques, des objectifs et des mesures de réussite. Un architecte décompose ces exigences fonctionnelles et non fonctionnelles en activités discrètes qui fonctionnent ensemble pour obtenir une solution avec laquelle vous et vos utilisateurs êtes satisfaits. Ces activités sont souvent assez courantes qu’elles ont établi des modèles utilisés dans l’industrie logicielle. Ces modèles de conception logicielle sont des approches nommées et reproductibles appliquées au traitement ou au stockage de données qui sont prouvées pour résoudre des problèmes spécifiques liés aux compromis connus.
Le catalogue d’Azure de modèles de conception cloud répond à des défis spécifiques dans les systèmes distribués.
Faire des choix technologiques bien informés
Après avoir déterminé le type d’architecture que vous créez et les modèles de conception que vous prévoyez d’utiliser, vous pouvez commencer à choisir les principales parties technologiques de l’architecture. Les choix technologiques suivants sont essentiels :
calcul fait référence au modèle d’hébergement des ressources informatiques (plateforme d’applications) sur lesquelles vos applications s’exécutent. Pour plus d’informations, consultez Choisir un service de calcul.
- Azure propose également des conseils spécialisés pour certaines plateformes d’applications spécifiques telles que Choisir un service de conteneur Azure et options hybrides Azure.
Les magasins de données comprennent des bases de données, mais également un stockage de fichiers, de caches, de journaux et de tout autre élément qu’une application peut conserver en stockage. Pour plus d’informations, consultez Choisir un magasin de données dans Azure et Passer en revue vos options de stockage.
Les technologies de messagerie permettent d’envoyer des messages asynchrones entre les composants du système. Pour plus d’informations, consultez Choisir un service de messagerie.
Les technologies d’intelligence artificielle (IA) résolvent des problèmes qu’il serait complexe de mettre en œuvre dans du code applicatif traditionnel. Pour aider à guider ces choix, voir Choix d'une technologie de services Azure AI.
Vous allez probablement faire d’autres choix technologiques, mais ces quatre éléments (calcul, données, messagerie et IA) sont essentiels à la plupart des applications cloud et déterminent de nombreux aspects de votre conception.
Évaluer les architectures de référence
Le Centre d’architecture Azure abrite des idées de solution, des exemples de charges de travail et des architectures de référence. Ces articles incluent généralement la liste des composants courants et des considérations alignées sur Azure Well-Architected Framework. Certains de ces articles incluent une solution déployable hébergée sur GitHub. Bien qu’il soit peu probable que l’un de ces scénarios soit exactement ce que vous créez, il peut s’agir d’un bon point de départ pour vous d’adapter les conseils à vos besoins spécifiques.
Parcourez le catalogue d’architectures ici dans le Centre d’architecture Azure.
Passer en revue les guides spécifiques au service
Une fois la technologie de base sélectionnée et les architectures de référence consultées, il est important d’accéder à la documentation et aux conseils spécifiques aux services de votre architecture. Utilisez les ressources suivantes pour obtenir des conseils spécifiques au service.
Guides de service Azure Well-Architected Framework : Le Well-Architected Framework propose des articles couvrant de nombreux services offerts dans Azure, où les cinq piliers de l’architecture sont appliqués spécifiquement à ce service.
Rechercher et lire le guide de service pour toutes les ressources prises en compte dans le cadre de la conception de votre application.
guides de fiabilité Azure: le hub de fiabilité Azure contient des articles détaillés qui traitent spécifiquement des caractéristiques de fiabilité de nombreux services Azure. Ces articles documentent certaines des rubriques de fiabilité les plus critiques, telles que la prise en charge des zones de disponibilité et le comportement attendu lors de différents types de pannes.
Rechercher et lire le guide de fiabilité pour toutes les ressources prises en compte dans le cadre de la conception de votre application.
En provenance d’un autre cloud ?
Si vous êtes familiarisé avec la conception d’applications dans un autre fournisseur de cloud, bon nombre des mêmes principes fondamentaux se traduisent. Par exemple, les styles d’architecture et les modèles de conception cloud sont conceptuellement indépendants du cloud. Parcourez les articles pertinents sur le mappage des services et l’architecture.