BCE: Berkeley's Common Scientific Compute Environment for Research and Education


There are numerous barriers to the use of scientific computing toolsets. These barriers are becoming more apparent as we increasingly see mixing of different academic backgrounds, and compute ranging from laptops to cloud platforms. Members of the UC Berkeley D-Lab, Statistical Computing Facility (SCF), and Berkeley Research Computing (BRC) support such use-cases, and have developed strategies that reduce the pain points that arise. We begin by describing the variety of concrete training and research use-cases in which our strategy might increase accessibility, productivity, reuse, and reproducibility. We then introduce available tools for the “recipe-based” creation of compute environments, attempting to demystify and provide a framework for thinking about DevOps (along with explaining what “DevOps” means!). As a counterpoint to novel DevOps tools, we’ll also examine the success of OSGeo-Live OSGL – a project that has managed to obtain and manage developer contributions for a large number of geospatial projects. This is enabled through the use of commonly known skills like shell scripting, and is a model of complexity that can be managed without these more recent DevOps tools. Given our evaluation of a variety of technologies and use-cases, we present our current strategy for constructing the Berkeley Common Environment BCE, along with general recommendations for building environments for your own use-cases.