La pyramide de Maslow du sysadmin

, par  Genma , popularité : 3%

Un billet que je dédicace aux amis Skhaen et Cabusar suite à nos discussions à PSES2018.

Mon billet de blog Silence sur ce blog en juin résume assez bien l’état dans lequel je me suis retrouvé et vu les soucis que j’ai rencontrés avec le legacy ces derniers temps j’en ai été à me poser la question de la pyramide de Maslow du Sysadmin. Pour rappel la pyramide de Maslow plus communément appelée pyramide des besoins, hiérarchise le fait que si des besoins essentiels sont à remplir (Besoins physiologiques : faim, soif, sexualité, respiration, sommeil, élimination) avant les besoins de sécurité (environnement stable et prévisible, sans anxiété ni crise), qui passent avant les besoins d’appartenance et d’amour (affection des autres) pour enfin arriver au Besoin d’accomplissement de soi. Dit de façon vulgarisée et simpliste, quand on n’a faim et pas de toit sur la tête, difficile de chercher de l’accomplissement personnel...

Au-delà des critiques du modèle, des biais etc. et de toute l’analyse scientifique du modèle, dans le présent article, je présenterai donc une sorte de pyramide inversée, en commençant par le bas de la pyramide en allant vers le haut, du plus urgent au moins urgent, dans le cadre d’un contexte particulier qu’est celui de l’administrateur système. Pour rappel, je suis un administrateur système assez jeune, je ne commence dans le monde professionnel pour cette partie que depuis quelques mois (même si je suis sysadmin à mes heures perdues par loisir depuis de nombreuses années) et cette pyramide reflète mon expérience personnelle (et est également l’occasion pour moi de faire le point sur moi-même, comme souvent avec les billets de ce blog).

Préservation de l’humain

Toute en bas de la pyramide, je place désormais la préservation de l’humain. Vu l’état dans lequel je me suis retrouvé et je suis actuellement, je pense que c’est là l’essentiel. Dans ma pyramide de Maslow personnelle, j’ai placé trop haut et trop loin le besoin d’accomplissement personnel, menaçant la stabilité de base, en réduisant mon sommeil de façon involontaire (insomnie pendant lesquelles on prend des notes, réfléchit à sa todo, avance son travail de sa journée), en réduisant mon temps de repos… Bref, désormais en bas de cette pyramide je place ma propre préservation. Du fait de mon implication dans un métier passion, implication qui continue encore aujourd’hui, ce ne sera pas facile, mais tant que cette base n’est pas solide, les autres étages de la pyramide n’ont aucun sens et aucune stabilité.

La documentation

Sans documentation, on aura beau avoir le meilleur Système d’information possible, avec des systèmes mis à jour, sauvegarder de façon automatique, avec de l’intégration continue, l’ajout de nouveaux serveurs virtualisés intégrés dans la supervision en quelques minutes, ça ne sert à rien. Car dès lors qu’il faut faire évoluer quelque chose, ou qu’il y a du sable dans les rouages, si quelque chose ne se passe pas bien, sans documentation, tout cet outillage parfaitement rôdé ne sert plus à rien, vu que l’on ne sait pas comment s’en servir...

La documentation, c’est donc la base. Et non ce n’est pas une perte de temps. Après, attention à documenter ce qui est essentiel, à préciser les prérequis (on ne va pas réexpliquer toutes les bases des commandes shell ou le fonctionnement Linux à chaque fois), il faut juste expliquer les choix, les informations pertinentes et nécessaires pour pouvoir faire le travail du quotidien et la gestion des incidents déjà rencontrés (on ne peut bien évidemment pas documenter des incidents jamais rencontrés, mais on peut en anticiper certains ou avoir la documentation nécessaire pour réduire leurs impacts).

La documentation, qui est une forme de traçabilité et de reporting de l’avancement, permet également de pouvoir à tout moment, d’arrêter pour reprendre plus tard, d’être remplacé, de déléguer…

La gestion des sauvegardes

Une fois qu’on se préserve soit et qu’on a documenté, il y a le sujet, vaste, des sauvegardes. Idéalement selon la règle des 3-2-1, en ayant défini ce que l’on doit sauvegarder ? et en ayant vérifié que ses sauvegardes sont bien utilisables (Sauvegarde et restauration).

La gestion des mises à jour

Si on sait et restaurer ses sauvegardes, on peut alors passer à la gestion des mises à jour en ayant un parc le plus à jour possible. Ce qui n’est pas tout le temps possible, il faut composer avec le legacy et toutes ces applications qui ne supportent pas des versions supérieures de PHP (par exemple)... Mais on fera le maximum pour faire les mises à jour et ce de façon régulière, afin d’éviter les failles de sécurité et d’avoir des applications patchées (évitant ainsi de subir des bugs corrigés via les mises à jour).

La sécurité

On a des systèmes à jour, mais quand ils ne sont pas maintenus et se font compromettre, que l’on sait restaurer (vu que l’on a des sauvegardes), on peut alors de poser la question de la sécurisation. Là encore, vaste chantier qui prend du temps et même si les bonnes pratiques et les bases d’hygiène numérique (dont font partie les sauvegardes et les mises à jour) sont appliquées, ça prend du temps. Et d’autant plus que l’on veut une sécurité renforcée et forte... On commencera d’abord par une gestion des mots de passe simple et efficace, puis on renforce la sécurité des connexions… Plein de choses à faire...

La supervision

La supervision, quelque-soit l’outil que l’on utilisera, permettra d’alerter et de surveiller si les sauvegardes se sont bien déroulées, si les serveurs sont bien à jour, si les services fournis par ces derniers sont bien délivrés… La supervision permet de savoir quand quelque chose ne va pas. Et quand ça ne va pas, vaut mieux avoir des sauvegardes, un système à jour, sécurisé, ce qui évite justement une partie des soucis qui font que ça ne va pas (restera les dénis de service par surcharge du serveur, les espaces disques saturés… suffisamment de choses qui permettent de ne pas s’ennuyer...)

L’automatisation

Enfin, quand on a un parc sauvegardé, plus à moins à jour, on peut alors se pencher sur l’automatisation. Beaucoup de sysadmin diront qu’un bon sysadmin est un sysadmin fainéant et que cette automatisation devrait venir beaucoup plus haut dans la pyramide, je ne pense pas. On saupoudrera un peu d’automatisation tout au long des différentes étapes précédentes, on anticipera l’automatisation à venir, ce qui permettra une industrialisation le moment venu : les sauvegardes, les mises à jour, la supervision, le renforcement de la sécurité, tout cela sera intégré dans l’outil de déploiement et de gestion du parc.

Traçabilité et suivi des actions

La traçabilité et le suivi des actions, l’historisation des connexions, l’analyses des logs (qui pourraient entrer en partie dans la supervision) viennent pour moi à ce niveau. On a un système qui ronronne, qui est stable, où tout se passe bien, on peut donc alors s’attaquer à la traçabilité et au suivi. Là encore, en cas d’incident, cela pourra être utile pour comprendre le pourquoi, pour corriger, une fois que l’on aura restauré le service en fonctionnement nominal (en repartant sur une sauvegarde ou sur la création d’une nouvelle machine : facile vu que ce sera automatisé...)

En dehors de la pyramide

La pyramide est mono-dimensionnel, avec une progression vers le haut et dedans, il y a des choses qui sont transverses. J’évoquais l’automatisation qui doit être anticipée et ce dès la mise en place des sauvegardes, il y a également en chantier transverse le fait de pouvoir et devoir organiser les priorités à chaque niveau : on commence par sauvegarder ce qui est le plus critique, à mettre à jour et à sécuriser les serveurs les plus critiques, pour ensuite les superviser...

Les aller-retour au sein de la pyramide seront nombreux et tous les étages sont importants.