Le mieux lorsque l’on s’adresse à des IT Pro est de prendre des cas réels, ceux que nous avons tous vécu de nombreuses fois dans notre vie d’informaticien.
Le scénario que je vous propose ici est très commun. Il s’agit pour une équipe informatique de monter un lab pour la migration (disons montée de version) d’une application dans l’entreprise, Microsoft ou non.
Dans une approche classique, le chalenge va donc consister pour les équipes IT à monter sur son serveur de virtualisation un nombre important de VMs, chacune représentant un rôle applicatif, permettant ensuite de simuler le tout. Comme toujours, ces tests vont commencer par des tests fonctionnels, puis petit à petit l’on va vouloir tester en conditions réelles, c’est à dire grande quantité de données puis on va finir avec un test de montée en charge.
Pour cela, nous allons utiliser les investissements déjà réalisés dans le passé, c’est à dire les serveurs, disques, salles informatiques etc. Si les serveurs sont peu utilisés (ne le dite pas à votre directeur financier !!!) nous allons avoir de la ressource (CPU, RAM).. mais finalement nous aurions pu avoir mieux si nous avions acheté ce serveur aujourd’hui et non il y a 6 mois (évolution technologique oblige)… mais si le serveur de virtualisation est chargé, alors cela va être plus difficile (sous dimensionnement mémoire, etc) pour atteindre ses objectifs, et potentiellement réduire la qualité de la mission.
Dans ce blog, je vais vous montrer quel pourrait être l’expérience dans Azure, et aller certaines fois dans des parties techniques comme le Scripting en powershell pour vous montrer comment toutes ces barrières sautent avec Azure !
Calibrer son Lab
Comme indiqué précédemment, souvent le projet ne peut pas acheter de nouveau matériel, et va réutiliser celui déjà existant dans l’entreprise. Quand le matériel est un peu ancien ou chargé, cela revient à “utiliser ce qui reste” de puissance, c’est à dire pas grand chose. Ceci peut entrainer une grande frustration des IT Pro, qui se doivent de “valider” que cette migration va bien se passer, et ont donc le sentiment légitime que les moyens techniques ne sont pas suffisants.
Calibrer son lab avec Azure …
Avec Azure, vous avez la possibilité d’utiliser la puissance que vous souhaitez.
Les machines vont aller de 2 Go de RAM avec 1 CPU, à 8 CPU pour 56 Go de RAM.
Ensuite, vous allez être capable de les créer en seulement quelques minutes.
Enfin, vous avez un large choix d’images d’installation.. Windows et Linux, mais aussi des images contenant des applications… et vous pouvez même télécharger dans votre espace vos propres VMs (avec vos propres bundle applicatifs).
… jusque la c’est de la technique… Mais c’est déjà très bien car vous avez “Ce dont vous rêvez”.. en fait vous avez simplement “ce dont vous avez besoin mais ne pouvez justifier l’investissement sur le projet !!”.
Ceci est possible car la tarification d’Azure est à la minute de consommation.
Alors que sur une approche classique vous avez acheté vos serveurs pour 3 ans (amortissement)“…alors faut bien les utiliser…”, avec Azure vous montez votre environnement, vous consommez la puissance nécessaire… et quand vous avez terminé vous arrêtez ces machines, elles coûtent ZERO !! (la vous pouvez en parler à votre directeur financier !).
Cela veut dire que le soir, à 18H00 vous arrêtez vos machines de rêves (puissantes, performantes)… et les redémarrez le lendemain à 9H00 … et elles ne vous ont rien coûté pendant ce temps la… Si vous aviez utilisé des serveurs internes à l’entreprise, cela vous aurait couté – au delà de l’achat – en consommation électrique, salle informatique, etc..
Créer ses VMs
Dans une infrastructure Classique, il va falloir insérer les DVDs, lancer la configuration, attendre que cela s’installe Etc.
Si il s’agit d’un environnement à configurer une fois, cette tâche ne va pas être trop rébarbative, mais si il fallait le refaire régulièrement ? Et si cet environnement demandait de nombreuses VM, disons 10 ?
Créer ses VMs avec Azure …
Le portail Azure permet de créer ces VMs bien évidement. C’est très interactif.
Dans une infrastructure interne avec System Center (approche Cloud Hybride), ceci peut aussi être totalement piloté (catalogue de service, workflows d’approbation, facturation..) permettant de générer ces machines sur votre infrastructure de virtualisation interne (HyperV, VMware) de la même façon que dans Azure.
… mais ce que j’aime beaucoup c’est la facilité déconcertante avec laquelle on peut faire ca dans Powershell et sans être un expert du tout!!
Voici un exemple. En bas, le code va préparer et créer 2 Vms. Vous pouvez voir que l’on passe un certain nombre de paramètres comme le type d’image à utiliser (ici Windows 2012 R2 Preview), le nom de la machine, la taille (au sens azure, c’est à dire RAM et CPU) de la machine, le nombre et la taille des disques, etc …
En haut de cette capture, vous voyez l’expérience utilisateur. Quelques minutes plus tard, vous avez 2 VMs qui s’exécutent dans Azure. Personnellement, je trouve cela bluffant.
Ca rame, j’ai besoin de RAM !!
La plus grosse frustration des équipes IT pro est de ne pas avoir le “lab” dont ils rêvent.
Pas seulement pour ne pas perdre du temps, mais aussi pour avoir un environnement le plus représentatif de la production, capable de dégager des simulations fiables.
Egalement, souvent on parle aussi d’environnement de “Dev”, de “qualification”, de “recette”, autant d’environnement qui coutent chère, et qui multiplient le nombre de VMs, et les ressources nécessaires..
Avec une infrastructure classique, on prend ce que l’on a… ou alors, il faut acheter du nouveau matériel, donc demander un budget, des serveurs.. cela prend du temps et surtout coûte beaucoup d’argent ! On en fait quoi après de ces investissements ? Car cela se déprécie vite l’informatique !!
Ca rame, j’ai besoin de RAM !!… et Azure ?
Que ce soit dans le portail ou via le script qui vient d’être utilisé, on est capable de sélectionner le type de machine que l’on souhaite, encore une fois de très petite à très grosse (en RAM et CPU).
Voir ce lien avec tous les détails : http://msdn.microsoft.com/fr-fr/library/windowsazure/dn197896.aspx).
Dans la mesure ou la facturation est à la minute, si l’on utilise très bien ce modèle Azure, il est possible d’avoir la machine la plus adaptée (ratio puissance/prix) à un instant T. Mais ca veut dire quoi “la plus adaptée à un instant T ??
Si on veut calculer au plus juste ce ratio puissance/prix, pourquoi ne pas procéder ainsi au sein du projet :
- Au début du projet, on va installer des machines de type “ExtraSmall ou Small”, afin de configurer des éléments classiques. Elles sont suffisantes pour la phase de configuration.
- Puis quelques jours plus tard, on voudrait un peu plus de puissance et aller sur une machine Medium.
- Enfin, en fin de projet et après de nombreuses configurations, on voudrait maintenant réaliser des tests de montée en charge, et par exemple utiliser une machine ExtraLarge.
- … et tous les jours, arrêter les machines de 18H00 à 9H00…
Est-ce facile ? Avec Azure, c’est déconcertant encore une fois : soit vous le faites dans le portail Azure, soit encore une fois en Power Shell :
Dans cet exemple, je passe ma VM à Medium (voir mon script précédant qui faisait une création en ExtraSmall).
Important : les environnements de test/qualif/recette, coutent très chère à maintenir. Avec cette approche plus le fait que l’on paye seulement quand les machines tournent, Azure est un allié incontournable dans des projets de ce type.
Réduction des budgets, refacturation
La aussi, dans une infrastructure classique construite autour d’investissements (en matériel, salle informatique.. Etc) on doit acheter puis utiliser pendant la durée de l’amortissement ces composants.
De plus, “acheter un serveur de virtualisation” qui va être partagé par X projets est aussi un casse tête car il faut mutualiser les budgets, ou définir des critères de refacturation. Que de complexités..
Réduction des budgets, refacturation.. Et Azure ?
Tout d’abord il faut le rappeler. Lorsque la machine Azure est dans l’état ci-dessous :
… - ici le désalloué est important, c’est à dire que l’arrêt a été fait dans le portail Azure (ou Scripting) et non un shutdown, de la VM - . Cela veut dire que vous ne payez pas.
Si vous avez 500 Vms dans Azure dans cet état (dormante, prête à redémarrer.. représentant de nombreux scénarios d’entreprise) vous ne payerez pas vos VMs (seulement un peu de stockage). La direction financière va beaucoup aimer !
De plus, avec un contrat Azure Accord Entreprise, il est tout à fait possible au sein d’une souscription (sorte de compte bancaire de votre entreprise, avec des $$ à dépenser dans Azure parmi les X scénarios proposés) de définir des sous-souscriptions, permettant à chaque direction ou projet de suivre sa consommation.
Conclusions et perspectives
Dans ce type de scénario, Azure est juste incontournable.
Tout au long du projet, vous allez être en mesure d’adapter tous les paramètres de votre lab que ce soit le nombre et type de VM, leur puissance respective donc leur donc coût… mais également de fournir une optimisation des budgets en arrêtant les machines lorsqu’elles ne sont pas nécessaires, et faciliter la refacturation interne.
Que ce soit via le portail Web, via la solution System Center (approche Cloud Hybrid) ou en ligne de commande via Power Shell, l’utilisation et la puissance d’azure est juste incroyable.
Cette simulation ne pend que 30 mn ! Testez la, c’est une opportunité pour toutes les équipes techniques qui ont a cœur de fournir le meilleur service possible dans ce genre de situation.
… Equipes IT, ce blog est pour vous !!