ACM REP24 Tutorial: Reproducible distributed environments with NixOS Compose - Polytech Grenoble Access content directly
Other Publications Year : 2024

ACM REP24 Tutorial: Reproducible distributed environments with NixOS Compose

Abstract

Developing software environments for experiments is an iterative, tedious, and time consuming process, even more when aiming for reproducibility. A widespread approach is to rely on self-contained software environments called images, be it containers, virtual machines, or tarballs (as used on Grid'5000). Practitioners usually build their image multiple times, adding every time a forgotten dependency or fixing a previously added one. Worst, the build process of such image often does not stand the test of times: when we update the apt repositories and install packages in a dockerfile naïvely, the downloaded package version will evolve over time and the image shall eventually fail to build when the package repositories are no longer supported upstream. In the case of Grid'5000, the building time of such images takes around ten minutes for full system tarballs, which does not encourage the experimenters to follow good reproducible practices when setting them up. As a result, those images cannot be rebuilt nor modified by someone else. In this tutorial, we introduce the users to NixOS~Compose, a tool based on Nix and NixOS to generate and deploy reproducible environments on distributed platforms. We will first present Nix and the notions required to use NixOS Compose. As NixOS Compose can target several platforms, the users will set up their environment with lightweight containers (docker) on their local machines, allowing them to iterate quickly on their environment description. Once the environment ready with containers, users will be able to quickly test it on the Grid'5000 testbed using kexec, before generating a full system tarball.
Fichier principal
Vignette du fichier
rep24_tutorial_nxc.pdf (131.54 Ko) Télécharger le fichier
rep24_tutorial_nxc (1).pdf (131.54 Ko) Télécharger le fichier
Origin Files produced by the author(s)

Dates and versions

hal-04613983 , version 1 (17-06-2024)

Licence

Identifiers

  • HAL Id : hal-04613983 , version 1

Cite

Dorian Goepp, Fernando Ayats Llamas, Olivier Richard, Quentin Guilloteau. ACM REP24 Tutorial: Reproducible distributed environments with NixOS Compose. 2024, pp.1-3. ⟨hal-04613983⟩
29 View
3 Download

Share

Gmail Mastodon Facebook X LinkedIn More