swcarpentry / DEPRECATED-site

DEPRECATED: see https://github.com/swcarpentry/website for the current website.
Other
55 stars 134 forks source link

What should we teach scientists about software installation? #963

Closed gvwilson closed 8 years ago

gvwilson commented 9 years ago

What should we teach about installing software, and what tools should we use when teaching? Discussion started with this mailing list thread - please add your thoughts below.

ocaisa commented 9 years ago

The specific tool that started the discussion was EasyBuild, which was created more so for installing software in High Performance Computing environments. It essentially operates as a package manager behind a 'module' environment (so you can have multiple software versions side by side). It does its job really well (first in cluster environments and now Cray systems too) and the community is growing, which means more and more software is being provided. One great thing it does for training is that it gives a sanitized, reproducible environment. This is exciting for HPC training, because in general the software environment varies dramatically between sites and practical examples require lots of tinkering.

mscook commented 9 years ago

I'm leaning towards brew + linuxbrew with homebrew-science formulas. It will cover desktop (OSX/Linux) & HPC. In the next week or so I'll have 4 microbial genomics pipeline's brew installable.

boegel commented 9 years ago

If you have any specific questions on EasyBuild, let me know (I'm the EB release manager).

A freshly updated slide deck on EasyBuild is available at http://users.ugent.be/~kehoste/EasyBuild-intro-Espoo_20150506.pdf.

A list of software packages we support in the latest release (v2.1.0) is available at https://github.com/hpcugent/easybuild/wiki/List-of-supported-software-packages

cboettig commented 9 years ago

On the email thread @eddelbuettel also mentioned that one could teach students about Docker containers for working in a portable, reproducible, sanitized environment. Dirk highlighted that a principle advantage is that Docker and the container concept have huge uptake / mindshare in this context, avoiding the problem of fracturing standards.

As this discussion has emphasized HPC platforms, I'll note that every HPC administrator I've spoken to in the last few months has said that they are talking about Docker and how they can support containers. For instance, NERSC has a prototype container engine that would be able to run Docker containers on their newest CRAY supercomputer.

An additional advantage of the container approach is that it teaches students a tool that they can use equally well locally on most laptops and with all of the major cloud providers.

chendaniely commented 9 years ago

@mscook is there something in Linux brew that can't be done by manually adding ppa's? If it's a wrapper around yum and apt-get I think teaching the Linux tools would be more beneficial and portable than using Linux brew.

I'm also +1 to teaching docker. I'm trying to get the VirtualBox VMs in my lab over to docker.