Windows Server Nano

Avant de rentrer dans le vif du sujet je tiens à dire que je n’ai pas d’actions chez Microsoft et que traditionnellement je préfère le monde libre.

Historique

Le 1er octobre 2014 Microsoft sort la première version de Windows Server 2016 (Technical Preview 1), 4 Technical Preview en plus vont sortir avant la version finale qui est disponible depuis avril 2016. Windows Server 2016 dévoile « Windows Nano Server », une installation minimale du système d’exploitation.

Concept

Dans la version Nano de Windows Server, seuls les composants principaux et indispensables sont installés comme la gestion des pilotes, l’hyperviseur Hyper-V, les services de stockage, réseau ou encore de cluster. L’idée derrière l’architecture de type « micro-services » de Windows Nano est d’utiliser des « briques » (par exemple : des conteneurs ou des applications .NET) afin de concevoir un système minimal parfaitement adapté aux besoins de l’utilisateur.

Extrêmement léger et optimisé pour les applications « Born-in-the-Cloud », Nano Server ne possède en revanche pas de console d’administration locale. La configuration et l’administration s’effectuent à distance, via PowerShell. Nano Server peut, en outre, être déployée sur un hôte physique ou virtuel, ou en tant que conteneur.

Nano Server apporte également quelques nouveautés pour les développeurs. Les composants MSI (Microsoft Windows Installer) ne sont pas supportés, et l’installation de logiciels passe à l’heure actuelle par des scripts PowerShell personnalisés. À terme, le composant Nano Server Installer autorisera l’installation (en ligne et hors ligne), la désinstallation et l’inventaire d’applications, ainsi que la configuration, le démarrage et l’arrêt de services.

Des paquets optionnels pourront en outre être intégrés dans une image Nano Server. Grâce à ce système, des logiciels, applications et composants x86 comme MySQL ou Java fonctionnent d’ores et déjà avec Nano Server.

Performance

Ce mécanisme de micro-services et d’installation minimale permet à Windows Nano Server d’être concerné par moins de bulletins de sécurité que les versions Core et Full de Windows Server, par conséquent, de nécessiter moins de redémarrages. Microsoft indique, par exemple, que Nano Server n’a été concerné que par deux bulletins « critiques » en 2014, contre 23 pour la version complète de Windows Server 2016.

Le nombre de pilotes chargés, de services démarrés et même de ports ouverts dans Nano Server par rapport à Windows Server Core permet en outre de diminuer l’utilisation des ressources matérielles. On passe, toujours selon Microsoft, de 26 à 21 processus, et de 139 Mo de mémoire utilisée par le noyau à seulement 61 Mo. Nano Server est par ailleurs 20 fois plus léger que l’installation classique, avec une empreinte disque de seulement 400 Mo.  Même la durée d’installation est réduite, passant de 300 à 40 secondes. Server Nano ne supporte que les applications 64 bits.

Tableau comparatif des performances entre les modes d’installation Windows server 2016


 

 

 

 

 

Rôles

Liste des différents rôles serveur pouvant être affectés dans le mode d’installation Nano de Windows Server 2016.

  • Services de domaine Active Directory
  • Serveur DHCP
  • Serveur DNS
  • Services de fichiers (dont le Gestionnaire de ressources du serveur de fichiers)
  • Services AD LDS (Active Directory Lightweight Directory Services)
  • Hyper-V
  • Services d’impression et de numérisation de document
  • Services de diffusion multimédia en continu
  • Serveur Web (dont une partie d’ASP.NET)
  • Services WSUS (Windows Server Update Services)
  • Serveur AD RMS (Active Directory Rights Management Server)
  • Serveur de routage et d’accès à distance et les sous-rôles suivants :
  • Service Broker pour les connexions des services Bureau à distance
  • Licences
  • Virtualisation
  • Services d’activation en volume

Fonctionnalité

Comparaison des fonctionnalités de Windows Server 2016.

Fonctionnalités Datacenter Standard
Fonctionnalités principales de Windows Server * *
Environnements de systèmes d’exploitation / conteneurs Hyper-V Illimité 2
Conteneurs Windows Server Illimité Illimité
Service Guardian Hôte * *
Server Nano * *
Fonctions de stockage, notamment Storage Spaces Direct et Storage Replica *
Machines virtuelles protégées *
Pile de mise en réseau *

Prix

Windows Server 2016 sera désormais tarifé en fonction du nombre de cœurs et non du nombre de processeurs, qu’il soit en Standard ou Datacenter. Microsoft justifie ce choix par une volonté d’uniformiser les licences avec celles de ses offres cloud public et privé (Azure). Il s’agit aussi de simplifier les environnements hybrides.

Édition de Windows Server 2016 Idéal pour Modèle de licences Conditions relatives aux licences d’accès client* Tarification d’Open NL ERP (US $)
Datacenter** Environnements de datacenter software-defined et hautement virtualisés Basé sur les cœurs Licence d’accès client Windows Server $6,155
Standard** Environnements à faible densité ou non virtualisés Basé sur les cœurs Licence d’accès client Windows Server $882
Essentials Petites entreprises avec jusqu’à 25 utilisateurs et 50 appareils Basé sur les processeurs Aucune licence d’accès client n’est obligatoire $501

*Des licences d’accès client (CAL) sont obligatoires pour chaque utilisateur ou appareil accédant à un serveur.
**La tarification des éditions Datacenter et Standard correspond à des licences pour 16 cœurs.

Architecture cloud hybride

Microsoft change les concepts de fonctionnement des services informatiques, avec l’avènement du « cloud hybride ». Jusqu’à présent, les entreprises utilisaient soit des services locaux dit « on promise » chez Microsoft, ou des systèmes externalisés dit « on cloud ». Les services informatiques aiment garder leurs données en interne et externaliser des services dits « grand public » comme les serveurs web. Aujourd’hui, Microsoft ne souhaite plus réellement séparer les services dit « on promise » des services « cloud » ainsi l’architecture conseillée est un mélange des deux, rendant l’administration flexible et surtout garantissant une disponibilité des ressources à toutes épreuves.

Microsoft a dû pour cela optimiser son système d’exploitation pour le rendre plus léger et plus économe en ressource, d’où Windows Server Nano. Windows Server Nano marque la fin des architectures où l’administrateur systèmes et réseaux devait faire un choix entre mettre plusieurs services sur une machine virtuelle, ou faire une machine virtuelle pour chaque service. Le coût des licences était par machine virtuelle ce qui peut devenir très onéreux, si l’on choisit de segmenter les services. Windows Server Nano apporte une flexibilité sans pareil à la création de conteneurs et à leurs administrations.

La création de deux datacenter en France par Microsoft, (Paris et Marseille) vont surement convaincre les entreprises réticentes à l’idée d’externaliser les données des serveurs. Microsoft sera dans l’obligation de sécuriser les données selon les normes françaises.

L’administration des serveurs se fera de façon transparente sur les serveurs «  on promise » et Azur.

Topologie système Microsoft du cloud hybride.

 

 

 

 

 

 

 

 

Administration de rôles et fonctionnalités à distance

L’administration via PowerShell à distance permet l’installation de rôles et fonctionnalités facilement en partant de modules. Ces modules sont présents dans l’image de Nano Server. Nous pourrons remarquer que l’image contient un module « OEM drivers » signifiant qu’il est probable que sur certains serveurs vous soyez obligés d’installer des drivers manquants.

Pour installer un module sur Server Nano il suffit de se connecter à distance en PowerShell sur le serveur Nano désiré puis d’activer un module, via la commande d’import.

L’installation de mon serveur Hyper-v sur la VM Nano2017 s’est effectuée en Powershell. J’ai d’abord importé le fournisseur de modules Nano Server dans Powershell.

J’ai ensuite cherché le module via la commande « find » mais on peut la trouver en graphique dans le dossier d’installation. Puis, j’ai activé l’installation du module compute-package qui contient l’installation d’Hyper-V.

J’ai terminé l’installation en redémarrant le serveur via la commande « shutdown –r ».

Concernant l’installation des rôles et fonctionnalités installés, je conseille de les administrer via des « consoles mmc » ou « d’administration Microsoft ».

Nous pouvons nous rendre compte que le déploiement et la mise en route des rôles et fonctionnalités dites « primaires » d’un serveur Microsoft (Hyper-V, DNS, IIS, etc) sont faciles et rapides à mettre en place.

Le but a terme est d’utiliser Docker.

Docker

Docker est un produit développé par la société du même nom. Initialement développé par un ingénieur français, Solomon Hykes, le produit a été dévoilé en mars 2013.

C’est une solution de virtualisation applicative, autrement dit une solution qui isole l’application (avec ses dépendances) du système d’exploitation. Il faut qu’elle puisse être aisément transportée d’une machine à une autre avec toutes ses configurations, que son déploiement massif soit rapide et sans surprise, et que l’on puisse exécuter plusieurs instances de cette application sans qu’elles n’entrent en conflit.

Ce type de virtualisation présente plusieurs avantages sur la virtualisation matérielle.

D’abord, il n’est pas nécessaire d’embarquer un OS complet pour chaque application virtualisée. Ensuite, les applications s’exécutent directement sur l’OS de la machine physique, accédant directement aux pilotes et accélérations matérielles. Il en résulte d’importantes économies mémoires et des performances accrues comparées à une virtualisation matérielle, donc une meilleure exploitation des machines physiques.

En revanche, on perd la possibilité d’utiliser plusieurs OS différents sur une même machine et la gestion des VM applicatives (les conteneurs) nécessitent des outils différents des VMs classiques.

Il est essentiel de comprendre que Windows Server 2016 n’exécutera pas des conteneurs Linux au format Docker mais des conteneurs Windows au format Docker. L’inverse est aussi vrai, Linux ne pourra pas exécuter les conteneurs Windows.

Une limite qui se comprend aisément puisque les conteneurs Docker s’appuient sur l’OS comme je l’ai expliqué et, finalement, ne virtualise que le système de fichiers, les configurations et les zones d’état du système (comme la base de registres sous Windows par exemple).

Toutefois, parce que l’implémentation Windows s’appuie sur les mêmes API, l’administration des conteneurs Linux et Windows sera strictement identique et leur fonctionnement très similaire.

Les conteneurs Windows pourront être publiés dans l’Index Docker (le repository public d’images) et les Docker Registrys (les repository privés) en concomitance avec les conteneurs Linux.

Microsoft a également annoncé des conteneurs « Hyper-V ». L’idée est d’offrir aux conteneurs Docker le même niveau d’isolation que ce que peut offrir une virtualisation matérielle.

En effet, l’un des reproches fréquemment faits à Docker (notamment par CoreOS et ses Rocket Containers) est de ne pas offrir suffisamment d’isolation entre les conteneurs et d’être mal adapté à des conceptions « multi-tenant ». Les « Containers Hyper-V » permettent d’acquérir ce niveau d’isolation requis tout en conservant la compatibilité Docker.

Hôte de conteneurs Hyper-V

Microsoft propose aussi les conteneurs Hyper-V. Ces derniers donnent plus d’isolation puisque chaque conteneur a sa propre copie du kernel Windows. Ils se voient aussi assignés de la mémoire directement. Hyper-V est utilisé pour l’isolation du processeur, de la mémoire, et des IOs. Les conteneurs Hyper-V offrent un niveau d’isolation similaire aux machines virtuelles puisque l’hôte expose qu’une sous partie de l’interface au conteneur pour communiquer et partager des ressources avec l’hôte. De ce fait, les conteneurs Hyper-V ont un temps de démarrage plus long et une densité moins importante que les conteneurs Windows Server. Cependant, ils donnent une isolation permettant d’exécuter des applications non connues.

Les deux types de conteneurs peuvent utiliser les mêmes packages déployés par Docker. Il n’y a donc pas de développement spécifique pour l’un des deux types de conteneurs.

Conclusion

Le mode d’installation « Server Nano » présente des avantages certains pour un service informatique, l’orientation cloud est un véritable plus en termes de maintenance et de coût si l’entreprise utilise Microsoft Azur. Microsoft ouvrant deux datacenter en France va pouvoir conquérir des sociétés désirant ne pas exporter leurs données à l’étranger tout en leur garantissant un haut niveau de disponibilité et une flexibilité dans l’administration informatique à moindre coût.

Les services informatique dit « on promise » vont également bénéficier de cette baisse de besoin en ressource et ainsi réalisé des économies. En faisant mes tests, j’ai constaté que les ressources des services informatiques à l’heure actuelle sont surdimensionnées pour une architecture où le système d’exploitation des serveurs est « server Nano ».

Le concept de conteneur qui est la réelle grande nouveauté de « Windows server 2016 » apporte 3 évolutions majeurs :

  • L’administration à distance et en local via powershell V5.
  • L’utilisation de conteneur comme sur linux garantissant une étanchéité parfaite avec le système d’exploitation hôte.
  • Un suivi des versions de conteneurs par une communauté active.

Le nouveau système d’exploitation de Microsoft est époustouflant, au niveau de ses statistiques, que ce soit par les ressources utilisés ou par sa vitesse de déploiement.

Je pense néanmoins que le concept Microsoft de Cloud Hybride est encore trop jeune pour être mis en production tout de suite. Les entreprises n’ont pas toutes fini de virtualiser tous leurs serveurs. Pour 83% des directeurs de service informatique Windows Server 2016 ne sera pas mis en production avant au moins deux ans. On notera également que même si Microsoft construit des datacenter en France, les entreprises sont toujours plus ou moins réticentes à externaliser leurs données.

Le système d’exploitation Windows server Nano est utilisable « on promise » dès maintenant et est viable économiquement pour énormément d’entreprise, si celle-ci fait le choix de garder son système en interne. En revanche je pense qu’il faut attendre encore au moins un à deux ans avant de se lancer dans une architecture Cloud Hybride. Ce concept représente le futur de nos architectures système. Comme avec la virtualisation, il faut attendre que les solutions soient pleinement abouties pour ne pas subir de déconvenues.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *