I am a huge fan of Singularity to deploy software on HPC clusters. But lately I have been playing around with Spack. Spack is amazing as well, but sometimes Singularity works better for legacy software or software that has the potential to become legacy.
However Spack has the potential to allow us to build and deploy nontraditional software on an HPC cluster. For example, I use many simple tools to generate reports. With Singularity I use
However I found it easier to deploy the following in Spack
or with the help of the above
Spack is really powerful as long as the compilers you require are already present (in case you do not have admin access to install or update software that lives outside of the Spack install).