Windows Azure est la plateforme de Cloud Computing de Microsoft. Elle permet aussi bien de l’utiliser en mode PaaS (Platform as a Service) ou en mode IaaS (Infrastructure as a Service). Néanmoins elle ne fournit pas que des machines virtuelles exploitables, mais bien toute une gamme de services qui permet, entre autre, d’intégrer facilement cette plateforme que ce soit au sein d’un système d’information ou en tant que cible de déploiement pour une usine logicielle.
Selon Wikipedia, « les méthodes agiles se veulent plus pragmatiques que les méthodes traditionnelles. Elles impliquent au maximum le demandeur et permettent une grande réactivité à ses demandes ». Nous allons donc voir en quoi Windows Azure est une plateforme de Cloud Computing qui permet d’être plus réactif grâce à ses outils, et aux services qu’elle propose.
Des services pour tous : rapide et sur mesure
Outre le IaaS et le PaaS, Windows Azure offre une large gamme de services qu’il est possible d’utiliser en fonction de ses besoins. Il existe de nombreux services qui sont utilisables à la demande que ce soit pour fournir des services fortement packagés (comme Windows Azure Mobile Services qui sert à la création de back-end pour application mobile) , ou des services beaucoup moins packagés (comme la possibilité d’avoir une base de données relationnelles Windows Azure SQL Database qui permet d’avoir accès à une base de type SQL Server hébergée par Microsoft). Il est donc possible d’utiliser la plateforme de manière différente pour accéder à une application hébergée dans le Cloud. On peut alors choisir les services que l’on souhaite utiliser en fonction de critères de performance attendus et du budget souhaité pour la mise en œuvre d’une application. De plus, un des grands avantages d’opter pour une plateforme de type Cloud est la rapidité d’accès aux services demandés.
Une ouverture au monde de l’informatique : Linux, PHP, Java, Node.js, Ruby…
Bien que Windows Azure soit une plateforme Cloud fournie par Microsoft, celle-ci est aussi son fer de lance en matière d’open source puisque l’outil permet d’utiliser des technologies diverses au sein de la plateforme. Pour des machines virtuelles de type IaaS, la galerie de modèles propose par défaut des machines virtuelles sous Unix, avec des systèmes tels qu’Ubuntu, CentOS ou OpenSuse. De plus, via un partenariat avec le site VM Depot, il est possible d’importer une machine virtuelle issue de la communauté, et donc ne pas être restreint à des machines tournant sous des OS de type Windows. De même, pour la partie PaaS, nous ne sommes pas restreints aux technologies utilisant le Framework .Net. Il est possible d’utiliser d’autres technologies telles que PHP, Node.js et Java. Par exemple, Windows Azure Mobile Services, Windows Phone 8 mais aussi Android et iOS. L’avantage de Windows Azure est donc son ouverture vers les autres plateformes du marché. En ce sens que Microsoft a récemment signé un partenariat avec Oracle afin de supporter intégralement les logiciels fournis par la firme sur Windows Azure.
Des outils proposés à tous
Il est également possible d’utiliser la plateforme Windows Azure via différents outils. Ainsi, on peut consulter l’état des services et d’en créer de nouveaux via différents moyens. Le plus simple est bien entendu le portail de gestion de la plateforme qui regroupe l’intégralité des services et qui est accessible via internet aucun plug-in nécessaire ou d’outils installés sur son terminal. Un autre moyen est d’utiliser les outils intégrés dans Visual Studio, cette solution convient très bien à des profils orientés développeurs, cependant elle nécessite d’avoir le SDK Windows Azure installé sur son terminal. Pour des personnes ayant un profil plus orienté infrastructure, il existe des applets de commandes de Windows Azure PowerShell. Dans un environnement Windows, nous avons donc accès à divers outils, cependant via un MacOS ou Linux, nous avons accès aux Command Line Tools Windows Azure qui permettent de manager son compte Azure via une console. Il existe donc plusieurs outils qui ont des fonctionnalités similaires. Cependant, selon les cas, il est plus avantageux d’utiliser soit l’un soit l’autre, Pour ma part, j’utilise le portail lorsque de manière ponctuelle je dois vérifier l’état de mes services, créer ou arrêter un service. Pour des cas d’automatisation, nous allons utiliser les applets de commandes PowerShell, et les outils de Visual Studio lorsque nous sommes en phase de développement. A noter que tous ces outils se basent sur des APIs REST fournis par Microsoft pour manager son compte Azure. Il est donc possible de développer ses propres outils en cas de besoin.
De plus, en terme d’intégration de ces nouveaux outils, on reste globalement dans des environnements connus : au travers du portail ou alors via Visual Studio. L’intégration et l’adoption des outils est donc rapide.
Une intégration forte dans le monde de l’entreprise
Bien qu’il existe des outils pour manager simplement ses différents comptes sur Windows Azure, cela ne suffit pas pour qu’il y ait une réelle intégration dans le monde de l’entreprise. C’est pour cela que Microsoft va encore plus loin en fournissant des outils pour intégrer Windows Azure dans son système d’information. Pour cela, il propose via sa gamme de produit System Center, de centraliser les données de ses comptes Azure afin qu’ils puissent être utilisés via le même portail de gestion que le système d’information à demeure. L’avantage d’avoir une solution comme System Center pour gérer son compte Azure est de permettre aux équipes en charge des serveurs d’avoir aussi la maitrise des données disponibles dans le Cloud. Ainsi, dans un cadre d’utilisation de Windows Azure en mode IaaS, il est possible de créer des machines virtuelles via des images locales et de les héberger sur le Cloud ou « on-premise ».
Dans la continuité de vos développements
Au niveau du IaaS, nous avons vu qu’il est possible de connecter une machine IaaS comme si elle était disponible à demeure. Les offres PaaS n’ont pas été oubliées pour autant sur Windows Azure. ll est possible de se servir de la plateforme comme cible de déploiement dans le cadre d’une intégration continue par exemple. Nous allons pouvoir brancher facilement notre intégration continue sur la plateforme Azure, ce qui facilite les phases de tests quotidiennes puisqu’il est possible de livrer une version fonctionnelle et disponible directement sur la plateforme sans à avoir à réaliser d’opérations supplémentaires. Pour cela, Microsoft intègre des solutions telles que TFS ou Git qui peuvent entre autre être configurées pour réaliser de l’intégration continue.
Des services intelligents qui maitrisent les pics de charge
Lorsqu’on utilise une plateforme de Cloud Computing, c’est le plus souvent pour répondre à des problématiques de montée en charge, que ce soit pour assurer une disponibilité des sites internet pendant les soldes, ou pour rendre disponibles des services uniquement à une certaine période de l’année. Cependant, il peut exister des pics de charge qui sont imprévisibles et qui ne doivent pas perturber le bon fonctionnement de vos applications. Pour cela, la plateforme Windows Azure met à votre disposition des modules de montée en charge automatique en fonction de critères que vous lui fixez par avance. Ainsi, au lieu de dire qu’il faut par exemple 4 serveurs pour assurer le bon fonctionnement de votre site, vous lui indiquez qu’il est possible d’avoir entre 2 et 10 serveurs, et ainsi la plateforme va pouvoir ajuster automatiquement ce nombre en fonction du trafic sur le site internet.
Une tarification relative à l’utilisation
Lorsqu’on utilise une plateforme de type Cloud Computing, il faut prendre en compte la partie facturation au plus tôt. En effet, Windows Azure comme toutes les autres plateformes a un coût. Cependant, l’avantage de cette platerforme est que le système de facturation s’effectue au niveau de chaque service que l’on souhaite utiliser. De plus, pour les machines virtuelles, que ce soit de type IaaS ou PaaS, il existe une facturation à la demande ce qui nous permet d’avoir une réelle facturation selon notre utilisation.
En conclusion
Windows Azure est donc une plateforme ouverte sur les différentes offres de Cloud Computing que ce soit en PaaS ou en IaaS. De plus, la plateforme s’intègre parfaitement avec le monde de l’entreprise. Elle n’est pas totalement indépendante et offre rapidement de nombreux services. Il est donc possible d’utiliser aisément Windows Azure comme une extension de votre entreprise.