Ik manage een fors research rekencluster en één van de grootste uitdagingen daar is het goed kunnen managen van software en packages. Cluster is ingedeeld in gebruikers groepen met eigen afgeschermde storage, draait op Centos, en de gebruikers populatie is diverse, van beginner tot absolute pro. Wij willen ook de gebruikers helpen om op een goede manier hun software te beheren.
De groepen met meerdere gebruikers lopen vaak vast op package/dependency conflicten en versie management in R, python etc.
We hebben het 'module load' systeem geprobeerd; dit was voor de gebruikers eenvoudig, maar lost het probleem niet voldoende op.
Nu werken we met gnu guix (https://guix.gnu.org/):in principe fantastisch en als het werkt is dat het ook. Een centrale 'software store' incl een volledig sluitend dependency pad, waar je door het gebruik van profielen heel simpel software sets kan gebruiken zonder dat het elkaar in de weg zit. Maar: het toevoegen van nieuwe pakketten aan de store is soms erg complex en tijdrovend. En als er storingen optreden dan zijn die erg lastig te verhelpen.
Ik moet de haalbaarheid van dit soort systemen bewaken en maak me zorgen over de supportlast die we hierop ondervinden.
Wat zijn alternatieven? Het sterke punt van ons cluster is juist de support en toegankelijkheid voor beginnende onderzoekers. Maar door ons te richten op 1 package manager kunnen we dat volhouden (only just..). Als ieder voor zich met alle decentrale oplossingen aan de gang gaat (conda, eigen aparte folders etc etc) dan is troubleshooten een echte nachtmerrie.
Dus het idee van een centrale software 'store' vind ik perfect. Ik hoor vaak dat de bron van de complexiteit zit in de manier waarop veel opensource software is gemaakt. Niet per se door software engineers, maar veelal door onderzoekers zelf. Dit is nu eenmaal kenmerkend voor ons research veld in de lifesciences en gaan we niet veranderen.
Zijn er hier meer mensen die dit soort oplossingen in gebruik hebben? Ik ben benieuwd naar ervaringen en evt alternatieven.
De groepen met meerdere gebruikers lopen vaak vast op package/dependency conflicten en versie management in R, python etc.
We hebben het 'module load' systeem geprobeerd; dit was voor de gebruikers eenvoudig, maar lost het probleem niet voldoende op.
Nu werken we met gnu guix (https://guix.gnu.org/):in principe fantastisch en als het werkt is dat het ook. Een centrale 'software store' incl een volledig sluitend dependency pad, waar je door het gebruik van profielen heel simpel software sets kan gebruiken zonder dat het elkaar in de weg zit. Maar: het toevoegen van nieuwe pakketten aan de store is soms erg complex en tijdrovend. En als er storingen optreden dan zijn die erg lastig te verhelpen.
Ik moet de haalbaarheid van dit soort systemen bewaken en maak me zorgen over de supportlast die we hierop ondervinden.
Wat zijn alternatieven? Het sterke punt van ons cluster is juist de support en toegankelijkheid voor beginnende onderzoekers. Maar door ons te richten op 1 package manager kunnen we dat volhouden (only just..). Als ieder voor zich met alle decentrale oplossingen aan de gang gaat (conda, eigen aparte folders etc etc) dan is troubleshooten een echte nachtmerrie.
Dus het idee van een centrale software 'store' vind ik perfect. Ik hoor vaak dat de bron van de complexiteit zit in de manier waarop veel opensource software is gemaakt. Niet per se door software engineers, maar veelal door onderzoekers zelf. Dit is nu eenmaal kenmerkend voor ons research veld in de lifesciences en gaan we niet veranderen.
Zijn er hier meer mensen die dit soort oplossingen in gebruik hebben? Ik ben benieuwd naar ervaringen en evt alternatieven.