Pourquoi modules#
Le mainteneur du parc logiciel d'un serveur de calcul scientifique est confronté à un certain nombre de problématiques difficilement conciliables, qui imposent de repenser le paradigme d'une installation au sein d'une arborescence centralisée des outils.
Parmi ceux-ci, citons à titre d'exemple :
- L'évolution rapide et l'offre pléthorique des logiciels utilisés en Biologie, ainsi que les demandes d'évaluation de nouveaux outils par les scientifiques, imposent une installation de multiples outils parfois incompatibles : conflits de noms, versions d'un même logiciels incompatibles entre elles (exemple les index bwa dont le format a changé entre la version 5 et la version 6)
- Le besoin de pérennité d'une chaîne logicielle tout au long du cycle de vie d'analyses potentiellement longues. Cette pérennité est incompatible avec une maintenance et une évolution du logiciel installé de manière centralisée.
- Les demandes d'évaluation de nouvelles versions en parallèle de l'utilisation d'une version de "prod", représentent un casse-tête pour le mainteneur.
- Le besoin de disposer de telle ou telle version d'un même logiciel pour traiter des données différentes.
Il est donc nécessaire pour traiter ces différents points de pouvoir répondre aux problèmes suivants :
- Côté Utilisateur :
- Assurer la pérennité des logiciels utilisés
- Autoriser une plus grande flexibilité, avoir le choix des outils à la carte
- Tester de nouvelles versions plus aisément
- Stabiliser des pipelines et outils développés
- Pouvoir installer de nouveaux outils de manière simplifiée
- Côté mainteneur du parc logiciel :
- Autoriser l’installation de versions concurrentes
- Faciliter l’installation, la maintenance et la désinstallation
- Limiter les problèmes de conflits de noms
- Cloisonner les applications
après évaluation de différentes solutions lmmod,
Modules http://modules.sourceforge.net/ est un gestionnaire d'environnement qui nous permet de répondre à plusieurs problèmes et d'assurer une souplesse quant à l'utilisation des outils disponibles sur le cluster.
module nous permet :
- la mise à disposition de versions concurrentes d'un même logiciel.
- la pérennité d’un environnement particulier de travail.
- la facilité d'évaluation de nouvelles versions.
- de proposer une plus grande flexibilité de travail.
- de proposer des solutions à la carte.
- de faciliter l’installation et la maintenance du parc logiciel.
Grâce à cet outil, on peut voir les outils installés sur le cluster comme des "Plug In" qu'il est possible de choisir et d'utiliser selon ses besoins.
Modules permet une modification dynamique et réversible de l’environnement de travail de l’utilisateur. Il est possible de définir les modifications de l'environnement tels que l'export de variables d'environnement comme la valeur du PATH, MANPATH, LDPATH ou toute autre variable d'environnement utile.
Concrètement, à ce jour, 396 modulefiles sont disponibles, recouvrant 298 packages de logiciels bio-info.
Comme le montre la capture d'écran ci-dessous, certains de ces packages sont disponibles en une ou plusieurs versions