Deciding on the ideal software environment -- Personal experiences with Anaconda, Docker, virtual machines, and servers
The starting point of most computational research projects is deciding what type of system should the software run on. Whether you plan on developing the software in-house or contracting an outside vendor, this is an important decision as it can have an effect on not just the software's development, but the entire lifetime of the project, long after development has completed. Currently, many options are available to RSEs. Here, we intend to cover: Anaconda environments Docker containers Virtual machines, including Amazon Web Services Servers Each of these methods offer different promises of long term maintenance and reproducibility. While the developer's prior experiences will be one important deciding factor, as projects are passed from the initial developer to long-term maintainer(s), other factors become evident. In this talk, we will give a summary of the options available and share some past personal experiences -- both positive and negative -- with each of them. A recording of this session is available on YouTube: https://youtu.be/1Y-MFPcoyIYThis work was funded by: Innovate UK - Government Office of Tech Transfer UKAEA Innovation Division IRIS Community
Institutions
- Weatherford College (US)
Publication Details
- Journal
- Zenodo (CERN European Organization for Nuclear Research)
- Published
- 2024-12-06
- DOI
- https://doi.org/10.5281/zenodo.14290434
- Primary Topic
- Software System Performance and Reliability
- Type
- article
- Field-Weighted Citation Impact
- 0.00