Le Cloud selon Microsoft, retour de TechEd 2010
Le slogan “Cloud Power” était affiché partout dans la conférence TechEd 2010 de Berlin. Pendant la Keynote d’ouverture, Brad Anderson (VP Management & Security) a paraphrasé “the Big Switch” de Nicholas Carr, en utilisant la métaphore de la production électrique. Puis, il a expliqué les XaaS par le menu.
L’impression générale est que Microsoft s’affiche aujourd’hui comme un acteur qui croit au Cloud (fini le Software + Services) et fait beaucoup de vulgarisation auprès de ses clients pour les convaincre d’y aller. Une définition simple du Cloud a été proposée dans la session "Cloud, a crash course for Architects" : Cloud = Computing @ Internet Scale.
Microsoft dispose de quelques atouts différenciants pour les entreprises qui souhaitent vivre le Cloud dans la continuité :
- Disponibilité des équipes Microsoft pour leurs clients (ce qui est moins évident chez Google et Amazon qui privilégient le Self Service sur le Web)
- Une Roadmap affichée, plutôt que le principe de la béta perpétuelle
- Quasiment les mêmes produits pour le SI et sur le Cloud
Ce dernier point peut porter à réflexion : les architectures pensées pour l’entreprise sont-elles bien à même de monter en charge à l’échelle de l’Internet ?
Approche SaaS de Microsoft
La principale offre SaaS de Microsoft est Office365 (sortie en 2011) un packaging intégré de Exchange online, SharePoint online, Lync online, et Office Web Apps. Cette offre se positionne en concurrent frontal des Google Apps. Pour ce que j’en ai vu, la bureautique en ligne de Microsoft a beaucoup moins de fonctionnalités que Google Docs. Par contre, elle gère OpenXML en natif, et son interface est la même que celle d'Office. Une nouveauté intéressante : SQL Azure va se doter de fonctions de génération de rapports et de synchronisation avec les données d’entreprise. Cela pourrait donc devenir une offre décisionnelle SaaS intéressante. Azure MarketPlace a aussi été évoquée : il s’agit d’une future place de marché applicative comme AppExchange de Salesforce, avec en plus un catalogue de source de données en OpenData. L’offre Dynamics Online n’a pas été évoquée dans les sessions auxquelles j’ai assisté.
Approche PaaS de Microsoft
Selon Brad Anderson, “PaaS is the next big thing” et Azure est la proposition de Microsoft dans ce domaine. Une petite anecdote lancée par un speaker Microsoft : un ciel azuré est l’opposé d’un ciel nuageux (Cloudy). Souvenez vous d’Eclipse vis à vis de Sun... Microsoft se positionnerait donc comme une sorte de challenger ?
La Stack Azure comprend à ce jour les composants suivants :
- Windows Azure : le socle d’exécution, à même de faire tourner des Web Roles et des Worker Roles
- Azure Storage : un système de stockage non relationnel, en blobs, tables, ou queues de messages
- SQL Azure : un système de stockage relationnel
- Azure CDN : un système de cache géographique (Content Delivery Network) dans 18 pays
- AppFabric Caching : un système de cache distribué côté applicatif
- AppFabric Service Bus : un bus applicatif pour le Cloud
- AppFabric Access Control : une solution de fédération d’identité capable de fédérer Azure avec des annuaires d'entreprise via ADFS et SAML, ou avec des annuaires grands publics comme Google ID, Live ID, Facebook, Yahoo ID, OpenID.
Les deux derniers composants sont destinés à l’intégration entre Azure et le SI d’entreprise (session “Integrating Applications on Windows Azure with the Enterprise”).
Azure propose un modèle original à la frontière entre ceux de Google (PaaS) et Amazon (IaaS) :
- Comme Google App Engine : Azure propose une Stack d’exécution clef en main, vers laquelle on envoie un package applicatif.
- Comme Amazon Web Services : des VM sont instanciées pour chaque client. Ces VMs sont générées à la volée et embarquent Windows 2008 server, IIS, les Azure Tools pour le monitoring, et le package applicatif. Elles sont exécutées sur hyper-V. On dispose donc d’une certaine visibilité sur le contenu des VMs (contrairement à Google, où l’architecture est opaque). On paye à l’uptime (et non au CPU consommé comme Google).
De par ce modèle, Azure permet d’instancier très simplement 2 types d’architectures pour gérer une application SaaS (session “Developing SaaS Solutions with the Windows Azure Platform”) :
- Architecture multi-tenant : une application unique pour N clients. Microsoft suggère ce modèle pour des PME.
- Architecture par clonage : une application/VM pour chaque client. Microsoft suggère ce modèle pour des grands comptes.
Une application de référence implémente ces 2 architectures : fabrikamshipping.com (son périmètre fonctionnel est proche du site de WebEx). Du coup, je me suis demandé si Office365 implémentait l’une ou l’autre des ces architectures, on bien même les 2. L’architecture par clonage serait simple à implémenter en partant d’Exchange version entreprise...
TechEd a été l’occasion de présenter les nouveautés à venir (béta fin 2010, live début 2011) :
- Disponibilité d’Azure Connect, une solution de sécurisation des flux en IPSEC entre Azure et le SI (cf. Amazon Virtual Private Cloud)
- Disponibilité de l’intégralité d’IIS 7.5 dans les Web Roles, ce qui permet de gérer plusieurs sites dans une même VM.
- Disponibilité d’Azure Portal, un portail administration très complet, bâti en Silverlight.
- Possibilité de prendre la main à distance sur les VMs de diverses manières : via Remote Desktop Protocol, via PowerShell.
- Possibilité d’administrer SQL Azure depuis Visual Studio.
- Possibilité d’utiliser SCCM (System Center Configuration Manager) pour administrer Azure en utilisant la même console que celle des serveurs locaux, grâce à “Windows Azure management Pack”
- Possibilité de disposer d’”Elevated Privileges” pour administrer les services Windows dans les VMs
- Possibilité de lancer des scripts de configuration à l’initialisation des VMs (par exemple pour installer un composant de génération de PDF)
Enfin, Microsoft a annoncé les Azure appliances, des armoires de serveurs clef en main et préconfigurées pour construire son Cloud Privé (cf. le Projet Blackbox de Sun).
Approche IaaS de Microsoft
A ce jour, Microsoft utilise le terme IaaS pour du Cloud privé. Son offre tourne ainsi autour de fermes de serveurs sous Hyper-V, gérées via System Center VM Manager et System Center Operation Manager.
Le Cloud privé de Microsoft adressera le “Pay As You Go” et le “Self Service” au travers du futur SCCM Self Service Portal (cf. session “self service for the private Cloud”). Si j’ai bien compris, le portail permettra :
- Aux administrateurs de Datacenters de référencer leurs ressources (VLAN, SAN, VM) et de définir leurs prix de refacturation interne (ChargeBack).
- Aux LOBs de faire des demandes de ressources sous forme de templates. Le portail ne propose pas de machine type comme chez Amazon Web Services, c’est aux LOBs de les concevoir.
- Aux administrateurs de valider ces demandes de templates, et de paramétrer les masters de VMs nécessaires.
- Puis aux LOBs d’instancier/démarrer/arrêter des VMs correspondant aux templates.
A mon sens, le Self Service serait tout à fait abouti, si aucune validation humaine n’était nécessaire entre la demande de ressources et leur activation.
Quelque chose semble se rapprocher d’une offre IaaS publique : les VM Roles. Les VM Roles sont une nouvelle option d'exécution sur Azure à venir en 2011. Ils permettront de créer, depuis son PC, une VM complètement customisée, à partir de Windows 2008 server, avant de la pousser sur Azure. Malgré tout, les VM Roles ne constituent pas une offre IaaS stricto sensus pour la raison suivante : aucun système de snapshot n’est prévu. Ainsi, si un développeur pousse une VM vers Azure, puis change sa configuration ou modifie ses données, ces modifications (configuration et données) seront perdues en cas de redémarrage de la VM. Microsoft met donc en garde les utilisateurs contre un usage en IaaS.
Ces intéressants VM Roles pourraient évoluer en 2011 et aboutir à une véritable offre IaaS publique. A suivre donc...