S'étendre à l'international
- 3 minutes
Dans l’unité précédente, nous avons décrit la mise à l’échelle du calcul et nous l’avons rendu plus disponible dans le processus. Nous avons également suggéré d’ajouter un cache Azure pour Redis afin d’améliorer les performances et de faire évoluer les bases de données Azure SQL via le partitionnement.
L’étape suivante, à mesure que votre entreprise croît, pourrait être d’aller à l’échelle mondiale. Toutefois, vous devez réfléchir à certaines choses avant d’essayer d’implémenter une architecture entièrement globale.
Questions à se poser
La première question est : Avez-vous vraiment besoin d’aller à l’international ?
Il est important de comprendre les difficultés rencontrées par nos clients avant d'entreprendre une telle tâche, alors posez-vous quelques questions supplémentaires :
- Pouvez-vous rapprocher le contenu de vos utilisateurs via un réseau de distribution de contenu ?
- Avez-vous vraiment besoin de mettre à l’échelle ce système particulier sur deux zones géographiques (ou plus) ? Par exemple, un utilisateur aux États-Unis doit-il avoir exactement le même compte au Royaume-Uni ? Les systèmes indépendants seraient-ils plus adaptés ? Ce modèle est courant dans le commerce électronique.
- Si vous avez vraiment besoin d’un système distribué à l’échelle mondiale, quelle cohérence avez-vous besoin pour la base de données ? Une cohérence forte à travers le monde est difficile à obtenir, et n’est pas autorisée dans les services tels que Cosmos DB, littéralement en raison de la vitesse de la lumière.
Cohérence des données
Examinons un peu plus attentivement le problème de cohérence des données.
La cohérence dans les systèmes de base de données fait référence à l’exigence que toute transaction de base de données donnée ne doit modifier les données affectées que de manière autorisée. Il existe deux modèles de cohérence utilisés dans l’informatique distribuée.
Une cohérence forte offre une garantie de linéarisation. Garantit que les lectures retournent la version validée la plus récente d’un élément.
Ensuite, il y a une cohérence éventuelle, l’idée qu’une base de données ou un système sera finalement cohérente au fil du temps. Il n’existe aucune garantie de classement pour les lectures. En l’absence d’écritures ultérieures, les réplicas finissent par converger.
Outils pour aller à l’échelle mondiale
Si vous constatez que vous avez vraiment besoin de mettre à l’échelle votre application globalement, certains services Azure peuvent vous aider à y parvenir. Examinons Azure Traffic Manager et Azure Front Door :
- Azure Traffic Manager est un service d’équilibrage de charge basé sur DNS global. Il utilise des sondes DNS et de santé pour diriger vos utilisateurs vers l'arrière-plan sain le plus approprié, selon les stratégies de routage que vous avez définies. Cette définition peut être basée sur les performances, la localisation, le tourniquet (round robin), etc. Une fois qu’un back-end sain est identifié, les clients se connectent toujours directement au serveur principal.
- Azure Front Door Service est un réseau de distribution d’applications (ADN) en tant que service, offrant différentes fonctionnalités d’équilibrage de charge de couche 7 pour vos applications. Il fournit l’accélération de site dynamique (DSA) et un équilibrage de charge mondial, avec basculement en quasi-temps réel. Il s’agit d’un service hautement disponible et évolutif, entièrement géré par Azure.
Azure Front Door est essentiellement un équilibreur de charge http global. Le client établit une connexion avec la solution Front Door, qui agit ainsi en tant que proxy pour la demande des utilisateurs. Si l’élément demandé n’est pas dans le cache, la règle de routage correcte est identifiée. Ensuite, il vérifie la sonde d’intégrité du back-end approprié, et en supposant que tout est sain, transfère la demande de l’utilisateur au meilleur back-end en fonction de la méthode de routage.
Étant donné qu’Azure Front Door proxies la connexion, vous pouvez effectuer certaines fonctions avancées telles que l’exécution d’un pare-feu d’applications web et la mise en cache, ce qui est utile pour la mise à l’échelle. Aucune de ces fonctions ne peut être obtenue avec Traffic Manager.
Le diagramme montre comment vous pouvez utiliser les deux ensemble.
Cette configuration utilise Traffic Manager pour l’équilibrage de charge simple basé sur DNS sur vos ressources statiques dans les comptes de stockage. Il utilise également Front Door pour le routage basé sur le chemin de votre application web à travers App Service et les machines virtuelles.