Using Containers to Speed Up Development, to Run Integration Tests and to Teach About Distributed Systems
Marco Mambelli, Bruno Moreira Coimbra, Namratha Urs, Ilya Baburashvili

TL;DR
This paper presents a container-based approach for developing, testing, and teaching distributed systems, specifically using workspaces to facilitate rapid development, integration testing, and educational activities.
Contribution
It introduces a novel workspace container system that simplifies development, testing, and teaching of distributed systems, differentiating from traditional container approaches.
Findings
Workspaces enable quick reconfiguration for development and testing.
Containers facilitate offline development and debugging.
System is easily deployable on a laptop with good performance.
Abstract
GlideinWMS is a workload manager provisioning resources for many experiments, including CMS and DUNE. The software is distributed both as native packages and specialized production containers. Following an approach used in other communities like web development, we built our workspaces, system-like containers to ease development and testing. Developers can change the source tree or check out a different branch and quickly reconfigure the services to see the effect of their changes. In this paper, we will talk about what differentiates workspaces from other containers. We will describe our base system, composed of three containers: a one-node cluster including a compute element and a batch system, a GlideinWMS Factory controlling pilot jobs, and a scheduler and Frontend to submit jobs and provision resources. Additional containers can be used for optional components. This system can…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
