On Sun, Oct 13, 2019 at 05:45:43PM +0200, Frederic Dumas wrote: > Azure, plutôt que le vrai noyau Linux. Sans aucune incompatibilité, jamais, > vraiment?
En fait, qui utilise Microsoft Azure ici? ça serait intéressant de regarder ce que dit `dmesg' et `uname -a'. Je fais trois suppositions (basées sur quelques lectures comme p.ex. https://www.zdnet.com/article/windows-10-is-getting-a-microsoft-built-linux-kernel/) a) des containers Microsoft Windows Subsystem for Linux (WSL1) *donc sans kernel Linux -- ça a été le cas, c'est peut-être moins le cas (à vérifier), c'est le plus proche de la virtualisation de type container, mais il y a eu des problèmes de performance, voir plus bas ça me semble en particulier vraisemblable pour des applet spécifiques: style base de données, etc, organisées en lego un peu comme les images Docker b) des Linux virtualisés comme dans kvm ou VirtualBox, soit Microsoft HyperV + kernel Linux: c'est le plus proche de la virtualisation classique, moins performant que les containers clairement plus approprié si le client veut gérer sa propre VM soi-même, faire du Docker dedans, etc c) une version modifiée, mais open source, du kernel Linux qui tourne sous Microsoft HyperV: ce que Microsoft appelle WSL2 -- solution créée pour améliorer la performance de a) (notons que tant que Microsoft ne distribue pas ce kernel modifié, pas besoin de rendre à l'open-source: on peut supposer que la version qui tourne sur Azure n'est pas exactement celle des patches open-source que Microsoft a volontairement distribués, car le kernel Linux est en GPLv3 et pas A-GPL). Apparemment et d'après Microsoft, le meilleur compromis entre a) et b): probablement qu'un kernel Linux modifié tourne dans HyperV et qu'à l'intérieur des containers lxc ou autre sont lancés: Docker avait amorcé de mouvement d'ailleurs. Donc dire que le kernel Linux a été Extinguished par Microsoft dans Azure est faux aujourd'hui. Je n'avais pas bien suivi l'évolution récente vers WSL2. Sur la difficulté d'émuler une API: L'API Linux est bien conçue (sur la base de l'API Unix), comporte relativement peu d'appels systèmes par rapport à Microsoft. Il y a eu quelques problèmes, principalement de performance car la sémantique Microsoft est parfois étrange, des problèmes de corruptions de données lors d'échanges de données entre Microsoft et le Linux containerisé, etc. D'où l'idée de WSL2. Si tu veux en savoir plus, cherche Windows Subsystem for Linux, qui est une interface de containerization de Linux sous Microsoft: symétriquement cela serait comme si on tournait des applications Microsoft dans un WINE dans un container lxc, lxc ou Docker. La stratégie actuelle de Microsoft (à l'envers du remplacement du kernel Linux, avec WSL2) montre bien qu'ils ont essayé l'Extinguish (WSL1), mais que cela n'a pas donné les résultats escomptés (principalement performance), et donc qu'ils sont revenus en arrière à l'étape d'Extend (ajouter des fonctionnalités nécessaires à Microsoft Azure et HyperV au kernel Linux, sous forme propriétaire non distribuée et/ou sous forme open source). PS: Microsoft Azure ne tourne pas exactement Microsoft Windows: je suppose qu'ils ne tournent qu'une couche minimale de l'OS, à la ESXi de VMware (mais là c'est un kernel Linux modifié). _______________________________________________ gull mailing list [email protected] https://forum.linux-gull.ch/mailman/listinfo/gull
