This Meetup is past

22 people went

Details

** Niveau en FP requis : Beginner

L'administration système est une tâche notoirement difficile.

* Comment reproduire de façon fiable une configuration OS ?
* Comment faire évoluer cette configuration au fil du temps ?
* Comment mettre à jour un système sans risques, et revenir en arrière en cas de problème ?
* Comment, encore, concilier des versions incompatibles d'un même logiciel sur un poste de dev ? …

Pour pallier ces difficultés, de nombreuses solutions sont apparues ces dernières années. Chef, Puppet, Ansible ou encore Docker constituent autant de propositions différentes pour rendre certaines de ces tâches plus fiables, en ajoutant des abstractions déclaratives à un modèle de déploiement fondamentalement impératif. Mais si configurer c'est coder, comme nous l'enseigne le mouvement DevOps, la programmation fonctionnelle a-t-elle quelque chose à apporter au débat ? Nix fournit une réponse positive à cette question.

Nix est à la fois un langage de programmation, un gestionnaire de paquets et un système d'exploitation. Contrairement aux solutions précédentes, son originalité est d'attaquer le problème à la racine, en forçant l'immuabilité à l'échelle du système. Ce faisant, il apporte des solutions nouvelles et élégantes à des problèmes anciens montrant au passage que les idées de la programmation fonctionnelle peuvent porter leurs fruits au-delà de l'activité de développement.