Archive
Bing Maps … sur France 2 au JT
Petit clin d’oeil : vous ne l’avez peut être pas vu, mais France 2 vient de virer Google Maps au profit de Bing Maps pour les vues satellite pendant le JT
© France Télévision (JT de 13h du 30/01/2012)
Quel datacenter Azure privilégier pour une application ‘française’
/* Ce billet à été corrigé pour tenir compte de la vision américaine de l’europe : L’irlande fait partie de l’europe du nord, alors que les Pays bas font partis de l’europe de l’Ouest */
Une des questions que j’entends très souvent concernant Windows Azure concerne le choix des datacenters pour déployer les applications.
Les quelques pistes que j’évoque ci-après sont basés uniquement sur des critères techniques, le cout financier n’est pas pris en compte (je vous rappelle néanmoins que les 2 datacenters asiatiques ont un cout de ressources un peu plus élevé que ceux d’Europe ou des USA).
D’autres part, les performances sont dépendantes du fournisseur d’accès de l’utilisateur (Free.fr dans le cas des mesures évoquées ci après), des conditions transitoires pouvant survenir (charge réseau, lien saturé, routage, …), mais aussi de la localisation géographique des utilisateurs (étant lyonnais, le nombre d’intermédiaires [routeur, nœud d’interconnexion, …], et le routage des mes paquets sont probablement différents d’un lillois ou d’un parisien).
Le premier niveau de choix est bien entendu le continent : il faut choisir un datacenter sur le continent où vont se trouver les utilisateurs. Si votre application est à cible continentale ou mondiale, l’utilisation du DNS dynamique (Azure Traffic Manager) avec une stratégie basée sur la performance d’accès permet de router les connexions de vos utilisateurs vers le datacenter le plus ‘proche’ (meilleur performance d’accès réseau).
Dans certain cas, par exemple pour les applications à destination d’utilisateurs irlandais ou hollandais, le choix est vite effectué : Europe de l’ouest (=Amsterdam, Pays Bas) pour les hollandais , et Europe du Nord (=Dublin, Irlande) pour les irlandais.
La question reste posée pour les pays à mi-chemin ou plus éloignés … comme la France par exemple.
Plutôt qu’une réponse théorique, privilégions la pratique !
J’ai déployé la même application ASP.NET basique sur les datacenters Azure d’Europe du nord (Irlande) et d’Europe de l’ouest (Pays Bas). Les 2 déploiements sont strictement identiques (même packaging de déploiement, même fichier de configuration).
Nous avons à notre dispositions 2 utilitaires Windows très pratique pour estimer la ‘performance d’accès réseau’ à un ‘datacenter’ :
- tracert.exe : permet d’obtenir une trace de tous les nœuds réseaux empruntés par nos paquets de données entre le poste de l’utilisateur et le datacenter cible
- ping.exe : permet d’estimer le temps de transit réseau des paquets entre le poste de l’utilisateur et le datacenter cible.
- J’ai effectué plusieurs fois les test avant de prendre les captures écrans pour être sur que les requêtes DNS (ou autres services réseaux) ne viennent pas perturber les chronométrages.
- Bien entendu, les mesures ci après ont été effectuées sans DNS dynamique.
Ping
- : ce test n’est pas utilisable avec les datacenters Azure car le firewall intégré bloque les requêtes PING/PONG. Tant pis pour les gamers qui ne jure que par le ping
Tracert :
WEST Europe datacenter NORTH Europe datacenter
Le trajet suivi par nos paquets est le même jusqu’à un nœud appelé ‘ams-ix-2.microsoft.com’. Au delà le trajet est masqué pour le datacenter d’europe de l’ouest, et guère plus significatif pour l’Europe du Nord.
Quoi qu’il en soit , quel que soit le datacenter cible, nous passons par Amsterdam (ams-ix-2 est iplocalisé a Amsterdam) !
La logique technique pure et dure veut que le datacenter hollandais soit à privilégier du fait de sa proximité.
Ce choix semble d’autant plus judicieux que la route pour rejoindre le datacenter irlandais passe elle aussi par les Pays Bas !
Dernier test : le chronométrage de l’application à partir d’un poste utilisateur : on appelle la même page de l’application (about.aspx) sur les 2 datacenters, et on compare le temps nécessaire pour obtenir la réponse complète. Les machines virtuelles exécutant les applications Azure sont basées sur des matériels équivalents, la différence de chronométrage sera donc du fait de l’infrastructure réseau.
Le chronométrage a été effectué a l’aide de la “developper toolbox” d’IE9 (et confirmer par un test batch), avec le cache navigateur actif. Les 2 captures qui suivent correspondent à la moyenne des chronométrages observés :
WEST Europe datacenter NORTH Europe datacenter
Verdict :
Europe du Nord (Irlande) : ~300ms
Europe de l’Ouest (Pays Bas) : ~ 90ms
Donc, dans les conditions de réalisation de mon test (à partir de Lyon, ADSL Free) , l’hébergement de l’application dans le datacenter hollandais d’Azure (c’est à dire dans la vision américano centrique , le datacenter « d’Europe de l’Ouest » me fournit un temps de réponse globalement au moins 3 fois meilleurs !!
Le datacenter Hollandais (d’Europe de l’Ouest) est donc à privilégier.