Nano Server : vers une version light de Windows Server 10
Microsoft travaillerait à une version allégée de Windows Server afin de permettre à l’éditeur de mieux positionner son OS dans des scenarri d’applications en conteneurs et au cœur des architectures de microservices. Une façon de ne pas laisser Linux filer devant.
Linux et Windows sont les OS de choix dans la plupart des datacenters et pour supporter les infrastructures Cloud. Le premier généralement préféré des start-ups du Web, alors que les entreprises semblent adopter le second pour soutenir leurs workloads.
Toutefois, avec l’arrivée de nouvelles tendances, les spécialistes de Linux ont dû revoir quelque peu leurs architectures. A commencer par les deux distributions clés de l’OS Open Source : Red Hat et Ubuntu.
Ces deux acteurs principaux du monde Linux ont entrepris un vaste programme de transformation pour alléger leur système, plus optimisé pour supporter les workloads dimensionnées pour le Web.
Nano Server : un Windows Server à l’empreinte réduite sans interface graphique
Microsoft semble leur avoir emboîté le pas. Si l’on se réfère à une information publiée début mars chez nos confrères de Neowin, qui s’appuient sur une présentation interne à Microsoft, l’éditeur préparerait une version de Windows Server à l’empreinte réduite, baptisée Nano Server.
Cette déclinaison serait donc une option sans affichage - sans interface graphique – de Windows Server, également présenté comme « le noyau de l’infrastructure Cloud et des applications de prochaine génération ».
La présentation interne de Microsoft laisse entendre que cette technologie pourrait faire ses débuts lors du lancement de la version 2016 de Windows Server. Les membres du programme Microsoft Technology Adopters pourraient, quant à eux, y avoir accès en avant-première dès la mi 2015.
Si ce Nano Server est avéré, il n’est pas difficile de comprendre pourquoi Microsoft a décidé de travailler sur ce type de technologie. Windows Server reste en effet un OS trop lourd pour les workloads de type web-scale.
Comparées aux VM Linux, celles basées sur Windows Server mettent par exemple plus de temps à démarrer. Lorsque le trafic augmente, les administrateurs lancent des VM supplémentaires, avec, donc, des temps de boot plus longs. Windows Server n’est pas le meilleur OS pour les workloads plus élastiques.
Les redémarrages sont également assez fréquents, généralement après l’application d’un patch ou d’une mise à jour de sécurité ; ce qui a des répercussions sur les temps de disponibilités des applications.
Avec l’ajout de composants ou des services, l’empreinte de Windows s’est accrue avec le temps, offrant en même temps une surface d’attaque plus large pour les malwares et les virus.
De plus, la taille importante des VM monopolise la bande passante lors du provisioning, ce qui pourrait également expliquer pourquoi Microsoft cherche à lancer une version minimaliste de Windows Server.
Conteneurs, une tendance où Windows Server veut apparaître
Si on regarde les tendances sur le marché, CoreOS, un fork de Chrome OS, a initié ce courant en matière d’OS minimaliste. Celui-ci a été conçu pour exécuter des applications en conteneurs avec peu de dépendances sur son OS de base. Il supporte les mises à jour transactionnelles, facilitant les applications de modifications après chaque mise à jour.
Installé en mode bare-metal, il offre de meilleures performances que dans des VM. Les applications étant désormais de plus en plus logées dans des conteneurs, CoreOs et Docker sont devenus des choix technologiques clés pour les fournisseurs de Cloud.
Par exemple, Rackspace et Joyent ont développé des offres reposant sur cette technologie. Red Hat a lancé son projet Atomic avec l’intention de transformer RHEL, CentOS et Fedora en OS poids plume.
La semaine dernière, l’éditeur a rendu disponible Red Hat Enterprise Linux 7 Atomic Host en bêta. Le groupe soutient que l’OS est plus sécurisé, plus facile à administrer et qu'il est optimisé, justement, pour exécuter des conteneurs.
Canonical quant à lui a annoncé une version allégée d’Ubuntu, baptisée Snappy Ubuntu Core. Inspiré de Ubuntu Mobile OS, Snappy est léger et sécurisé. Snappy est développé aussi bien pour le Cloud et les hyperviseurs, que pour les plateformes de l’Internet des Objets, comme le Raspberry Pi 2 et BeagleBone.
Quel rapport avec le Nano Server de Microsoft ? Nano Server en emprunte les fondements en matière de conception. Il supporte les déploiements headless pour faciliter le provisioning et l’administration de grands clusters et est conçu pour exécuter des applications Cloud, où l’élasticité est une exigence.
Il embarque la base de .NET, CoreCLR, récemment placé dans l’Open Source par Microsoft. L’OS ne contient pas les métadonnées et binaires qui augmentent généralement l’empreinte de l’OS. Les développeurs doivent packager les applications et leurs dépendances dans une unique unité de déploiement.
Core PowerShell, une version minimaliste de Powershell, repensée pour fonctionner avec CoreCLR, propose des fonctions d’administration à distance. Nano Server peut être installé aussi bien physiquement que sur une infrastructure virtualisée.
Microservices, une autre avancée que Microsoft veut suivre
Un autre aspect important qui a pu influencer Microsoft est l’évolution des micro-services. Doucement mais sûrement, les développeurs se mettent à créer des applications à base de composants modulaires, autonomes et légers.
Et Docker, comme toute autre technologie de conteneurs, permet aux développeurs de créer ces microservices. Les fournisseurs de PaaS, comme Red Hat et Pivotal, ont adapté la technologie, poussant les développeurs à choisir leur plateforme pour leurs conteneurs.
Même si actuellement, Microsoft investit davantage dans le IaaS et l’analytique, il transforme actuellement la couche PaaS d’Azure afin que celle-ci supporte les tendances émergentes comme les microservices et les conteneurs. Le lancement de ASP.Net 5.0 en est un exemple.
Avec .NET placé dans l’Open Source, la framework va fonctionner sur de nombreuses distributions Linux. On trouvera des images Docker pour CoreCLR et ASP.NET qui pourront être déployées sur Linux.
Sans un support clair des conteneurs par une version allégée de Windows Server, Linux pourrait bien devenir le meilleur OS serveur pour faire tourner des applications .NET en conteneur. Mais avec Nano Server, Microsoft devrait au final être en mesure de conserver la pertinence de Windows dans ce monde de conteneurs et de microservices.