L'automatisation des tests de restauration de vos sauvegardes

Parmi les éléments du processus d'automatisation et d'industrialisation de toute la procédure d'un PRA as a Service, il existe un aspect relativement peu technique par rapport au PRA en tant que tel, mais tout aussi important à intégrer dans le fonctionnement global, les rapports de tests de restauration.

En effet, il convient de régulièrement tester les sauvegardes effectuées pour vérifier que les données sont fonctionnelles en cas de besoin de redémarrage. Dans le cas où l'infrastructure à tester est de petite taille, ces tests peuvent être réalisés manuelllement. Cependant le problème se pose vite dès que le nombre de serveurs augmente. Pour celà, nous avons dû mettre en place un processus d'automatisation du résultat de ces tests.

Le problème qui se pose étant : comment créer un document  complet d'un point de vue informations, facilment lisible et ce de manière dynamique ?

Le support du rapport de test

La création de document de manière scriptée est une technologie peu répandue dans le monde de l'automatisation. Globalement, pour creer un fichier graphique, trois solutions s'offrent à nous :

  • Un fichier HTML. Le plus simple à créer mais difficilement transportable par mail et peu intégré. De plus ce mode ne contient aucune sécurité.
  • Un fichier Office. Un cran au dessus en terme de transportabilité, cependant la création automatisée de ce genre de fichier est très peu documentée.
  • Un fichier PDF. C'est la solution idéale dans notre situation. Le format est portable, sécurisable et son automatisation est réalisable.

Pour créer le fichier PDF, mon regard s'est porté vers le langage LaTeX, que j'avais déjà utilisé durant mes études. LaTeX est un langage de programmation qui permet, à partir de texte et de balises, de compiler un fichier PDF complet. LaTeX est très utilisé dans les documents scientifiques pour sa simplicité de mise en page et le "serieux" du rendu. Le fait que le format source soit un texte simple est adapté à une automatisation par script, il ne me restait plus qu'à trouver une manière optimisée et rapide de générer ce texte.

La génération du fichier

La seconde problématique de ce projet concerne la création du fichier en lui même. Via quels méchanismes construire ce fichier LaTeX avec les informations correctes et le compiler pour le présenter, et ce en le moins de temps possible. En premier lieu, on pourrait penser que la concaténation de commandes LaTeX dans un fichier texte puis la compilation va un script - par exemple en bash - est la solution la plus simple. Cependant, en faisant des recherches je suis tombé sur une librairie en Python de gestion de document LaTeX, PyLaTeX.

Cette librairie permet de créer de toute pièce et de compiler un document LaTeX, avec des fonctions simples pour structurer le document. De plus, le fait que cette librairie soit programmée en Python permet de l'inclure plus facilement dans nos processus d'industrialisation qui sont déjà majoritairement en Python.

Écrit par :

UCover by Nuabee, la solution de PRA Cloud innovante

La solution de protection de la totalité de votre infrastructure, avec 3 classes de protection qui vous permettent d'adapter votre solution en fonction de vos besoins.