Archive

Posts Tagged ‘Azure’

Stockages et manipulations des données dans Microsoft Azure

Dans le cadre de mes activités en clientèle, j’ai très souvent des remarques concernant le stockage ou la manipulation des données dans Azure. Remarques ayant souvent pour source la méconnaissance de la plateforme. A décharge de mes contacts, Azure évoluant très vite et de nouvelles fonctionnalités étant ajoutées régulièrement il n’est pas forcement facile d’être systématiquement à jour !

D’où ce billet pour recenser les différentes options de stockage et manipulation de données disponible dans Azure.

La plateforme de cloud computing Azure de Microsoft fournit donc de multiples fonctionnalités de stockage. Des plus classiques (comprendre historique) aux plus récentes, commercialisées ou non par Microsoft.

A noter que certaines des options évoquées ci-après ne sont pas obligatoirement accessibles dans les 2 portails de gestion de vos sousciptions Azure (l’officiel http://manage.windowsazure.com, ou celui en beta : http://portal.azure.com/)

 

Par Microsoft dans Azure :

  • SQL Azure (relationnel en mode ‘cloud’ SAS, compatible SQL Server)
  • SQL Server (relationnel en mode serveur dans une/des machine(s) virtuelle(s))
  • Azure Storage 
    • Blob : stockage de donnée ‘binaire’ avec metadata. Utilisable en acces type « stream » ou direct (disque)
    • Queue : file de messages
    • Table : stockage de données non relationnel, par entité/colonne, schéma libre, requêtage limité, haute performance, grand volume de données, support transactionnel limité.
  • HDInsight : stockage HBase (nosql, transactionnel avec faible latence), prioritairement destiné à être exploité à travers Hadoop pour la manipulation et l’analyse de données façons ‘BigData’
  • Cache (en Preview) : base de donnée clé/valeur en mémoire, basé sur Redis
  • DocumentDB (en Preview) : base de données NoSQL orienté document en mode SAS.
  • Azure Search (en Preview) : moteur d’indexation en mode SAS (accessible uniquement sur le portail beta http://portal.azure.com ). Permet d’indexer vos jeux de données et fournit des fonctionnalités de type intellisense, correction orthographique, recherches par synonymes ou approchants.
  • StorSimple : stockage avec appliance hardware local jouant le rôle de cache avec débord persistant dans Azure. Permet d’avoir de gros volume de données stockés dans Azure avec un cache local dans votre infrastructure afin d’optimiser les temps d’accès et donc améliorer les performances des vos applications.
  • Recovery Service : destiné à archiver et gérer les backups de vos systèmes

 

Par Microsoft hors Azure :

  • OneDrive (indirectement via les apis)
  • Office365 (Sharepoint)

 

Autres éditeurs  avec facturation et réservation totalement ou partiellement intégrée (se reporter aux sites des éditeurs pour plus d’informations) :

  • ClearDB : base de données relationnelle compatible MySQL en mode SAS.
  • MongoDB : (edition Enterprise) base de données noSQL orienté document en mode SAS
  • MongoLab : autre commercialisation de MongoDB  en mode SAS.
  • RavenDB : base noSQL orienté document en mode SAS
  • Oracle DB 12c Standard/Enterprise Edition + Windows Server 2012
  • Oracle DB 11g R2 Standard/Enterprise + Windows Server 2008 R2
  • Oracle DB 11g Standard/Enterprise + Windows Server 2008 R2
  • Oracle DB 12.1.0.1 + Oracle Linux 6.4

 

 

En se référant au classement de db-engines.com (http://db-engines.com/en/ranking), on constate qu’Azure supporte donc directement 4 moteurs de bases de données du TOP5 . A noter que même si PostgresSQL (ainsi que d’autre bases de données plus exotiques) ne sont pas directement accessible à partir du portail de services Azure, il est tout à fait possible de déployer déployer ces bases sur une machine vituelle en mode IaaS (windows ou linux).

Au final, Azure supporte donc 100% des bases de données du TOP 5 db-engines.com.

dbenginesseptembre2014

 

Attention : la plupart des services évoqués ci-avant ont un coût d’utilisation variable. Reportez-vous aux conditions d’utilisations ou de vente de ces services pour obtenir les informations de tarifications officielles.

Un datacenter en container Made by Microsoft for Azure

Wired vient de publier quelques (trop) rares photos d’un DataCenter Windows Azure à base de container : http://www.wired.com/wiredenterprise/2013/02/boydton/ . Il s’agit du datacenter de Boydton en Virginie (USA) ouvert l’an dernier.

Chaque container est bien un “mini DataCenter in a box”.

Cette vision des datacenters à base de container est très bien expliquée dans la petite vidéo suivante :

 

D’autre Datacenter Azure sont d’une architecture plus classique. Ainsi, en Europe, les datacenters reste des équipements d’architecture plus ‘classique’ :
le datacenter Windows Azure de Dublin (Irlande).
Catégories:Windows Azure Tags:,

Team Foundation Service (ex tfspreview.com) et l’erreur TF30063

Je viens de me frotter à l’erreur TF30063 (“you are not authorized to access https://xxxx.visualstudio.com/defaultcollection.") remonté par Visual Studio (2010 et 2012) lorsque je tentai de me connecter à un TeamProject présent dans mon server TFS hosté dans azure (visualstudio.com).

Ce problème est apparu assez subitement et simultanément sur mon poste W8/VS2012 et W7/VS2010. Je n’ai pas identifié l’origine exacte du soucis.

Quoi qu’il en soit la cause du refus d’authentification à l’air lié à la présence d’un cookie d’authentification LiveID qui reste dans le cache.

La suppression des cookies au niveau d’Internet Explorer n’a rien donné, l’erreur se produisait toujours.  La déconnexion explicite de mon LiveID à partir de mon navigateur n’a pas mieux marché.

En fait, il faut bien se déconnecter de LiveId … mais à partir d’un navigateur qui tourne DANS VISUAL STUDIO !!! La marche à suivre est donc la suivante :

  • lancez votre VisualStudio (2010 ou 2012)
  • ouvrez un navigateur via le menu “View / Other window / Web Browser”
  • naviguez sur live.com et deconnectez vous.
  • naviguez sur VOTRESERVEUR.visualstudio.com (si par hasard vous êtes connecté automatiquement déconnectez vous explicitement de votre server TFS en cliquant sur votre login en haute à droit de la page web, puis “Sign out”).
  • reconnectez vous avec votre LiveID qui dispose des droits dans le serveur TFS.

Voilà, ca vous évitera de perdre de précieuses minutes de codage pour une simple histoire de gâteau. A la place, prenez une pause café … avec un cookie c’est délicieux.

Catégories:Visual Studio Tags:, ,

Précisions sur les différences entre les tailles de VM Azure : Bande passante réseau

Outres les différences connues entre les type de VM Azure (taille mémoire, taille disque, nombre de coeur CPU), une autre caractéristique technique est différentiente : la bande passante réseau disponible. En effet, la vitesse de la connectivité réseau (bien que virtuelle) est différente en fonction de la taille de la VM. La règle est de 100Mbs par cœur de CPU, sauf pour l’ExtraSmall.

Extra small :     5Mbs          
Small : 100Mbs
Medium : 200Mbs    
Large : 400Mbs
ExtraLarge : 800Mbs
        

 

En conséquence, si vous avez à effectuer des taches peu consommatrice en temps CPU mais nécessitant un gros débit réseau, il peut être judicieux de choisir des tailles de VM plus grosses. les VM ExtraSmall était clairement destiné à des petites applications ou pour faire du développement/test.

Catégories:Windows Azure Tags:, ,

Investissement sur le Datacenter Azure de Dublin

Depuis plusieurs mois, lors des formations Windows Azure que je dispense, j’évoque souvent les datacenters Azure, dont celui de Dublin (Irlande) que j’ai eu la chance de visiter fin 2011.

Pour compléter mes propos (et les confirmer Smile ), Microsoft vient d’annoncer un investissement très important sur la DataCenter de Dublin : http://blogs.msdn.com/b/windowsazurefrance/archive/2012/02/23/microsoft-investit-130-millions-de-dollars-pour-son-datacenter-de-dublin-en-irlande.aspx

L’article est très intéressant car il met en évidence certains choix effectués par Microsoft (notamment le refroidissement par exemple).

Baisse de prix SQL Azure

L’équipe Azure vient d’annoncer une baisse plus que significative des tarifs des bases de données SQL Azure à partir de 5go (réduction minima de 48% !!), ainsi qu’une nouvelle taille minimale de 100Mo. Les nouveaux tarifs mensuels sont donc :

     100Mo       3,55€  (nouveau)
    1Go       7,09€  (-0%)  
    5Go     18,43€  (-48%)
  10Go     32,60€  (-54%)
  25Go     53,85€  (-75%)
  50Go     89,27€  (-75%)
100Go   124,70€  (-65%)
150Go   160,12€  (-55%)

On notera que l’offre promotionnelle qui fixait le prix des bases 100Go & 150Go au même prix que la base de 50Go (voir ce billet) est terminée… mais le nouveau prix est beaucoup plus intéressant puisque la 150Go au nouveau tarif coute deux fois moins cher que la 50go a l’ancien tarif Sourire

Conséquence:

  • SQL Azure pour la gestion des sessions ASP.Net devient encore plus intéressant face à l’utilisation du cache distribué AppFabric (baisse du cout de stockage d’une session)
  • SQL Azure reprend de la crédibilité sur le rapport cout du stockage/cout de développement par rapport à l’utilisation des Azure Storage Table pour des volumes de stockages de l’ordre des plusieurs Go.
    Je rappelle en outre que ces tarifs sont basés sur le volume de données stockées, et que vous bénéficier automatiquement de l’ensemble des nouvelles fonctionnalités au fur et à mesure qu’elles sont activées en production (Fédération, portail d’administration, …)
Catégories:Windows Azure Tags:,

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).

trafficrule

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).

AzureService

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

Smile

Tracert :

tracert-EU-WESTtracert-EU-NORTH
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 :

Chono-EU-WESTChono-EU-NORTH
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.

Suivre

Recevez les nouvelles publications par mail.