Test d'infrastructures avec NixOS 2024
Titre du projet: Test d'infrastructures avec NixOS
Porteurs et encadrants Olivier Richard, UGA
Entreprise/laboratoire/organisme : LIG
Description du contexte
Pour ce projet il s'agira de développer un certain nombre de démonstrateurs de composition d'infrastructure. On entend par là, la production d’ensemble de piles logicielles complètes pour chaque machine pouvant fournir un ou plusieurs services (exemple serveur web et base de données) ou disposants de logiciels spécifique (ex: application scientique parallèle). En plus de leur production il s'agit aussi de les tester dans des environnements virtuelles ou sur des machines réelles. Pour la réalisation de ce projet nous nous baserons sur l'approche déclarative proposé par l'écosystème Nix/NixOS et les procédure de tests associés NixOS-test.. Nous exploiterons aussi l’outil NixOS-Compose développé par l'équipe DataMove du Laboratoire d'Informatique de Grenoble.
Objectif(s) du projet
Fichiers permettant la production de piles logicielles complêtes pour l’outil de génération NixOS-Compose
Travail attendu
- Etude de l'écosystème Nix/NixOS.
- Etude et pratique de l’outil NixOS-Compose
- Etude et pratique de la plate-forme Grid'5000
- Développement de démonstrateurs, elle sera discuté pendant le projet, ci-après des exemples possible:
- Des base de données Key-Value et outil de benchmark
- Orchestrateur de container kubernetes et/ou version lègere k3s
- Application scientifique parallel et intergiciel in-situ d'analyse de données
- Plateforme de type ELT / BigData
- Gestionnaire de resource de grille légère Cigri/OAR
- On essaiera de reproduire une installation autours de Opensearch notamment en partant des éléments suivant
- Cours "Installation Opensearch": https://rbdd.pages.in2p3.fr/anf/anf_elasticsearch/main/index.html#/7
- TP associé: https://rbdd.pages.in2p3.fr/anf/anf_elasticsearch/main/index.html#/8
- Cluster OAR -> Nodes + Frontales -> Logs systeme Vector -> Serveur Opensearch Dashboards
- Opensearch: https://opensearch.org/
- Opensearch Dashboards: https://opensearch.org/docs/latest/dashboards/
- Vector: https://vector.dev/docs/about/what-is-vector/
Techniques, outils, technologies, langages et canevas à mettre en oeuvre.
- Nix/ NixOS : https://nixos.org/
- Nixos-Compose https://gitlab.inria.fr/nixos-compose/nixos-compose
Pour une première approche de Nix vous pouvez lire l'article: NixOS quand la programmation fonctionnelle rencontre Linux.
- Lecture Dans le cadre du projet le billet de blog suivant est à lire:
https://www.haskellforall.com/2020/11/how-to-use-nixos-for-lightweight.html
Déplacement à prévoir (en dehors de l’école) : potentiellement au laoboratoire IMAG