Modifier

Application web à deux régions avec basculement du Stockage Table

Azure Front Door
Azure App Service
Azure Functions
Stockage de table Azure
Cache Azure pour Redis

Idées de solution

Cet article présente une idée de solution. Si vous souhaitez nous voir développer le contenu avec d’autres informations, telles que des cas d’usage potentiels, d’autres services, des considérations d’implémentation ou un guide des prix, faites-le-nous savoir avec les Commentaires de GitHub.

Cette architecture fournit une solution haute disponibilité pour une application web qui utilise de grandes quantités de données. Une région secondaire sert de région de secours à la région primaire, ce qui améliore la disponibilité. La région primaire envoie ses données à la secondaire à l’aide des fonctionnalités de réplication intégrées de Stockage Azure.

Les données sont stockées dans les tables Stockage Table Azure. Comme pour tout service Stockage Azure, les données de Stockage Table sont répliquées de manière synchrone trois fois dans la région primaire. Pour qu’elles soient disponibles en mode de secours, elles sont également répliquées de manière asynchrone trois fois dans la région secondaire. Pour plus d’informations sur la réplication du Stockage Azure, consultez Redondance du Stockage Azure.

L’architecture comprend un cache pour les tables afin de réduire la charge d’accès et d’améliorer la réponse des applications.

Notes

Dans certains cas, votre application peut nécessiter plusieurs comptes de stockage. Pour plus d’informations, consultez les considérations.

Cas d’usage potentiels

L’architecture peut être adaptée à toute application qui utilise de gros volumes de données qui doivent toujours être disponibles. Il s’agit par exemple d’applications qui permettent de :

  • Suivre les habitudes de dépense client et le comportement d’achat.
  • Prévisions météorologiques.
  • Offrir des systèmes de trafic intelligents ou implémenter des systèmes de trafic intelligents ou utiliser la technologie intelligente pour surveiller le trafic.
  • Analyser les données de l’Internet des objets de fabrication (IoT).
  • Afficher les données des compteurs intelligents ou utiliser la technologie intelligente pour surveiller les données des compteurs.

Architecture

Architecture d’un système résilient pouvant basculer vers une région de secours.

Téléchargez un fichier Visio de cette architecture.

Dataflow

  1. Le client s’authentifie par Microsoft Entra ID et se voit octroyer l’accès aux applications web hébergées sur Azure App Service.
  2. Azure Front Door, un pare-feu et un équilibreur de charge de couche 7, bascule le trafic utilisateur vers la région de secours en cas de panne régionale.
  3. Azure App Service héberge les sites web et les API web RESTful. Les clients de navigateur exécutent des applications AJAX qui utilisent les API.
  4. Les API web délèguent des applications de fonction pour gérer les tâches en arrière-plan. Les tâches sont mises en file d’attente dans les files d’attente Stockage File d’attente Azure.
  5. Les applications de fonction hébergées par Azure Functions effectuent les tâches en arrière-plan, déclenchées par les messages mis en file d’attente.
  6. Azure Cache pour Redis met en cache les données de la table pour les applications de fonction. Cela décharge l’activité de la base de données et accélère les applications de fonction et les applications web.
  7. Stockage Table Azure contient les données utilisées par les applications web.
  8. Stockage Table prend en charge la réplication synchrone des données entre les zones de disponibilité de la région afin de limiter les pannes du centre de données. Il utilise également la réplication asynchrone pour la réplication des données entre différentes régions Azure pour corriger les pannes régionales et améliorer la disponibilité des applications.

Composants

  • Microsoft Entra ID est un service multilocataire de gestion des identités et des accès qui peut être synchronisé avec un annuaire local.
  • Azure DNS est un service d’hébergement à haute disponibilité pour les domaines DNS qui fournit aux applications des requêtes DNS rapides et des mises à jour rapides des enregistrements DNS. La gestion d’Azure DNS est semblable à la gestion d’autres services Azure et utilise les mêmes informations d’identification, API, outils et informations de facturation.
  • Azure Front Door est un réseau de distribution de contenu (CDN) sécurisé et un équilibreur de charge avec basculement instantané. Il fonctionne à proximité des utilisateurs, accélérant la distribution de contenu tout en protégeant les applications, les API et les sites web contre les menaces informatiques.
  • Azure App Service est un service complètement managé pour générer, déployer et mettre à l’échelle des applications web. Vous pouvez générer des applications avec .NET, .NET Core, Node.js, Java, Python ou PHP. Les applications peuvent s’exécuter dans des conteneurs ou sur Windows ou Linux. Dans une migration de mainframe, les écrans ou l’interface web du front-end peuvent être codés en utilisant des API REST basées sur HTTP. Ils peuvent être séparés et être sans état pour permettre l’orchestration d’un système basé sur des microservices. Pour plus d’informations sur les API web, consultez conception d’API web RESTful.
  • Azure Functions fournit un environnement pour exécuter de petits morceaux de code, appelés fonctions, sans avoir à établir une infrastructure d’application. Vous pouvez l’utiliser pour traiter des données en bloc, intégrer des systèmes, utiliser IoT et créer des API et des microservices simples. Avec les microservices, vous pouvez créer des serveurs qui se connectent aux services Azure et qui sont toujours à jour.
  • Stockage Azure est un ensemble de services cloud hautement évolutifs et sécurisés pour les données, les applications et les charges de travail. Il comprend Azure Files, Stockage Table Azure et Stockage File d’attente Azure. Azure Files est souvent un outil efficace pour la migration des charges de travail des mainframes.
  • Stockage File d’attente Azure fournit une mise en file d’attente de messages simple, économique et durable pour les charges de travail volumineuses.
  • Stockage Table Azure est un stockage de valeurs de clé NoSQL permettant un développement rapide à l’aide de jeux de données semi-structurés volumineux. Les tables sont sans schéma et s’adaptent facilement au fur et à mesure que les besoins évoluent. L’accès est rapide et rentable pour de nombreux types d’applications, et est généralement moins cher que les autres types de stockage avec clé.
  • Azure Cache pour Redis est un service de mise en cache en mémoire et un répartiteur de messages entièrement managés permettant de partager des données et des états entre des ressources de calcul. Il inclut à la fois le composant open source Redis et un produit commercial de Redis Labs sous la forme de services managés. Vous pouvez améliorer les performances des applications de traitement transactionnel en ligne à haut débit en les concevant pour mettre à l’échelle et pour utiliser un magasin de données en mémoire comme Azure Cache pour Redis.

Autres solutions

  • Azure Traffic Manager dirige les requêtes DNS entrantes sur les régions Azure globales en fonction de votre choix de méthodes de routage du trafic. Il fournit également le basculement automatique et le routage des performances.
  • Azure Content Delivery Network met en cache le contenu statique des serveurs de périphérie pour des réponses rapides et utilise des optimisations du réseau pour améliorer la réponse pour le contenu dynamique. Content Delivery Network est particulièrement utile quand la base des utilisateurs est mondiale.
  • Azure Kubernetes Service (AKS) est un service complètement managé qui sert au déploiement et à la gestion d’applications conteneurisées. Vous pouvez l’utiliser pour implémenter une architecture de microservices dont les composants sont mis à l’échelle indépendamment à la demande.
  • Azure Container Instances offre un moyen simple et rapide d’exécuter des tâches sans avoir à gérer l’infrastructure. Il est utile pendant le développement ou pour l’exécution de tâches non planifiées.
  • Azure Service Bus est un service de messagerie cloud fiable pour une intégration hybride simple. Il peut être utilisé à la place de Stockage File d’attente Azure dans cette architecture. Pour plus d’informations, consultez Files d’attente de stockage et files d’attente Service Bus - comparaison et différences.

Considérations

  • Il existe des limites de performances sur Stockage Table, qui peuvent être contournées par l’ajout de comptes de stockage. Les circonstances suivantes peuvent nécessiter des comptes supplémentaires :

    • L’implémentation d’une architecture mutualisée pour prendre en charge plusieurs clients
    • La prise en charge de clients avec des taux de transaction supérieurs
    • La prise en charge de clients avec des jeux de données volumineux
    • L’accélération de l’accès aux données par la répartition des données sur plusieurs comptes de stockage
    • La séparation des données en niveaux chaud, froid et archive
    • La création de copies de données à des fins de sauvegarde et de création de rapports

    Pour plus d’informations, consultez Objectifs de performance et de scalabilité pour Stockage Table.

  • La réplication Stockage Table n’est pas disponible dans certaines régions Azure.

  • Les données d’une région secondaire ont une cohérence finale, ce qui signifie qu’il y a un décalage entre le moment où une mise à jour se produit dans une région primaire et le moment où elle est visible dans la région secondaire. Étant donné que la réplication de la région primaire vers la région secondaire est asynchrone, les données peuvent être perdues si la région primaire échoue et n’est pas récupérée. Il n’existe actuellement aucun contrat de niveau de service (SLA) sur le temps nécessaire à la réplication des données dans la région secondaire. Pour plus d’informations, consultez Redondance de Stockage Azure.

Contributeurs

Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.

Auteur principal :

  • Nabil Siddiqui | Architecte de solution cloud - Innovation numérique et applicative

Étapes suivantes