Informatique en nuage : Conduire vos ordinateurs virtuels vers le nuage

L'exécution d'ordinateurs virtuels dans Windows Azure permet de tirer parti à la fois de la virtualisation et de l'informatique en nuage.

Joshua Hoffman

Le changement permanent est l'un des piliers de l'industrie informatique. Chaque jour voit sont lot de nouvelles technologies, de nouveaux matériel, logiciels et protocoles de communication. Cette avalanche de nouvelles technologies crée un paysage en perpétuel changement qui améliore notre conduite des affaires, notre communication et le partage de nos connaissances. Au milieu de ce tourbillon de changement, les deux transformations les plus importantes, dans le monde de l'informatique ces dernières années, ont été la virtualisation et l'informatique en nuage.

La virtualisation permet une utilisation plus efficace des ressources matérielles par les entreprises. Elle facilite une degré d'abstraction plus élevé de l'environnement logiciel par rapport à son matériel. Les serveurs existent désormais en tant que seul et unique fichier. Ils peuvent être aisément déplacés d'un élément matériel à un autre et dupliqués à volonté, et l'utilisateur peut créer une infrastructure plus évolutive et plus souple.

L'informatique en nuage a porté l'efficacité et l'agilité permises par la virtualisation au niveau supérieur. Grace aux ressources en pool, à la diversité géographique et à la connectivité universelle, l'informatique en nuage a facilité la livraison de logiciels, de plates-formes et d'infrastructure en tant que services hébergés. C'est à la fois une plate-forme à la technologie nouvelle et un nouveau modèle d'entreprise.

Avec la présentation du rôle d'ordinateur virtuel (rôle VM) sur la plate-forme Windows Azure, ces concepts puissants s'allient pour héberger une infrastructure virtuelle dans le nuage. Vous pourrez bientôt créer des ordinateurs virtuels pour Windows Azure, les déployer dans le nuage et exploiter l'infrastructure souple et évolutive, ainsi que réaliser des économies telles que le permet l'informatique en nuage.

Actuellement, Windows Azure VM Role est encore en version bêta. Pour en savoir plus sur le programme bêta, visitez le site Windows Azure. Pour postuler au programme bêta, visitez la section Programmes bêta du portail de gestion de Windows Azure. En raison de cet état bêta, les informations contenues dans cet article sur le rôle VM peuvent être amenées à évoluer.

Création pour le nuage

Le rôle VM pour Windows Azure est semblable aux autres rôles de serveur. Dans Windows Azure, les ordinateurs virtuels exécutent une version du système d'exploitation Windows Server. Ce qui rend le rôle VM différent est le fait que vous pouvez créer, personnaliser et gérer l'image du serveur pour répondre à vos besoins et à votre cahier des charges.

D'un point de vue opérationnel, il existe quelques différences dont vous devez avoir conscience lors de l'exécution de votre ordinateur virtuel dans Windows Azure au lieu d'utiliser le matériel sur site. Tout d'abord, certaines fonctionnalités en lien avec les réseaux sont restreintes. Par exemple, pour pouvoir vous servir du protocole UDP, vous devez également utiliser Windows Azure Connect. Il faut également noter qu'une instance de rôle VM dans Windows Azure ne possède pas d'état persistant.

Pour un état persistant, il est conseillé d'utiliser les services de stockage de Windows Azure en l'écrivant soit dans un blob, soit dans un disque Windows Azure. Pour plus de détails sur la marche à suivre, consultez « Comment développer un adaptateur pour un rôle VM dans Windows Azure ».

Les données écrites dans le répertoire ressource du stockage local est persistant lorsqu'une instance de serveur fait l'objet d'une nouvelle image. Vous pouvez cependant perdre ces données en cas d'échec passager dans Windows Azure qui vous demande de déplacer l'instance de votre rôle VM vers un autre équipement matériel.

Ces conditions prises en comptes, le procédé de création d'un ordinateur virtuel pour Windows Azure est semblable à celui de n'importe quel autre ordinateur virtuel. Commencez par créer un disque dur virtuel VHD de base, soit en créant un VHD vierge à l'aide Hyper-V Manager, soit en modifiant un VHD existant, ou encore en convertissant une installation de serveurs physique en un disque dur virtuel. (Pour plus d'informations, consultez « Les sources des nouveaux ordinateurs virtuels ».)

L'image de base contient le système d'exploitation (qui doit être Windows Server 2008 R2), toute personnalisation de celui-ci, ainsi que les applications dont vous avez besoin. Activez le rôle Hyper-V depuis le gestionnaire de serveur et installez également Windows Azure SDK (qui contient les composants d'intégration de Windows Azure). Il est également conseillé d'inclure le support d'installation de Windows Server 2008 R2 (généralement un fichier ISO) à l'image de base, au cas où vous en auriez besoin pour des tâches telles que l'installation de composants supplémentaires.

Installez ensuite les composants d'intégration de Windows Azure. Ceux-ci sont doivent être présents dans chaque image de serveur pour que vous puissiez télécharger cette dernière dans Windows Azure. Ces composants démarrent à chaque démarrage du système d'exploitation et intègrent celui du rôle VM avec Windows Azure.

Les composants fonctionnent avec l'équilibreur de charge pour communiquer l'état des instances. Les composants initialisent également l'ordinateur virtuel en installant des certificats et en créant des répertoires de ressources locaux basés sur les paramètres de définition de service. Les étapes détaillées de l'installation des composants se trouve dans l'article « Comment installer les composants d'installation de Windows Azure ».

Le développement d'un « adaptateur » est une étape suivante facultative dans le processus de création d'image. Lorsque vous développez et téléchargez une image de serveur personnalisée, vous installez et configurez le logiciel de manière à ce qu'il s'exécute dans l'environnement dynamique de Windows Azure. Il se peut que vous soyez amené à fournir des informations de configuration pour votre application qui peuvent ne pas être disponibles au moment du développement. Vous devrez les réunir au moment de l'exécution. Il est conseillé de configuré vos applications pour l'environnement dynamique en écrivant un adaptateur qui interagit avec Windows Azure et prépare et exécute l'application.

Pour l'écriture d'un adaptateur, deux solutions s'offrent à vous :

  • Vous pouvez écrire un adaptateur qui s'exécute pendant le passage de spécialisation. Ceci se produit pendant la configuration du système d'exploitation, après le premier téléchargement de l'image du serveur vers Windows Azure, ou après qu'une instance a fait l'objet d'une nouvelle image. Cet adaptateur peut être écrit sans nécessiter l'écriture d'un code, en utilisant une des deux approches disponibles. Exécutez un script à partir du fichier de réponse ou d'un fournisseur écrit pour l'outil de préparation du système (sysprep). Pour plus d'informations, consultez la section « Créer un projet de configuration pour l'adaptateur » de la page « Comment développer un adaptateur pour une rôle VM dans Windows Azure » de la bibliothèque MSDN.
  • Un adaptateur peut être écrit en tant que service Windows (démarrant automatiquement en même temps que le système d'exploitation). Ce type d'adaptateur peut être écrit en codé géré ou natif. Il utilise l'API du runtime de service de Windows Azure pour regrouper des données dynamiques depuis l'environnement Windows Azure. Pour plus d'informations, consultez la section « Définir ce qui se produit lorsque l'adaptateur démarre » de la page « Comment développer un adaptateur pour une rôle VM dans Windows Azure » de la bibliothèque MSDN.

La dernière étape pour préparer votre image système à être téléchargée vers Windows Azure consiste à évaluer la configuration de votre firewall dans Windows. Ouvrez les ports nécessaires à votre application une fois celle-ci en cours d'exécution sur l'instance de rôle VM dans Windows Azure. Votre service hébergé doit utiliser des ports locaux fixes. Des numéros de ports peuvent être spécifiés pour les points de terminaison définis pour tout rôle Windows Azure (que ce soit un rôle Web, worker ou VM).

Une fois les processus d'installation et de configuration terminés, la dernière étape, dans la création de l'image, consiste à la préparer pour le téléchargement vers Windows Azure. Pour ce faire, utilisez l'outil sysprep. L'outil sysprep « généralise » l'image en supprimant tout identifiant de sécurité unique (SID), permettant ainsi à Windows Azure de les rétablir en fonction des instances lorsque l'ordinateur est déployé. Pour terminer la préparation finale de l'image :

  • Ouvrez une fenêtre d'invite de commande en tant qu'administrateur :
  • Modifiez le répertoire en %windir%\system32\sysprep, puis exécutez sysprep.exe.
  • Dans la boîte de dialogue Outil de préparation système, sélectionnez Entrer en mode ODBE (Out-of-the-Box Experience) pour l'option Action de nettoyage du système.
  • Assurez-vous que Généraliser est sélectionné.
  • Sélectionnez Arrêter le système pour les Options d'extinction.
  • Cliquez sur OK.

Lorsque l'opération sysprep est terminée, l'ordinateur virtuel s'éteint. Vous pouvez désormais procéder au déploiement.

Déploiement d'un ordinateur virtuel sur Windows Azure

La première étape du déploiement de votre image système consiste à configurer les certificats de gestion et de service. Lorsque vous téléchargez un fichier .vhd dans Windows Azure, un certificat x.509 est utilisé, enregistré en tant que fichier .cer, pour l'authentification (considéré comme un certificat de gestion dans le portail de gestion Windows Azure). Si vous envisagez d'accéder à l'instance de rôle VM à distance, un certificat d'échange d'informations personnelles est également nécessaire, enregistré en tant que fichier .pfx (considéré comme un certificat de service dans le portail de gestion Windows Azure).

Vous pouvez enregistrer ces certificats vous-même. En d'autres termes, il n'est pas nécessaire de les acheter à un fournisseur tiers. Vous pouvez les créer vous-même à l'aide de l'outil makecert.exe. Pour plus d'informations concernant la création de vos certificats, reportez-vous à l'article de la bibliothèque MSDN « Comment créer un certificat pour un rôle ».

Une fois votre certificat créé, ajoutez-le au portail de gestion Windows Azure. Sélectionnez Services hébergés, comptes de stockage et CDN, puis cliquez sur Certificats de gestion ou sur Services hébergés (pour les certificats de service).

Pour télécharger le disque dur virtuel, l'identificateur d'abonnement est nécessaire. Vous pouvez copier, puis coller les informations du portail de gestion dans la ligne de commande. Pour trouver l'ID d'abonnement et l'empreinte du certificat :

  1. Connectez-vous au portail de gestion.
  2. Cliquez sur Services hébergés, comptes de stockage et CDN, puis cliquez sur Certificats de gestion.
  3. L'empreinte du certificat se trouve dans le volet des propriétés en cliquant sous la mention Empreinte. L'identificateur d'abonnement est accessible à partir de l'ID d'abonnement.

Une fois l'empreinte de certificat et l'identificateur d'abonnement trouvés, vous pouvez télécharger le disque dur virtuel.

Pour télécharger l'image :

  1. Ouvrez une fenêtre d'invite de commande Windows Azure SDK en tant qu'administrateur.
  2. Changez de répertoire en sélectionnant celui dans lequel vous avez enregistré l'image du disque dur virtuel.
  3. Définissez la chaine de connexion à l'aide de la commande suivante, puis remplacez SubscriptionId et CertThumbprint par les valeurs de votre abonnement :

csupload Set-Connection "SubscriptionId=SubscriptionId; CertificateThumbprint=CertThumbprint"

  1. Téléchargez le disque dur virtuel à l'aide de la commande suivante, puis remplace le nom de fichier et le nom affiché du disque dur virtuel :

csupload Add-VMImage –LiteralPath VHDName.vhd –Location LocationValue –Name DisplayedNameInPortal

Ceci affichera la boîte de dialogue de l'outil de vérification de disque dur virtuel de Windows Azure. Cet outil vérifie que le système d'exploitation est à l'état approprié et prêt pour le téléchargement vers Windows Azure. Cliquez sur OK pour poursuivre le processus de téléchargement.

Remarquez que les paramètres –LiteralPath et –Location (ou –AffinityGroup) sont requis. Le paramètre –Name est facultatif. Le groupe d'emplacement ou d'affinité doit correspondre à celui défini pour le service hébergé correspondant.

La création d'un modèle de service est la dernière étape du déploiement. Pour qu'une instance de rôle VM puisse être exécutée dans Windows Azure, vous devez définir le modèle de service en créant les fichiers définition de service et de configuration de service. Pour des instructions détaillées, consultez l'article Comment créer et déployer le modèle de service de rôle VM dans la bibliothèque MSDN.

Maintenant que votre ordinateur virtuel est prêt et en cours d'exécution dans Windows Azure, il est conseillé de conserver une copie local du disque dur virtuel d'origine en tant que sauvegarde sécurisée. Si, à l'avenir, vous désirez opérer des changements sur le disque dur virtuel (par exemple, appliquer des applications de mise à jour ou de mise à niveau), vous pouvez le faire en utilisant des disques de différenciation. Pour assurer le support de votre ordinateur virtuel, vous trouverez des instructions détaillées sur l'utilisation des disques de différenciation ici : « Mise en route d'une image de serveur pour un rôle VM dans Windows Azure ».

 

Joshua Hoffman

Joshua Hoffman* est l’ancien rédacteur en chef de* TechNet Magazine*. À présent auteur et consultant indépendant, il conseille ses clients sur la technologie et le marketing orienté public. M. Hoffman est également rédacteur en chef de ResearchAccess.com, un site consacré à faire croître la communauté de recherche du marché et à l'enrichir. Il habite à New York.*

Contenu associé