Les containers : la prochaine grande mutation de Windows 10 ?

Les containers : la prochaine grande mutation de Windows 10 ? Microsoft a commencé à intégrer la nouvelle technologie de virtualisation. Elle pourrait permettre, à terme, de rendre l'OS personnalisable à la manière d'un PC monté sur-mesure.

Jusqu'ici, les containers Docker se sont surtout fait connaître dans l'univers du cloud computing. Nettement plus légers que les machines virtuelles traditionnelles, ils font figure de solution idéale pour assurer la portabilité des applications, d'un cloud à l'autre (public, privé...). Ils permettent par ailleurs de dessiner des environnements de test logiciel équivalents aux plateformes de production, limitant ainsi les mauvaises surprises lors des déploiements. Last but not least, les containers peuvent contribuer à isoler les uns des autres les composants d'une application. Dans cette logique d'architecture dite en "microservices", les composants dockerisés peuvent être maintenus indépendamment, mais aussi rapidement répliqués sur des grappes de serveurs (pour encaisser des pics d'audience par exemple).

La prochaine étape de cette révolution va très probablement concerner les terminaux. Au premier rang desquels les terminaux Windows.

Vers une dockerisation de Windows 10

Microsoft s'intéresse depuis longtemps aux containers, notamment de type Docker. L'éditeur a déjà porté cette technologie sur son cloud Azure en vue d'en fluidifier les processus de déploiement. En lien avec Docker, il a aussi décliné le moteur Docker (initialement limité à Linux) pour Windows Server, donnant ainsi naissance à des containers natifs au format Windows.

Mais le groupe commence à pousser ce type de technologie au cœur de Windows 10 dans l'optique d'en faire bénéficier les devices (PC, tablettes, objets connectés...). C'est ce qui ressort d'une conférence donnée en mai dernier par Alex Ionescu, directeur de la stratégie au sein de la société de sécurité informatique CrowdStrike. Expert en systèmes d'exploitation, Alex Ionescu est loin d'être un inconnu. Il est co-auteur de Windows Internals, un ouvrage de référence sur l'architecture de Windows... qui a même sa page de présentation sur le site de Microsoft.

Une mutation déjà bien avancée

D'après Alex Ionescu, Microsoft a déjà commencé à faire évoluer Windows 10 vers une ossature à base de containers. Le chantier ferait même déjà l'objet de plusieurs projets de R&D ciblant différents niveaux de l'OS. L'un des tous premiers d'entre eux, dont le nom de code serait Helium, viserait à assurer la compatibilité des logiciels PC (Win32) avec la nouvelle édition de Windows 10 conçue pour les terminaux ARM de nouvelle génération (alias Windows 10 S). Sous le capot, Microsoft s'adosserait à une technologie d'abstraction légère, très proche de la logique des containers. "Elle consiste à virtualiser les systèmes de fichiers et de registres de l'OS. Elle s'apparente à une virtualisation du contrôle du compte utilisateur UAC, mais en se limitant à l'application", détaille Alex Ionescu.

La technologie Argon est utilisée par Microsoft pour prendre en charge les containers Docker sur Windows Server et son cloud Azure par le biais de silos. © Capture JDN

Autres projets évoqués par Alex Ionescu portant sur la containerisation de Windows 10 : les initiatives Krypton et Xenon. Toutes deux feraient appel à une couche de micro-virtualisation basée sur une version allégée de l'hyperviseur de Microsoft (alias Hyper-V). La brique Krypton aurait été intégrée par l'éditeur à l'occasion de la mise à jour Fall Creators de l'OS, dont la sortie en version finale est imminente. Introduite au cœur de la solution Windows Defender Application Guard, elle serait mise en musique pour orchestrer une toute nouvelle fonctionnalité de sécurité (sur laquelle Microsoft a d'ailleurs déjà communiqué). A savoir : un dispositif conçu pour isoler et neutraliser via un container étanche les potentiels logiciels malveillants téléchargés via le navigateur Edge.

La micro-virtualisation pour minimiser
les risques de sécurité

Quant à l'initiative Xenon, elle aurait été lancée pour assurer le portage sur Windows 10 des containers Docker historiques (sous Linux). Une fonctionnalité aujourd'hui utilisée dans de nombreuses R&D pour monter des stations Windows de développement d'applications à base de containers.

Principal avantage de la micro-virtualisation ? Contrairement à la containerisation pure qui fait directement appel à l'OS pour fonctionner (sans en virtualiser aucun composant), la micro-virtualisation émule une partie des services du système via une machine virtuelle. A la différence de la virtualisation traditionnelle, elle n'embarque néanmoins dans la machine virtuelle que les services auxquels son application "hôte" a vraiment besoin. Elle ne lui donne par conséquent pas accès à toutes les librairies du système sous-jacent. Ce qui contribue du même coup à minimiser les risques de sécurité en réduisant la surface d'attaque potentielle. L'approche est assez similaire à celle de Suse avec JeOS.

Microsoft a-t-il le choix ?

Il ne serait pas illogique de voir Microsoft multiplier à l'avenir les fonctionnalités à base de containers dans Windows 10. Notamment pour améliorer la sécurité d'autres applications (et pourquoi par Office...). Mais l'éditeur a-t-il le choix ? Le coup d'envoi "officiel" de la dockerisation des terminaux a en effet déjà été donné, et par Docker lui-même. A travers le projet open source Moby annoncé mi-avril, la société de San Francisco entend construire une vaste bibliothèque de briques containérisées, standard, permettant d'assembler des systèmes logiciels de façon personnalisée… "L'objectif est d'impliquer des milliers de développeurs dans une logique d'open innovation. A travers Moby, ils pourront proposer et partager leurs composants, pour construire des OS pour l'IoT, des distributions Linux à la carte…", nous confiait en juin Solomon Hykes, directeur technique et fondateur de Docker. "Avec Moby, nous souhaitons fédérer autour de Docker une R&D à grande échelle du niveau de celle des plus grands acteurs de plateformes."

Face à cette initiative, Microsoft va devoir se positionner. Faire évoluer Windows 10 vers une architecture en containers pourrait d'ailleurs lui apporter beaucoup. Au-delà d'un renforcement structurel en matière sécurité, cela contribuerait à optimiser la fiabilité des processus de test et de déploiement de l'OS. Les containers pourraient permettre aussi, pourquoi pas, de faire évoluer Windows 10 vers un système d'exploitation 100% configurable, avec à la clé des fonctionnalités intégrées à la carte en fonction des besoins de l'utilisateur (poste bureautique, station graphique, PC de jeux, objets connectés ou wearable...).

Contacté par le JDN, Microsoft ne souhaite pas s'exprimer officiellement sur le sujet "dans l'immédiat".