[linux-neuchatel] Linux, le cloud, autoconfiguration, le sandboxing ... et Microsoft??

Marc SCHAEFER schaefer at alphanet.ch
Sun May 10 09:04:22 CEST 2015


Bonjour,

lors de la conférence de Frédéric sur Ansible, nous avons digressé sur
divers thèmes, dont celui du pourquoi du quasi monopole de Linux dans
le cloud.

La raison en est certainement le fait que Linux permet une virtualisation
extrêmement légère basée sur des containers. La prolifération de projets
comme CoreOS (mini couche Linux de base), et celle d'outils de gestion
de containers de haut niveau (Docker) ou la discussion sur l'adaptation
du packaging à la distribution de services dans le monde Linux, en sont
certainement la preuve.

Cette virtualisation est aujourd'hui encore inaccessible à Microsoft:
il existe à ma connaissance des couches de sandboxing légères sous Microsoft,
mais uniquement proposées par des tiers pour des applications
très spécifiques non généralisables au cloud (application Sandboxing,
Sandboxing pour test de virus, et bien sûr Wine -- sisi: dans un chroot ou
un lxc c'est du sandboxing léger).

Toutefois la situation change sur deux fronts:

   - Microsoft est entrain de développer les couches basses d'un sandboxing
     Microsoft utilisable par Docker: initialement, ce projet ne devait
     servir qu'au cloud propriétaire Azure de Microsoft, mais il pourrait
     être également distribué comme logiciel externe, tout est question
     du risque calculé d'exposition à la concurrence

       Notons que Microsoft a simultanément annoncé une notion d'application
       sandboxing dans Windows 10, il s'agit certainement de la même
       technologie. L'ouverture semble déjà dépasser le projet initial.

   - Microsoft vient de sortir un système de gestion de configuration basé
     états[1], multiplateforme (Microsoft et Linux): le but est clair, c'est
     rendre Microsoft Azure intéressant pour les entreprises y déployant du
     Linux. Microsoft veut non seulement supporter l'autoconfiguration de
     systèmes Microsoft (qui en ont vraiment besoin, même si Ansible y
     tourne aussi), Linux (bah il y a des tonnes d'alternatives libres, dont
     Ansible) ainsi que les équipements réseaux (gerty, Ansible, ...)

Ma conclusion sera que le changement de stratégie de Microsoft suite à
l'engagement de son nouveau directeur est aujourd'hui extrêmement visible,
et contraste complètement avec les années Ballmer (`Linux est un cancer').
Microsoft veut devenir un acteur incontournable du cloud, et pour ce
faire, ils doivent intégrer Linux. C'est la stratégie classique du
Embrace, Extend, and Extinguish.

Toutefois, si le marché en voit un besoin, il se pourrait que cette
stratégie d'ouverture contrôlée se retourne contre Microsoft: même si les
couches basse de container restent propriétaires et internes à Azure, il
ne me semble pas impossible de développer des containers légers 
basés sur Docker (haut niveau), Ansible (autoconfiguration),
lxc (virtualisation légère Linux), Wine (lancement d'exécutables
Microsoft), et pourquoi pas btrfs pour du copy-on-write permettant à
100 instances de prendre 2 à 3 x la place disque.

Mais y-a-t-il vraiment tellement d'applications et de services cloud
implémentés uniquement sous Microsoft que l'on ne pourrait pas
faire tourner avec mono sous Linux ?  La question est légitime et
ressemble à celle du marché des mobiles.

De plus, certains diront qu'on peut déjà le faire avec kvm: toutefois 1) il
faut une licence Microsoft par VM  2) c'est beaucoup, beaucoup plus lourd
car les I/O, même virtualisées (VirtIO) sont gérées par le kernel Microsoft
puis par un kernel central Linux. Enfin, il faut un fichier ou un device
pour chaque filesystem: même si des solutions de copy-on-write sont
imaginables, elles sont bien plus simples avec un filesystem commun à
toutes les VM légères et du copy-on-write intégré à btrfs.
Sans compter que la détection de virii Microsoft (ou au minimum
le contrôle l'intégrité) peut se faire par un simple find dans le
filesystem global.

L'avenir dira, à mon sens, si le marché a réellement besoin
de VM légères Microsoft (dans ou à l'extérieur de Microsoft Azure), ou
si Linux maintiendra son statut d'OS de base standard de la virtualisation
légère.

NB: il est bien évident qu'un OS "java pur" ou ".NET pur" pourrait bien sûr
émerger: la plupart du temps la petite couche Linux ne sert qu'à lancer
une JVM, dans laquelle on exécute du bytecode Java, Python, Ruby, Scala ou
Perl 6 (https://en.wikipedia.org/wiki/List_of_JVM_languages,
https://en.wikipedia.org/wiki/List_of_CLI_languages); il s'agit déjà d'une
certaine forme d'application sandboxing, avec quelques trous dénoncés
régulièrement.

Bon dimanche :)


[1] http://blogs.msdn.com/b/powershell/archive/2015/05/06/powershell-dsc-for-linux-is-now-available.aspx





More information about the linux-neuchatel mailing list