À l’Ensimag, Linux est l’environnement dominant aussi bien en Informatique, qu’en Mathématiques appliquées.

En écoutant un capitaine de la gendarmerie discuter comment il avait déployé 70000 Linux à la Gendarmerie (émission “Libre à vous” de l’April sur la radio Cause commune), j’ai, en partie, mieux compris pourquoi le service informatique de l’Ensimag tenait à sa Cent0S et les Bug Buster à leur Manjaro, et pourquoi ils avaient raisons tous les deux.

Attention, il s’agit de MA vision des choses, pas celle des SI, ni celle des BuBu.

Attention, il faut ajouter beaucoup de nuances à mes propos partout dans ce document sur ce que font, ou ne font pas, les différents intervenants: les BuBu installent aussi des VM, et le service informatique propose aussi un accès SSH. Néanmoins mon coté joueur de Go m’indique que cela nuirait à la clarté de mon propos :-)

La vision “Grand compte” (service informatique de l’Ensimag)

Pour gérer ses 500+ machines de l’Ensimag, le SI s’appuie sur les mêmes 4 caractéristiques fondamentales que la Gendarmerie:

  1. La capacité de pousser une image sur chaque machine pour la mettre à jour quand le SI le désire.
  2. le contrôle absolu du matériel avec peu de variabilité (pour l’Ensimag, 10 types de machines max), le nombre total de machines (500 ou 70000) importe peu. Il ne faut déboguer que 10 installations si il y a 10 types de machines, et les répliquer.
  3. le contrôle absolu des logiciels installés sur chaque machine. Sans divergences, rien à effacer, rien à casser, dans une mise à jour de l’image.
  4. la séparation du /home de l’utilisateur, pour ne pas effacer les données utilisateur à la mise à jour de l’image.

Un point important pour les SI est d’utiliser une distribution Linux très solide avec peu de mises-à-jour pour ne pas avoir à continuellement à ré-installer les images. La fréquence me semble autour d’une image par mois. Le service info utilise CentOS.

CentOS a un énorme inconvénient: un catalogue logiciel pauvre et daté, ce qui, pour une école d’informatique, force les SI à installer à la main une centaine de logiciels en plus. Chaque installation d’un nouveau logiciel non fourni dans la distribution est un travail pénible. Il faut aussi installer quelques logiciels commerciaux, qui sont encore pires à gérer, mais ils supportent tous CentOS. Au final, c’est un gros boulot à l’installation et à la maintenance.

La vision “Petit compte” (les Bug Busters, affectueusement nommés BuBu par les étudiants)

Les Bugs Busters accompagnent et supportent 1000 étudiants, propriétaire et administrateur, chacun, d’une seule machine. Chaque machine est gérée au rythme de son propriétaire.

Pour accompagner, de manière asynchrone, ces 1000 machines différentes, ils ont choisi de faire une installation Linux simple et rapide pour le BuBu, car il faudra la faire 300 fois pour les 1A: si la machine à Windows, Windows 10 sait maintenant réduire ses partitions (1 minute chrono); aider l’étudiant à booter l’installeur Linux (1-3 minutes); discuter du schéma de partition (1-5 minutes); puis, à la fin de l’installation, démarrer l’installation des logiciels utiles à l’Ensimag (20 secondes pour démarrer). Le reste du temps d’installation est géré par l’étudiant propriétaire ! L’installation dure probablement 1h pour l’étudiant, mais ne sollicite que quelques minutes pour le BuBu. Il y a toujours 10% d’installation à problème, plus longues, mais qu’il ne faut déboguer qu’une fois dans la scolarité de l’étudiant.

Ensuite, pour que les Bubu ne fassent pas l’administration de 1000 machines, l’étudiant devra pouvoir ajouter les logiciels dont il a envie (et pas uniquement besoin), sans l’aide des BuBu. Pour cela il faut une distribution Linux avec un catalogue ample, une installation de logiciels triviale et des mises-à-jours également triviales. C’est le cas des Linux qui visent le grand public. Ils incluent aussi trivialement Steam, Discord, Skype, Teams et Zoom (avec flatpak et/ou snap, attention le niveau de sécurité supplémentaire flatpak/snap dépend principalement du soin pris par le fournisseur du paquet)

Ce n’est pas le cas des distributions RedHat/CentOS qui visent les grand comptes.

Les BuBu ont choisi Manjaro Linux.

Installer Linux dans une VM: c’est plus de travail pour le BuBu que l’installation d’un Linux de base.

Installer VirtualBox sur l’hôte; configurer l’UEFI du laptop pour accélérer la virtualisation, très souvent désactivé par défaut dans les laptops grand public; configurer la machine simulée; lancer le téléchargement de l’image (CentOS Ensimag fait environ 30-40 Go); installer l’image; configurer le système hôte; prend autant, ou plus, de temps de BuBu qu’une installation de Linux à part.

Tous les problèmes de supports des étudiants deviennent aussi plus complexes: est-ce l’hôte, la VM ou l’interaction entre les deux qui est coupable ?

La communication avec l’hôte est compliquée (faire du ssh en local pour le plus simple)

Pourquoi, pour les BuBu et les étudiants, CentOS dans une VM VirtualBox n’est pas la solution plébiscitée pour les laptops étudiants

Avec une installation simple de CentOS SI dans VirtualBox, les quatres caractéristiques “grand compte” sont absentes ! L’installation ne se mettra pas magiquement à jour toute seule ! L’expérience utilisateur est alors mauvaise car il n’y a que des inconvénents en plus: installer un autre logiciel est aussi galère que pour le SI, et il faut le faire 1000 fois pour les BuBu; c’est plus lent que sur machine nue (multi-cœurs, disque, réseau, affichage); l’image de l’installation n’est à jour que jusqu’à la suivante, après il manque des choses (1 mois en moyenne ?); l’auto-support “Internet” marche mal car les logiciels sont datés;

Il est techniquement possible de récupérer deux caractéristiques en séparant le /home (séparer le disque /home dans la VM) et en téléchargeant automatiquement la mise à jour de l’image système (20-40Go chaque mois). Ce travail supplémentaire (maj de l’image CentOS en plus, différente de celle de l’école, pouvant casser des installations distantes) dépasse probablement le coût d’installation d’un Linux grand public sur chaque laptop d’étudiant.

Pour récupérer les deux autres pré-requis (contrôle absolu du matériel et du logiciel), l’Ensimag devrait acheter un laptop à chaque étudiant et l’administrer.

En résumé

« On peut installer mille machines différentes une fois. On peut installer une même machine mille fois. Mais on ne peut pas installer mille machines différentes milles fois. »

Les machines de l’Ensimag sont formidablement administrées par les SI en s’appuyant sur quatre caractéristiques qui sont toutes fausses sur les machines des étudiants (Contrôle absolu de la variabilité du matériel, de l’absence de variabilité du logiciel, de la date des mises-à-jour et de la partition de données). Les SI administrent en continue 500+ machines, mais uniquement de 10 types différents. Les Bug Busters ne peuvent pas administrer 1000 machines différentes en continue. Les Bug busters utilisent donc une autre voie, qui consiste à faire une installation grand public complète sur chaque machine, et reporte sur l’étudiant l’administration de sa machine de la manière la plus douce possible.

CentOS dans une VM VirtualBox n’offre pas les quatres caractéristiques qui font que cela marche pour les machines de l’Ensimag. L’installation pénible d’un logiciel hors catalogue est fréquente car le catalogue est petit, surtout comparé à Debian. Enfin, CentOS dans VirtualBox n’est pas administré par les SI donc elle ne se met pas à jour tute seule, de manière transparente.

Si Linux était le système installé par défaut sur les machines des étudiants, Docker, LXC, Kubernetes, Chef, Firejail, NFSv4, Ceph, IpV6 permettraient de faire une convergence rigolote et performante entre les deux solutions, mais, si Linux était installé par défaut, il n’y aurait pas de problèmes à la base.