Nutanix – NDB et Self-Service : Automatiser la gestion de vos bases de données avec un Runbook

Calm NDB

L’objectif de cet article est d’illustrer une fonction permettant l’intégration du produit Nutanix DataBase dans Self-Service.

J’ai toujours apprécié intégrer et faire cohabiter ensemble les différents produits du portfolio Nutanix pour optimiser leur utilisation quotidienne.

Self-Service, le produit de gestion et d’automatisation du cycle de vie des applications n’est plus à présenter. Il comporte un grand nombre d’outils intéressants. Nous allons ici voir un aperçu de la gestion d’une base de données postgreSQL dans NDB via un Runbook Self-Service.

Cette intégration va permettre d’agir sur une instance existante ou sur la création d’une nouvelle instance avec les types d’opérations suivantes :

  • Créer un clone à partir d’une Time Machine
  • Créer un snapshot
  • Créer une database sur un nouveau serveur de base de données
  • Restaurer à partir d’une Time Machine une base de données existante
  • Supprimer une bade de données et la Time Machine associée

Cette fonctionnalité permet d’interagir pour le moment uniquement avec des serveurs et bases de données Postgres mais on peut espérer la voir s’étendre à plusieurs autres technologies prochainement. Pour en savoir plus dans la documentation officielle c’est ici : Nutanix Database Service Integration with Self-Service

Voici en détail l’implémentation de cette fonctionnalité intéressante pouvant couvrir plusieurs cas d’usage à automatiser (clone de bases pour des tests d’intégrations, rafraichissement de données …)

Ajout de NDB dans le projet Self-Service

La première étape est d’ajouter NDB comme un Service Nutanix dans les Account du projet dans Self-Service.

NDB-Account-NTNX Services

Il suffit ensuite de renseigner les informations nécessaires : utilisateur, mot de passe, IP et nom. (Pour le compte, j’ai dédié un compte de service svc-calm dans NDB).

NDB-Account-Settings

NDB-Account-Project

Il suffit ensuite de renseigner les informations nécessaires : utilisateur, mot de passe, IP et nom. (Pour le compte, j’ai dédié un compte de service svc-calm dans NDB).

 

NDB-Account-Project-Added

 

Utilisation dans un Runbook

Je peux ensuite créé un nouveau Runbook ou aller dans un Runbook existant.

L’intégration NDB repose ensuite sur la création du type de tâche. Dans mon Runbook, je vais pouvoir créer une nouvelle tâche de type « Database Operation ».

J’ai ensuite la possibilité de choisir le type d’opération a exécuter : Ici par exemple je vais prendre un snapshot d’une DB existante avec un Time machine en cours.

 

NBD - Task Runbook

Je lui indique les paramètres : Time Machine, Nom du snapshot et politique de retention.

Le petit point manquant pour l’instant, c’est qu’il n’est pas possible d’utiliser une macro pour le nom du snapshot avec la date par exemple.

A noter que différents paramètres sont récupérables sous forme de variables tel que le snapshot uuid pour être réutilisé dans des tâches suivantes.

 

Exécution du Runbook et vérification

On peut ensuite lancer le runbook et vérifier son exécution coté NDB.

Runbook Execution

 

Le Runbook s’exécute correctement et le snapshot est bien créé coté NDB dans la liste des tâches.

NDB Snapshot Execution

Extensions et étapes supplémentaires possibles

Plusieurs choses sont automatisables et optimisables pour faire de ce scénario un vrai cas d’usage.

Par exemple je peux créer un scheduler via le policy engine pour automatiser cette tâche de manière régulière.

Je peux aussi compléter ce workflow avec l’ajout d’une tâche supplémentaire au scénario précédent qui vient faire un clone de la DB à partir du snapshot pris précédemment comme ci dessous avec la reprise en macro de l’UUID du snapshot précédent.

 

Extension - CloneSnapshot

 

1 Commentaire

  1. LECOCQ Sébastien Répondre

    Merci Theo pour cette illustration des services additionnels qu’offrent un Cluster Nutanix et de l’intégration qu’il existe entre ces différents services.

    Preuve est ainsi faite de l’avantage et de la simplicité de la mise en place de cette intégration.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *