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 Azure Redis managé pour améliorer les performances et effectuer un scale-out des 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 du É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. Les services tels que Cosmos DB prennent en charge une cohérence forte dans les configurations multirégions, mais il est fourni avec des compromis significatifs, notamment une latence plus élevée, une disponibilité réduite pendant les pannes régionales et une consommation accrue de RU par opération.
Cohérence des données
Examinons un peu plus attentivement le problème de cohérence des données.
Dans le calcul distribué, la cohérence désigne la manière dont les données sont actualisées et uniformes sur tous les réplicas d’un système. Il existe deux modèles de cohérence principaux.
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.
Les services comme Cosmos DB offrent également des modèles de cohérence intermédiaires, tels que l’obsolescence limitée, la session et le préfixe cohérent, qui fournissent différents équilibres entre les performances et l’actualisation des données.
Outils pour aller à l’échelle mondiale
Si vous constatez que vous avez vraiment besoin de mettre à l’échelle votre application à l’échelle mondiale, 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. Ce routage peut être basé sur les performances, la localisation, le round robin, etc. Une fois qu’un back-end sain est identifié, les clients se connectent toujours directement au serveur principal.
- Azure Front Door est un CDN cloud moderne et un équilibreur de charge global, 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 basé sur 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é que Azure Front Door proxys la connexion, vous pouvez effectuer certaines fonctions avancées telles que l’exécution d’un Web Application Firewall 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.
Un diagramme complet d'architecture montrant Azure Front Door et Traffic Manager au sein de la même architecture.
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.