Speakers | |
---|---|
Sander van der Burg | |
Schedule | |
Day | Saturday |
Room | H.1302 |
Capacity | 200 |
Start time | 14:00 |
End time | 15:00 |
Duration | 01:00 |
Info | |
Track | CrossDistro devroom |
Using NixOS for declarative deployment and testing
Linux distributions are often used in a distributed setting, such as web application environments containing web servers, databases, proxy servers which are all connected to each other. Manually installing and configuring networks of machines is often a complex and time-consuming process. Upgrading is even more difficult, as this may render (parts) of a system inaccessible. Furthermore, it is also difficult to test a distributed environment, since it is usually too expensive to set up a test environment faithfully reproducing a production environment.
NixOS is a Linux distribution built on top of the Nix package manager, a purely functional package manager. In NixOS, a system configuration is built from a declarative specification capturing the complete system configuration. Moreover, because of the Nix heritage, a user can safely and efficiently install multiple configurations next to each other without interference. This allows users to perform atomic upgrades and rollbacks of a complete Linux distribution.
In this talk we explain how we can use NixOS to manage a network of machines by using a declarative specification of a network of NixOS configurations. We can use this specification to:
(1) Automatically, reliably and efficiently install or upgrade a network of physical machines (2) Deploy virtual machines in a cloud infrastructure (3) Generate networks of virtual machines to automatically test a distributed environment with complex environmental dependencies. These virtual machine instances use components stored on the host machine, so that the same components can be shared across multiple machines and no disk images are required, making virtual machine instances relatively cheap.
Concurrent events:
Next (up to 3) talks in the same room (H.1302):
When | Event | Track |
---|---|---|
15:00-16:00 | Amazing openSUSE | CrossDistro |
16:00-17:00 | Gentoo's RelEng and catalyst use | CrossDistro |
17:00-18:00 | Gentoo's Reform and Future | CrossDistro |