Aller au menu - Aller au contenu

Icône Comprendre le fonctionnement de Windows Azure

Avatar
Mise à jour : 01/08/2011
Difficulté : Intermédiaire Intermédiaire Creative Commons BY
539 visites depuis 7 jours, dont 109 sur ce chapitre classé 211/786
Vous voici prêts à vous lancer dans la découverte de Windows Azure !
Ce premier chapitre sera entièrement théorique. Le but est pour l’instant de bien comprendre comment fonctionne Azure, et quels en sont les avantages.
Sommaire du chapitre :
Icône du chapitre
Sommaire Chapitre suivant

Introduction au cloud computing

Commençons par répondre aux questions que vous devez vous poser : qu'est-ce que Windows Azure ? Et surtout : qu'est-ce que le « cloud » ?


En français, cloud signifie nuage. Vous avez peut-être déjà croisé ce terme, on en entend de plus en plus parler, et pour cause : cela apporte tout un tas d’avantages que nous allons découvrir ensemble.
Basiquement, ce qu'on appelle le cloud est un système permettant de faire fonctionner plusieurs serveurs ensemble.

Datacenter

Pour bien comprendre, prenons l'exemple d'un site web classique. Il est hébergé sur un serveur que l'on a choisi pour ses caractéristiques techniques, comme l'espace de stockage du disque dur, la puissance de la base de données, etc.
Lorsqu'un visiteur souhaite consulter ce site, il communique directement avec le serveur grâce au réseau Internet.

Ce serveur est installé quelque part dans ce que l'on appelle un datacenter, ou « centre de données » en français. Ce sont des entrepôts adaptés où sont rassemblés des centaines, voire des milliers de serveurs. C'est dans le datacenter appartenant à notre hébergeur que se trouve un serveur précis hébergeant notre site. Les visiteurs communiqueront donc toujours avec la même machine lorsqu'ils souhaiteront consulter le site.




Site Classique
Site avec un hébergement classique



Dans le cas du cloud, la différence est qu'on ne travaillera pas toujours avec le même serveur. Au lieu de dépendre constamment de la même machine, notre site web va être enregistré sur une machine virtuelle, c'est à dire dans un environnement 100% logiciel, indépendant du matériel. C'est un peu comme un système « portable », qui peut être exécuté n'importe où.
Imaginez que vous ayez avec vous une sauvegarde de tout ce que vous possédez sur votre ordinateur personnel, et que vous puissiez utiliser cette sauvegarde à partir de n'importe quel autre ordinateur. Vous retrouveriez ainsi tous vos logiciels, fichiers, préférences... jusqu'au fond d'écran de votre bureau ! Ici, il s'agit du même principe. L'ensemble qui permet de faire tourner votre application web est composé de certains programmes (serveur web, programme PHP, etc) et fichiers (les pages de votre site, images, etc). Cet ensemble est installé sur une machine virtuelle, que l'on peut donc utiliser à partir de n'importe quel ordinateur !
Cela vous permet de rendre votre site disponible sur des serveurs différents.


Comment les visiteurs vont trouver mon site si on ignore sur quel serveur il est ?


C'est là qu'entre en scène ce qu'on appelle le cloud. Il s'agit en fait d'un système qui s'étend sur plusieurs datacenters et qui permet de faire fonctionner les différents serveurs ensemble. C'est ce système qui va acheminer les visiteurs jusqu'au bon serveur selon leur demande.



Site Cloud
Site avec un hébergement cloud




Et à quoi ça sert d'avoir mon site sur plusieurs serveurs ?


L'intérêt est d'améliorer les performances de votre site. Il sera affiché plus rapidement chez la plupart des visiteurs, parce que plusieurs serveurs travaillent mieux qu'un seul ! Grâce à ce mode de fonctionnement, votre application n'a plus ou presque de limites de performances, les ressources utilisées peuvent évoluer. Bien sûr, avec Windows Azure il est possible d’agir sur toutes ces informations et de les paramétrer, afin d’obtenir un hébergement qui soit personnalisé en fonction de vos besoins. Et c’est justement ce qui fait tout l’intérêt du cloud : vous disposez d’une grande souplesse puisque vous ne dépendez pas d’une seule machine aux caractéristiques bien définies.
Vous bénéficiez également de l'étendue de la plateforme Azure à travers le monde. En effet, Microsoft propose pas moins de 6 datacenters dédiés à Windows Azure, répartis à divers endroits du globe.
Ainsi, chaque visiteur communiquera sans le savoir avec un serveur situé dans le datacenter le plus proche de lui. Les données lui parviendront donc plus rapidement.


Datacenters Azure
Les datacenters Windows Azure

Les avantages

Certains avantages du cloud sont directement liés à la possibilité de pouvoir utiliser plusieurs machines virtuelles sur des serveurs différents. D'autres consistent en une simplification des tâches à effectuer, grâce au fonctionnement de la plateforme Azure, qui gère à votre place la majeure partie des étapes de configuration nécessaires.


Adapter les capacités de l'hébergement à vos besoins réels


Le premier de ces avantages, c’est le fait de pouvoir adapter les capacités matérielles et logicielles à vos besoins réels.
Il est ainsi plus facile de faire face à ce qu’on appelle la « montée en charge ».

La montée en charge, c’est tout simplement l’augmentation des performances nécessaires pour faire tourner votre application. Parce que vous avez davantage d’utilisateurs, parce que vous fournissez des services plus nombreux ou plus gourmands en mémoire… Votre application pourra monter en charge progressivement sur le long terme, puisqu’elle gagnera en nombre d’utilisateurs. Mais elle pourra également avoir des « pics » de montée en charge sur des périodes temporaires.
Prenez l’exemple d’une boutique en ligne. Vous aurez forcément certaines périodes beaucoup plus actives que d’autres dans l’année, notamment à l’approche des fêtes de fin d’année par exemple. Lors de ces périodes, vous aurez plus de visiteurs, plus de transactions, plus de pages affichées… Votre application sera donc beaucoup plus gourmande en mémoire, bases de données, etc.



Montée en charge d'une application classique
Montée en charge d'une application classique



Avec un hébergement classique, si vous souhaitez prévoir ce genre de cas, vous devez payer un serveur suffisamment puissant pour encaisser la montée en charge. Votre application est ainsi capable de résister aux périodes de forte charge, mais le reste du temps vous aurez un « gâchis » de performances, puisque vous n’exploitez pas les pleines capacités du serveur. Vous payez donc un produit que vous n’exploitez pas autant que possible.

Avec Azure, vous pouvez adapter les capacités de votre hébergement à vos besoins en temps réel et donc les réduire lorsque la charge de votre application redescend. Vos dépenses sont alors réduites.
Vous êtes également capable de réagir rapidement et facilement à toute montée en charge, prévue comme imprévue. Un hébergement classique vous imposerait de changer de serveur et donc migrer votre application et vos données, ou bien rajouter des serveurs afin de répartir la charge (et donc configurer l’infrastructure réseau permettant à vos serveurs de travailler ensemble correctement). Un hébergement cloud à l’image de Windows Azure vous permet d’augmenter les capacités simplement et rapidement, sans avoir à gérer l’infrastructure ni les serveurs. Vous n’avez à vous préoccuper de rien, sauf de décider qu’il vous faut plus de puissance. En un clin d’œil, votre application est capable de résister à la montée en charge.



Montée en charge d'une application cloud
Montée en charge d'une application Windows Azure




Assurer la disponibilité de l'application


En plus de la possibilité de faire évoluer facilement les capacités de votre hébergement, Azure vous permet une meilleure stabilité. Travailler avec plusieurs serveurs représente ici une sécurité. En effet, dans le cas d'un hébergement classique, si votre serveur tombe en panne pour une raison ou une autre, plus personne ne pourra accéder à votre site. Il vous faudra attendre que le serveur soit réparé pour que le site soit de nouveau accessible.
Avec Azure, si vous utilisez plusieurs serveurs et que l'un d'entre eux vient à tomber en panne, un autre peut prendre le relais automatiquement, sans engendrer d'indisponibilité ni de ralentissement sur votre site.




Vous concentrer sur votre application plutôt que sur l'infrastructure


Enfin, un autre avantage concerne les applications plus conséquentes, celles qui sont trop grosses et trop gourmandes en mémoire pour tenir sur un seul serveur. On ne parle donc pas ici d'un petit site perso, mais plutôt d'une application avec beaucoup d'utilisateurs et de fonctionnalités, suffisamment pour rendre nécessaire l'utilisation de plusieurs serveurs travaillant ensemble constamment.

Ce genre de configuration est tout à fait possible sans avoir recours au cloud, mais elle implique de travailler longuement sur l'infrastructure, la configuration réseau, les logiciels que vous installez sur les différentes machines, les capacités techniques de ces dernières et la façon dont elles vont échanger l'information entre elles. Vous l'aurez compris, c'est quelque chose qui prend beaucoup de temps, et qui demande pas mal de connaissances spécifiques.

L’intérêt d’héberger une application « sur le nuage », c’est que vous n’avez pas à vous préoccuper de l’endroit où elle sera stockée, ni de la façon dont elle sera stockée. Windows Azure gère pour vous l’aspect logiciel, matériel et réseau, et ce même si votre application demande de très fortes ressources matérielles. Vous n’avez qu’à consacrer votre temps à votre application en elle-même.
Vous gérez le « quoi ». Azure gère le « où » et le « comment ».


En conclusion, votre hébergement cloud sur Azure vous permet :
  • Une plus grande réactivité : vous pouvez faire évoluer les capacités de votre hébergement très rapidement, à la demande.
  • Des économies : vous n'utilisez (et ne payez) que les ressources dont vous avez réellement besoin.
  • Une meilleure stabilité : vous êtes à l'abri si un serveur vient à planter.
  • Un gain de temps : vous pouvez vous concentrer sur votre application et vos données plutôt que sur l’infrastructure.

La plateforme Windows Azure

Nous l’avons vu, Windows Azure est une plateforme dédiée à l’hébergement cloud proposé par Microsoft. On en comprend le but, mais en pratique : comment cela fonctionne ?


Windows Azure rassemble plusieurs services pouvant travailler ensemble ou indépendamment, chacun ayant un rôle précis :
  • Windows Azure : principal composant de la plateforme Azure, il s’agit en fait d’un système d’exploitation, adapté au cloud et installé sur les serveurs de Microsoft.
  • SQL Azure : il s’agit de la version cloud du SGBD de Microsoft, SQL Server.
  • Azure AppFabric : fournit les outils pour créer des applications cloud avec des fonctionnalités avancées, ou des applications « hybrides » exécutées en partie sur le cloud et en partie sur serveur dédié ou privé.



Windows Azure


logo Windows Azure

Comme tout système d’exploitation, il permet d’utiliser le matériel mis à disposition sans avoir à se préoccuper des caractéristiques techniques ni de l’infrastructure. Il fournit ce qu’on appelle une « abstraction » de l’infrastructure. Le rôle de Windows Azure est de gérer un système pouvant s’étendre à plusieurs serveurs fonctionnant ensemble (c’est ce qu’on appelle le cloud), afin de :

  • stocker des données
  • exécuter des applications

Ce système fournit deux services principaux, indépendants l’un de l’autre : Compute et Storage.


Compute : service d’exécution


Ce service se base sur des rôles. Les rôles sont en quelque sorte des applications que l'on va créer sur notre plateforme Azure. Il existe deux types de rôles :
  • Les Web Role : comme leur nom l’indique, ce sont des applications dont le but est d’interagir avec des utilisateurs via le web. Par exemple, un site internet, une boutique en ligne ou une interface utilisateur sont des Web Role.
  • Les Worker Roles : ceux-là ne sont pas faits pour être en interaction avec l’utilisateur, mais plutôt pour effectuer des tâches de fond, comme par exemple de la manipulation de fichiers.

Les Web Roles ne servent pas qu'à héberger des sites web ! Par exemple, on fait généralement la différence entre un site web et une application web.
Le site est simplement fait pour publier de l'information (textes, images, etc). L'application est faite pour autre chose de généralement plus complexe (traitement de fichiers, envoi d'e-mails, etc). On nomme alors interface la partie de cette application qui est visible par l'utilisateur.


Pour un site simple, on aura simplement besoin d'un Web Role. Mais selon les besoins, il peut arriver qu'un Web Role communique avec un Worker Role pour lui envoyer des instructions.

Prenons l'exemple d'une application web destinée à gérer des fichiers à distance, via une interface dans votre navigateur. Cette interface serait basée sur un Web Role, vous permettant de créer tout ce que verront vos utilisateurs.
Par contre, le travail effectué par l'application étant essentiellement de la manipulation de fichiers (renommer un dossier, déplacer ou supprimer un fichier, envoyer de nouveaux fichiers sur le serveur, etc), il sera effectué par un Worker Role, qui recevra ses ordres directement du Web Role.


Web role et Worker role



Pour savoir tirer parti de Windows Azure au maximum, l’essentiel est de comprendre le fonctionnement des rôles. Un rôle s’exécute en fait dans une machine virtuelle, et non pas directement sur un serveur physique. Cette machine virtuelle peut être installée à l'identique sur plusieurs serveurs différents, ce qu’on appelle des instances. Multiplier le nombre d’instances d’un même rôle revient à améliorer ses performances. Un peu comme si vous aviez plusieurs ouvriers travaillant ensemble à la même tâche plutôt qu’un seul : le travail est effectué plus rapidement.
Pour chaque rôle, on pourra donc décider du nombre d’instances que l’on veut déployer, en fonction des besoins. Vous pourrez en ajouter ou en enlever chaque fois que nécessaire, afin d’adapter les ressources dont vous disposez à la charge réellement demandée par votre application.



Storage : service de stockage de données


Le service de storage est donc la partie du système Windows Azure qui va s'occuper de stocker des données. Il fonctionne via plusieurs outils, adaptés aux différents types de données que l'on peut manipuler :
  • Blobs : stockage de fichiers.
  • Tables : enregistrement de données sous la forme nom / valeur.
  • Queues : transmission d’informations entre rôles (ex : instructions données à un worker role par un web role).


SQL Azure


logo SQL Azure


C'est l'équivalent cloud du SGBD Microsoft SQL Server. À quelques différences près, le fonctionnement est identique à celui d'une base de données classique via SQL Server. La principale nouveauté est que vous bénéficiez ici des avantages du cloud Azure :

  • Souplesse : vous pouvez faire varier la taille de la base de données utilisée pour adapter vos dépenses à vos besoins.
  • Réplication : de la même manière que la multiplication des instances pour un rôle, la réplication vous permet d'avoir plusieurs copies de votre base de données, qui travaillent ensemble. Vous gagnez ainsi en rapidité et en stabilité.
  • Sauvegardes automatiques : plus besoin de sauvegarder vous-même votre base de données, SQL Azure s'en charge pour vous !


Azure AppFabric


logo Azure AppFabric


Azure AppFabric permet la création d'applications cloud avec des fonctionnalités avancées, ou la création d'applications "hybrides", c'est-à-dire exécutées en partie sur le cloud et en partie sur serveur dédié ou privé.


Combien coûte un hébergement Windows Azure ?

On l'a dit, le concept de l'hébergement cloud, c'est d'adapter votre consommation logicielle et matérielle à vos besoins réels. Le but étant évidemment de ne payer que ce dont vous avez besoin, ni plus ni moins.
La plateforme Windows Azure vous permet de payer à l'usage ou bien de souscrire à un abonnement. Le paiement à l'usage vous permettra d'ajuster en temps réel les ressources que vous utilisez, et donc votre facture. Les abonnements, moins flexibles, représentent cependant une réduction pouvant aller jusqu'à 20% du prix, ce qui n'est pas négligeable. ^^


Paiement à l'usage




Windows Azure


  • Calcul
    • Très petite instance : 0,0355 € par heure
    • Petite instance (par défaut) : 0,0852 € par heure
    • Instance moyenne : 0,1703 € par heure
    • Instance large : 0,3405 € par heure
    • Instance extra-large : 0,6809 € par heure

  • Réseau virtuel
    • Windows Azure Connect - Gratuit pendant la version préliminaire CTP

  • Stockage
    • 0,1064 € par gigaoctet et par mois
    • 0,0071 € pour 10 000 transactions de stockage

  • Réseau de distribution de contenu
    • 0,1064 € par gigaoctet pour les transferts de données depuis l'Europe et l'Amérique du Nord
    • 0,1419 € par gigaoctet pour les transferts de données depuis tout autre pays
    • 0,0071 € pour 10 000 transactions



Azure AppFabric


  • Access Control
    • 1,4114 € pour 100 000 transactions

  • Service Bus
    • 2,8298 € par connexion avec paiement à l'utilisation
    • Pack de 5 connexions 7,0566 €
    • Pack de 25 connexions 35,2827 €
    • Pack de 100 connexions 141,1308 €
    • Pack de 500 connexions 705,654 €

  • Mise en cache
    • 128 Mo de cache pour 31,914 €
    • 256 Mo de cache pour 39,006 €
    • 512 Mo de cache pour 53,19 €
    • 1 Go de cache pour 78,012 €
    • 2 Go de cache pour 127,656 €
    • 4 Go de cache pour 230,49 €



SQL Azure


  • Web Edition
    • 7,085 € par base de données, jusqu'à 1 Go par mois
    • 35,425 € par base de données, jusqu'à 5 Go par mois

  • Business Edition
    • 70,913 € par base de données, jusqu'à 10 Go par mois
    • 141,826 € par base de données, jusqu'à 20 Go par mois
    • 212,739 € par base de données, jusqu'à 30 Go par mois
    • 283,652 € par base de données, jusqu'à 40 Go par mois
    • 354,565 € par base de données, jusqu'à 50 Go par mois



Transfert de données


  • Régions Amérique du Nord et Europe
    • 0,071 € par gigaoctet entrant
    • 0,1064 € par gigaoctet sortant

  • Région Asie-Pacifique
    • 0,071 € par gigaoctet entrant
    • 0,1419 € par gigaoctet sortant





Abonnements


Selon l'usage que vous souhaitez faire du cloud, Microsoft propose différents abonnements.
Si vous dépassez les limites de capacités de l'abonnement pour lequel vous avez opté, il vous faudra payer un supplément basé sur la tarification à l'usage.


Pack Windows Azure


C'est le pack de base, qui permet de déployer des applications sur le cloud. Attention, il ne comprend pas de base de données, si vous souhaitez en utiliser une il vous faudra payer un supplément.
À partir de 51,06 € / mois. Valable 6 mois renouvelables une fois.

Détail de l'offre Pack Windows Azure


Pack SQL Azure


Ce pack vous permet un accès à une base de données SQL Azure. Vous pourrez le coupler avec le pack Windows Azure, ou l'utiliser seul si votre but est simplement de stocker des données sur le cloud et non une application complète.
À partir de 56,73 € / mois. Valable 6 mois renouvelables une fois.

Détail de l'offre Pack SQL Azure

Vous savez maintenant ce qu'est le cloud, et comment fonctionne Windows Azure ! Nous allons pouvoir passer aux choses sérieuses dès le prochain chapitre.
Sommaire Chapitre suivant

Partager

4 commentaires pour "Comprendre le fonctionnement de Windows Azure"
Note moyenne : 2.20 / 4 (99 votes)
Pseudo Commentaire
Hors ligne Naoki-kun # Posté le 02/08/2011 à 21:41:07
EvoluNoob Admin
Avatar

Ville : La combelle
Pays : France métropolitaine

Bon tutoriel, mais pour ma part, je resterai pour le moment sous OVH, car très satisfait de leur hébergement, et il faut un budget un peu plus élevé pour opter pour Windows Azure :).

Bon tutoriel, bien expliqué, détaillé...un must pour ceux qui hésitent encore à passer au Cloud !

J'IRAI AU PLUS PROFOND DES RÊVES CHERCHER CE QUE SES LÈVRES N'OSERONT JAMAIS DIRE À SES ENVIES !
 
Hors ligne pécora # Posté le 15/08/2011 à 19:55:00

Ville : Corminboeuf
Pays : Suisse

Citation : Microsoft
L’intérêt d’héberger une application « sur le nuage », c’est que vous n’avez pas à vous préoccuper de l’endroit où elle sera stockée, ni de la façon dont elle sera stockée. Windows Azure gère pour vous l’aspect logiciel, matériel et réseau, et ce même si votre application demande de très fortes ressources matérielles. Vous n’avez qu’à consacrer votre temps à votre application en elle-même.
Vous gérez le « quoi ». Azure gère le « où » et le « comment ».

C'est un peu le principe de tous les services d'hébergements web, qu'ils soient "sur le nuage" ou pas, non?! :euh: Après c'est vrai que c'est un avantage par rapport à celui qui utilise son propre serveur, mais dans ce cas il l'a sûrement fait parce que ça lui plaisait et ce n'est pas une préoccupation ni considéré comme une perte de temps.

Par ailleurs je trouve que ce tutoriel est un peu trop publicitaire !
Hors ligne kevin56140 # Posté le 28/02/2012 à 16:54:59
Avatar

Avis : Très bon

Bon tutoriel très explicite et cela permettra à beaucoup je pense de comprendre l'avènement du Cloud Computing
Hors ligne revan # Posté le 06/05/2012 à 14:43:36
Avatar

Études : EPFL

Je suis tout-à-fait d'accord avec pécora sur le fait que ce tuto à des allures de grosse publicité pour Windows Azure. Windows Azure fait ci, Windows Azure fait ça, Windows Azure fait aussi ça, pour finalement exposer des concept qui ne sont pas propres à Windows Azure mais au cloud en général. Aucune alternative n'est ne serais-ce que mentionnée.

Ça pourrait être un très bon tuto sur le cloud, avec mise en pratique par Windows Azure, mais c'est plus un "how to get started" qui pourrait figurer sur leur site officiel.

Il faudrait selon moi au moins mentionner d'autres services de cloud, et ils sont nombreux. Et souvent moins chers.
À moins que ce tuto ne soit subventionné par Microsoft...

« Si les gens ne croient pas que les mathématiques sont simples, c’est unique- ment parce qu’ils ne réalisent pas à quel point la vie est compliquée. » — John Von Neumann.
 

Voir tous les commentaires