Développer une Architecture Azure

Types d'Architecture Communs dans Azure

  • Multiniveau : Couches horizontales divisées par un sous-réseau. Domaine d’entreprise classique. La fréquence des mises à jour est faible.
  • Web-File d’attente-Worker : Travaux frontaux et principaux, découplés par messagerie asynchrone. Domaine relativement simple avec des tâches gourmandes en ressources.
  • Microservices : Services verticalement (fonctionnellement) décomposés qui s’appellent mutuellement via des API. Domaine complexe. Mises à jour fréquentes.
  • Architecture basée sur les événements : Producteur/consommateur. Vue indépendante par sous-système. IoT et systèmes temps réel.
  • Big Data : Divise un jeu de données volumineux en petits blocs. Traitement parallèle sur les jeux de données locaux. Analyse des données en mode batch et en temps réel Analyse prédictive à l’aide de ML.
  • Big Compute : Allocation des données à des milliers de cœurs. Domaines nécessitant beaucoup de ressources système, tels que la simulation.
Les contraintes créent également des défis, il est donc important de comprendre les inconvénients lors de l’adoption d’un de ces styles. Les avantages peuvent l’emporter sur les défis liés au style architecture, pour ce sous-domaine et le contexte limité.

Voici quelques types de problèmes à prendre en compte lors de la sélection d’un style d’architecture :
  • Complexité : La complexité de l’architecture est-elle justifiée pour votre domaine ? À l’inverse, le style est-il trop simpliste pour votre domaine ? Dans ce cas, vous risquez de vous retrouver avec une « grande boule de boue » parce que l’architecture ne vous aide pas à gérer correctement les dépendances.
  • Messagerie asynchrone et cohérence éventuelle : La messagerie asynchrone peut être utilisée pour séparer des services et améliorer la fiabilité (étant donné que les messages peuvent être tentés à nouveau) et l’extensibilité. Toutefois, cela crée également des difficultés pour gérer la cohérence finale et une duplication possible des messages.
  • Communication interservice : Lorsque vous décomposez une application en services distincts, il est possible que la communication entre services provoque une latence inacceptable ou crée une congestion du réseau (par exemple, dans une architecture microservices).
  • Facilité de gestion : Est-il difficile de gérer l’application, analyser, déployer des mises à jour et ainsi de suite ?


Appliquez ces principes de conception :

Well Architected Framework WAF

Le cadre est fondé sur les cinq piliers de l’excellence architecturale, qui sont mappés à ces objectifs. Il s’agit de : fiabilité, sécurité, optimisation des coûts, excellence opérationnelle et efficacité des performances.
  • Fiabilité : Résilience, disponibilité, récupération Concevoir pour les besoins de l’entreprise, la résilience, la récupération et les opérations, tout en restant simple.
  • Sécurité : Protection des données, détection des menaces et atténuation Protégez la confidentialité, l’intégrité et la disponibilité.
  • Optimisation des coûts : Modélisation des coûts, budgets, réduction des déchets Optimisez l’utilisation et le taux d’utilisation tout en conservant un état d’esprit économique.
  • Excellence opérationnelle : Observabilité holistique, pratiques DevOps Rationalisez les opérations avec des normes, une surveillance complète et des pratiques de déploiement sécurisées.
  • Efficacité des performances : Scalabilité, test de charge Mettez à l’échelle horizontalement, testez tôt et souvent, et surveillez l’intégrité de la solution.

Cloud Adoption Framework

Le Cloud Adoption Framework pour Azure regroupe des documents, des conseils techniques, des meilleures pratiques et des outils conçus pour faciliter l’alignement des stratégies d’entreprise, d’organisation, de préparation et de déploiement technologique. Cet alignement assure un parcours clair et exploitable pour aider l’entreprise dans sa migration vers le cloud et lui permettre d’atteindre rapidement les résultats escomptés.

Le Cloud Adoption Framework simplifie le parcours d’adoption du cloud grâce à trois étapes essentielles :
  • Plan : 
    • la rationalisation de votre patrimoine numérique 
    • la création de votre plan d’adoption du cloud.
  • Ready
  • Adopter
L’adoption du cloud est motivée par divers facteurs :
  • déclencheurs de migration (par exemple, réduction des coûts et optimisation des opérations) ;
  • déclencheurs d’innovation (par exemple, augmentation de la présence pour répondre aux demandes du marché ou de zones géographiques).
Le Cloud Adoption Framework pour Azure favorise un parcours d’adoption du cloud exploitable, qui permet aux entreprises d’atteindre rapidement les résultats escomptés.

Lorsque vous développez votre stratégie de migration dans le cloud, vous devez vous concentrer sur les aspects suivants :
  • définir votre justification métier en identifiant les opportunités de générer de la valeur pour l’entreprise ;
  • établir des résultats métier clairs pour favoriser la transparence et l’engagement.
Microsoft met à votre disposition divers outils pour vous aider dans votre planification financière :
  • Outil de calcul du coût total de possession Azure
  • Calculatrice de prix Azure
  • Microsoft Cost Management + Billing

Votre premier projet d’adoption doit s’aligner sur les facteurs qui vous ont motivé à migrer vers le cloud.

Gouvernance du Cloud

Lorsque vous créez votre stratégie de gouvernance cloud, vous devez réfléchir à la gestion des coûts, définir une ligne de base de sécurité, veiller à la cohérence de vos ressources en adoptant les meilleures pratiques, établir la stratégie d’identité et d’accès, et enfin accélérer le déploiement à l’aide de modèles cohérents.

Mise à l'échelle 

Le scale-up consiste à ajouter davantage de ressources (processeur ou mémoire par exemple) à une instance unique. Cette instance peut être une machine virtuelle ou un service PaaS.

Le fait d’ajouter davantage de capacité à l’instance augmente les ressources à disposition de votre application, mais dans une certaine limite. Les machines virtuelles sont limitées à la capacité de l’hôte sur lequel elles s’exécutent. Les hôtes eux-mêmes ont également des limites physiques. Finalement, lorsque vous effectuez un scale-up la taille d’une instance, vous pouvez rencontrer ces limites. Elles entravent votre capacité à ajouter des ressources à l’instance.

Le scale-out consiste à ajouter des instances à un service. Il peut s’agir de machines virtuelles ou de services PaaS. Plutôt que d’ajouter de la capacité en créant une seule instance plus puissante, nous en ajoutons en augmentant le nombre total d’instances.
Ressources
  • https://azure.microsoft.com/fr-fr/get-started/azure-portal
  • Modèles de conception et d’implémentation pour Azure
  • https://learn.microsoft.com/fr-fr/azure/well-architected/what-is-well-architected-framework
  • Principes de conception : https://learn.microsoft.com/fr-fr/azure/architecture/guide/design-principles/

Azure App Service

Azure App Service est un service HTTP pour l’hébergement d’applications web, d’API REST et de backends mobiles. Vous pouvez développer dans votre langage préféré, à savoir .NET, .NET Core, Java, Node.js, PHP et Python. Les applications s’exécutent et sont mises à l’échelle facilement dans les environnements Windows et Linux.

Commentaires

Posts les plus consultés de ce blog

Base de Données Sybase IQ

Sécurité des Applications

Principes de la Programmation Orientée Objet