Purely Functional System Configuration Management

10 years 10 months ago
Purely Functional System Configuration Management
System configuration management is difficult because systems evolve in an undisciplined way: packages are upgraded, configuration files are edited, and so on. The management of existing operating systems is strongly imperative in nature, since software packages and configuration data (e.g., /bin and /etc in Unix) can be seen as imperative data structures: they are updated in-place by system administration actions. In this paper we present an alternative approach to system configuration management: a purely functional method, analogous to languages like Haskell. In this approach, the static parts of a configuration -- software packages, configuration files, control scripts -- are built from pure functions, i.e., the results depend solely on the specified inputs of the function and are immutable. As a result, realising a system configuration becomes deterministic and reproducible. Upgrading to a new configuration is mostly atomic and doesn't overwrite anything of the old configurat...
Eelco Dolstra, Armijn Hemel
Added 16 Aug 2010
Updated 16 Aug 2010
Type Conference
Year 2007
Authors Eelco Dolstra, Armijn Hemel
Comments (0)