WLS est une couche de compatibilité développée par Microsoft pour exécuter nativement les exécutables Linux sur Windows.
Microsoft a récemment annoncé la disponibilité générale de WSL 3.0, une mise à jour qui positionne Windows comme une plateforme de développement complète pour les charges de travail basées sur des conteneurs et alimentées par l'IA.
La principale innovation de cette version réside dans l' introduction de l'outil en ligne de commande « wslc » (WSL Containers) et de son alias intégré « container.exe ». Cet utilitaire, associé à une API SDK compatible avec C++ et C#/WinRT, permet aux développeurs et aux applications Windows natives de créer, d'exécuter et de gérer des conteneurs Linux sans recourir à des environnements de virtualisation tiers.
Principales nouveautés de WSL 3.0
L'outil « wslc » couvre l'intégralité du cycle de vie des conteneurs, permettant des opérations telles que la création, le démarrage, l'arrêt, l'exportation et l'inspection des images système , ainsi que la limitation des ressources CPU et mémoire allouées à chaque instance. Côté réseau, la nouvelle version permet la création de réseaux virtuels personnalisés, la connexion des conteneurs à plusieurs réseaux et la redirection de ports . De plus, les développeurs peuvent interagir avec les disques durs virtuels (VHD), configurer les chemins de stockage par défaut et partager des répertoires Windows directement depuis les conteneurs Linux montés.
Pour l'analyse et l'observabilité, WSL 3.0 introduit la commande « wslc logs » et la surveillance des événements en temps réel , fournissant des statistiques détaillées et une mise en évidence des journaux d'activité du conteneur. L'intégration au niveau du système d'exploitation est renforcée en permettant aux utilisateurs non privilégiés d'accéder aux unités de traitement graphique (GPU) depuis le conteneur, ce qui accélère l'exécution des modèles d'IA et des outils graphiques développés localement.
Isolation et réseaux optimisés
Contrairement aux architectures de virtualisation traditionnelles, WSL 3.0 déploie les conteneurs en utilisant les privilèges élevés du service Windows « wslservice.exe ». Toutefois, pour garantir l'isolation, ce service lance des processus secondaires appelés « wslcsession.exe », qui s'exécutent avec les permissions de l'utilisateur système courant. Ces sessions sont strictement séparées ; chacune se voit attribuer son propre disque dur virtuel (VHD), situé par défaut dans le répertoire de l'utilisateur (« %AppData%\Local\wslc\sessions »).
Les performances et la compatibilité du réseau ont été améliorées, car l'accès inter-systèmes de fichiers utilise désormais par défaut la technologie virtiofs , qui offre des vitesses de lecture et d'écriture jusqu'à deux fois plus rapides que l'accès aux fichiers Windows traditionnel.
En matière de communications, le mode réseau « consommer » est introduit. Ce mode améliore l’interopérabilité en acheminant le trafic réseau Linux directement via les interfaces réseau Windows, permettant ainsi aux applications conteneurisées d’interagir de manière transparente avec les réseaux privés virtuels (VPN) existants, les proxys d’entreprise et les politiques de sécurité de l’entreprise.
Pour faciliter l'adoption de WSL 3.0 en production, Microsoft a déployé des contrôles de gouvernance via Microsoft Intune et Microsoft Defender for Endpoint (MDE). Les administrateurs informatiques peuvent désormais utiliser MDE pour surveiller les processus, les réseaux et les fichiers au sein des conteneurs WSL, et corréler ces activités avec le système hôte pour une analyse de sécurité unifiée. De plus, les stratégies Intune permettent de désactiver l'accès aux conteneurs ou de configurer des listes d'autorisations de journalisation, obligeant ainsi les équipes de développement à extraire les images uniquement à partir de référentiels vérifiés.
L' écosystème d'outils compatibles avec WSLC s'étend rapidement grâce aux contributions de la communauté. L' éditeur Visual Studio Code prend désormais en charge WSLC comme pilote par défaut via son extension « Dev Containers », ce qui facilite la compilation à distance du code source.
De même, des outils comme Aspire peuvent utiliser WSL 3.0 comme environnement d'exécution principal. Outre l'interface en ligne de commande, les développeurs peuvent gérer l'infrastructure locale à l'aide d'applications visuelles telles que « Lazywslc » (basé sur le terminal), l'application de bureau « WinUI 3 WSL Container Desktop », ou encore exécuter des commandes à distance via des scripts depuis des distributions Linux hébergées sur WSL. À l'avenir, Microsoft prévoit d'étendre cet écosystème en proposant une prise en charge complète de l'orchestration wslc compose, permettant ainsi une compatibilité directe avec les fichiers compose.yaml standard existants.
Enfin, si vous souhaitez en savoir plus, vous trouverez les détails en suivant ce lien.