Table des matières

TX Printemps 2020 : Monitoring et haute disponibilité de l'infrastructure de Picasoft

Cette TX a été réalisée par Alexandre Touzeau et Matthieu Gestin en P20 et encadrée par Stéphane Bonnet.


Le sujet est reproduit ci-dessous.

Présentation

Picasoft est une association UTCéenne qui promeut un internet libre, éthique et inclusif. Elle héberge des services web respectueux de la vie privée, ouverts à tou.te.s. Ces services sont de plus en plus utilisés, et Picasoft souhaiterait fiabiliser son infrastructure, notamment pour la rendre plus résiliente aux pannes.

L’équipe technique de Picasoft étant de taille limitée, un des enjeux cruciaux est de centraliser et d’automatiser le report des incidents et des alertes qui peuvent survenir sur l’infrastructure, afin de permettre une intervention rapide. Il est également important de mettre en place des systèmes préventifs pouvant palier aux pannes.

La TX s’effectuera donc en deux parties : la mise en place d’un système d’alertes, et la mise en place d’un PRA (Plan de Reprise d’Activités) en cas de panne.

Détails

L’un des soucis de l’infrastructure actuelle est qu’elle produit beaucoup de journaux (logs), contenant notamment des informations sur les erreurs de certains services ou sur les événements de sécurité (serveur mail, auditd, backups). Par manque de moyens, ces logs sont rarement consultés et ne permettent pas de faire remonter les erreurs à l’équipe technique. Aussi, la panne d’un service, même si elle n’apparaît pas directement dans les logs, n’est pas remontée.

La phase de conception consiste donc à étudier les solutions existantes, libres et légères pour analyser des logs, détecter des erreurs ou des pannes, produire des rapports et prévenir les membres de l’équipe technique. Il ne s’agit pas nécessairement de mettre en place une solution de visualisation, mais bien d’alertes. Cette étude pourra aboutir à la décision de concevoir un système “maison”, s’il est facilement extensible et bien documenté.

La phase de réalisation sera sous forme de preuve de concept : il ne s’agira pas de déployer la solution retenue pour l’intégralité des services de Picasoft, mais seulement sur les plus critiques. L’équipe technique pourra alors utiliser l’outil pour enrichir la variété des alertes.

Un autre souci de l’infrastructure actuelle est son manque de résilience. Quand une machine tombe en panne, les services ne basculent pas automatiquement sur une autre machine. Si le système d’alertes permettra de remonter ces problèmes, certains nécessitent une intervention immédiate pour éviter une trop grande indisponibilité des services les plus populaires (Mattermost, Etherpad).

L’idée est alors d’identifier les services critiques qui ne doivent pas tomber pour une trop longue durée (on peut aussi penser au serveur LDAP) et d’étudier les solutions existantes pour permettre le basculement automatique d’une machine à l’autre en cas de panne (par exemple, via un cluster de bases de données). Comme pour le premier point, cette mise en place sera limitée à quelques services choisis et un guide devra permettre à l’équipe technique de généraliser la résilience.

Modalités

La TX adoptera une approche agile, préférant de petits incréments fonctionnels qu’un objectif trop ambitieux jamais atteint. Une documentation permettant de s’approprier et de continuer le travail effectué devra être produite.

L’ensemble des productions (code, documentation…) devra être mis à disposition sous une licence libre.

Les étudiant.e.s disposeront d’un accès à l’infrastructure de Picasoft et travailleront en collaboration avec l’équipe technique.