Subaru Telescope, an 8meter class optical telescope located in Hawaii, has been using a high availability commodity cluster as a platform for our Observation Control System for many years.1 A concerted attempt to virtualize this infrastructure using conventional virtual machines2 was eventually scuttled due to performance impacts on the observation software under sustained use. With the ascendance of container-based virtualization, and its promise of high-efficiency, we recently attempted this effort anew, and have found success with an approach that employs Linux (LXC) containers. This has provided immediate benefits in maintenance, risk management and availability. In this paper, we document our transition and discuss the rationale for this choice vs. the arguably more popular Docker containerization scheme. We list some of the issues we encountered and solved to realize a successful transition to containers. We have also recently converted our software stack to being based on Miniconda, a popular, opensource, crossplatform software distribution service. This move basically decoupled our software completely from the operating system platform, and provides a virtualized software stack with many desirable benefits. The combination of the LXC containers and Miniconda gives us an orthogonal three-axis virtualization scheme with extreme flexibility. We present our system for managing Miniconda environments, the benefits that accrue, and how this three-axis approach to virtualization has altered our deployment and management strategies.
|