Squest est un logiciel libre (APLv2) permettant d'exposer de l'automatisation, basée sur Ansible Tower/AWX, en tant que service (mode SaaS).
Ansible Tower et sa version libre AWX sont une console centrale de gestion des tâches d'automatisation, pour Ansible qui sert à automatiser la gestion et la configuration d'ordinateurs. Ces outils sont notamment utilisés par des profils ingénierie de la fiabilité des sites (SRE Site Reliability Engineering) ou DevOps.
Il existe une vidéo d'introduction à Squest.
Squest propose, pour le moment, deux principales fonctionnalités :
- un catalogue de services
- un gestionnaire de suivi de ressources
Le catalogue de services
Provisioning de ressources
Le cas d'usage de notre équipe est le suivant : nous proposons des services d'infrastructures comme des machines physiques et virtuelles, des clusters dédiés sur Kubernetes, Openstack ou encore Openshift.
Pour la création de ces services nous reposons sur des playbooks Ansible que nous lançons depuis Ansible Tower/AWX.
Nous ne souhaitons pas donner accès directement à Tower à nos utilisateurs finaux pour de multiples raisons mais principalement aussi parce que nous souhaitons approuver les demandes.
Grâce à Squest, nous créons des services dans un catalogue (par exemple "VM dans un vCenter") que l'utilisateur peut commander.
En qualité d'administrateur nous pouvons vérifier les demandes, les modifier et les valider afin qu'elles soient exécutées par Tower/AWX.
Les services sont donc des pointeurs vers les jobs templates que vous avez créés du coté de Tower/AWX. Cela rend Squest générique et permet d'ajouter autant de services que vous avez d'automatisations disponibles du coté de vos playbooks.
Cycle de vie des instances
Chaque requête approuvée et provisionnée donne naissance à une instance du service sélectionné.
Cette instance permet à l'utilisateur d'effectuer plus tard de nouvelles requêtes, afin de gérer le cycle de vie.
Prenons un exemple concret. Vous avez un service qui permet la creation de machines virtuelles.
La première opération fait appel à un script Ansible qui va provisionner la machine virtuelle (VM) dans l'hyperviseur.
On peut alors imaginer de nouvelles opérations permettant de:
- Changer les caractéristiques de la VM (vCPU, memoire, disque,…)
- Réinstancier le système
- Supprimer la VM
Là où certains outils de ce type sont de type fire and forget et ne permettent que de provisionner des resources, Squest peut associer des opérations de mise à jour ou de suppression sur les instances qu'il a créées afin de pousser au maximum l'autonomie des utilisateurs.
Le suivi des resources
Le suivi de ressources permet à l'administrateur de connaître l'état de consommation de son infrastructure.
Une vidéo démo de cette fonctionnalité est disponible.
De nos jours, les infrastructures IT sont composées de multiples niveaux : serveurs physiques, machines virtuelles, conteneurs,…
Chaque niveau est alors producteur ou consommateur des ressources d'un autre.
En qualité d'administrateur système, la supervision de la consommation de chaque niveau est nécessaire afin de valider les demandes de service.
La fonctionnalité de suivi de ressources permet de visualiser et de mettre en lumière les ensembles de ressources des infrastructures.
Chaque ressource peut être liée à une instance du catalogue de service qui peut elle-même être liée à un groupe de facturation.
Un tableau de bord permet enfin un visualiser la consommation de chaque groupe.
Aller plus loin
- Code source (429 clics)
- Documentation (259 clics)
- Démo video 1: catalogue de service (126 clics)
- Démo video 2: suivi des resources (60 clics)
- Discuter avec les devs ou la communauté (49 clics)
# Super intéressant
Posté par el_profesor . Évalué à 1.
Hello,
En tant que consultant c'est vrai que beaucoup d'entreprises cherchent ce type d'outil. Certaines passent par VRA de VMware, d'autres font du dev custom.
Si je comprends bien on peut créer n'importe quel service du moment qu'il y a un playbook derrière ? Je pense à des pointeurs DNS, des BDD ou autres services ?
Est-ce que le deploy des services est automatisable au travers d'une CI ou via terraform ?
En tout cas super découverte, merci !
[^] # Re: Super intéressant
Posté par sispheor . Évalué à 1.
Effectivement l'idée c'est de transformer n'importe quel playbook disponible dans AWX/Tower en service.
Donc base de données ou autre.
Terraform ou CI/CD. Vous pouvez tout appeler du moment que le entry point est un job template.
[^] # Re: Super intéressant
Posté par el_profesor . Évalué à 1.
Je n'ai pas testé l'outil mais pour bien comprendre, je peux trouver un provider terraform pour faire des call API à squest afin d'automatiser plusieurs déploiements ?
[^] # Re: Super intéressant
Posté par sispheor . Évalué à 2.
Squest a une API. Qui pour le moment ne couvre pas 100% des appels. Mais cela va venir.
Par la suite nous pensons ajouter un module Ansible mais pas de terraform en vue pour le moment.
Je vous invite à parcourir la doc pour voir les possibilités déjà disponible.
# Gestion des ressources
Posté par Psychofox (Mastodon) . Évalué à 3.
L'outil est intéressant mais je trouve un peu décevant la partie gestion de resources. Par exemple la vidéo montre le cas d'une infra vcenter et il parait que la gestion des resources est manuelle, on doit rentrer les serveurs et leur resources manuellement et il ne semble prendre en compte que les VMs provisionnées via squest là où j'aurais espéré quelque chose de plus intelligent allant chercher ces infos directement ou via des facts remontés par ansible sur vcenter étant donné que lui même gère des resources pool et que son api informe des resources disponibles ou non.
[^] # Re: Gestion des ressources
Posté par sispheor . Évalué à 2.
Le but ici est de faire en sorte que squest soit le source of truth de l'infrastructure.
Cette fonctionnalité remplace en quelque sorte le fichier excel que tout le monde fait pour suivre ce qui a été demandé. Avec l'avantage de proposer une vue et façon de faire unique et ainsi éviter de se retrouver avec pleins de fichiers Exel formatés différemment.
Ce n'est pas du monitoring mais du tracking de réservation.
Le monitoring est une chose que l'on gère après avec un Prometheus par exemple afin de comparer la resource réservée et la resource réellement consommée.
[^] # Re: Gestion des ressources
Posté par Psychofox (Mastodon) . Évalué à 3.
[^] # Re: Gestion des ressources
Posté par sispheor . Évalué à 2.
Et bien je veux bien connaître les noms des outils que vous utilisez pour justement remplacer les feuilles Excel.
Nous avons testé pas mal de choses et n'avons pas trouvé notre bonheur jusque là mais on est peut être passé a côté.
Nous avons Netbox qui nous permet de gérer le network et les devices physiques.
Après notre outil n'est qu'une copie de "Red Hat Service Catalog". Je vous invite à aller voir leur page pour + d'info.
Il est basique, certe, mais répond à notre besoin.
Et comme nous avons opté pour une approche générique nous avons décidé de l'offrir à la communauté open-source.
# Bon outil
Posté par TNZ . Évalué à -9.
Ce type d'outil est très bien pour … les personnes compétentes.
Malheureusement, par expérience, il finit la plupart du temps sur le bureau de personnes à 2 mains gauches et 10 pouces. Et quand ce ne sont pas les exploitants qui font défaut, ce sont les donneurs d'ordre qui n'ont pas compris la valeur ajoutée et qui lui prête des fonctionnalités qu'il n'a pas.
Bref, pour une efficacité maximale, dans le contexte des grands SI actuels, il vaut mieux qu'il reste "confidentiel" au sein d'une communauté de sachants en capacité de l'exploiter au mieux de ses capacités. Une médiatisation importante auprès des malfaisants de service conduirait cet outil tout droit au pourrissage en règle.
Vous pouvez trouver ce commentaire un peu acerbe, mais il est malheureusement représentatif de la médiocrité et l'inadaptation des responsables SI face aux évolutions rapides des ces dernières années.
TNZ, archi solution AWS dans une des plus grosses ESN françaises qui rame de folie à expliquer à la tour d'ivoire que la productivité des projets doit passer par des postes de travail sous GNU/Linux.
[^] # Re: Bon outil
Posté par TNZ . Évalué à -10.
Pour les 2 "fragiles" qui ont noté -1 :
Attendez d'avoir un peu d'expérience pour faire la pucelle outrée.
Et pour celui ou celle qui a de l'expérience, les promesses des éditeurs logiciel ne sont pas à prendre au pied de la lettre dans la mesure où ils n'ont pas les contraintes de vos projets lors de la conception de l'outil.
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 4.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Bon outil
Posté par TNZ . Évalué à -10.
Je te laisse à ton jugement et aux SI compétents.
Je n'ai pas de compétences particulières en dehors d'avoir un peu d'expérience (plusieurs dizaines d'années à vrai dire) … et beaucoup de pragmatisme.
Si tu n'as pas compris mon message initial, je ne peux que redire autrement que l'outil présenté ne doit surtout pas tomber sur des incompétents notoires qui fleurissent tant dans les ESN.
Il est quand même choquant d'observer une levée de bouclier dès qu'un commentaire ne rentre pas dans le moule bisounours de "la pensée unique". Un peu de concret les enfants ! C'est un outil destiné au monde pro, il convient de le transposer dans la réalité avec les mentalités présentes sur le terrain. Combien y'a t'il de baltringues pour un mec qui tient la route ?
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 5.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Bon outil
Posté par TNZ . Évalué à -10.
Je te confirme que tu n'as rien compris du message puisque tu te focalises sur la forme. Et dans ce cas, il est clair que tu ne sais pas de quoi je parle.
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 6.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Bon outil
Posté par TNZ . Évalué à -10.
CQFD, tu fais le contraire de ce que tu dis … tout comme beaucoup de managers. D'ailleurs, Michel Audiard avait une expression pour ça : « les cons, ça ose tout; c'est même à ça qu'on les r'connaît ! »
Je ne mets p'tet pas les formes, mais l'hypocrisie institutionnalisée me fait gerber.
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 5.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Bon outil
Posté par TNZ . Évalué à -7.
C'est bien ce que je dis, l'hypocrisie de salon sert surtout à cacher quelque chose.
Et désolé, mais avec le temps, j'ai développé une certaine forme d'allergie chronique envers la connerie. La connerie en IT est peu constructive et elle fait perdre énormément de temps à tout le monde.
[^] # Re: Bon outil
Posté par barmic 🦦 . Évalué à 6.
Tu veux dire qu'il fait prévoir une formation et un suivi pour ceux qui utilisent cet outil ? Tu as sans doute raison.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Bon outil
Posté par TNZ . Évalué à -4. Dernière modification le 12 août 2021 à 15:49.
Voila une bonne question ! :)
Tout à fait, il est important de savoir ce que l'outil va faire dans les différents périmètres. Toute la valeur ajoutée est d'industrialiser la gestion que l'opérateur est censé effectuer manuellement. En l'absence de l'outil, le gars doit savoir comment et quoi faire. Du coup, il est important d'avoir des personnes formées et à jour sur les périmètres gérés.
Et c'est là que se trouve le principal risque : si l'outil est utilisé pour « masquer » les actions auprès d'un opérateur non formé (et donc incompétent sans que cela soit de sa faute), on se retrouve avec un fonctionnement « magique » où plus personne ne sait pourquoi et comment ça marche. Et le jour où il faut faire évoluer ou tout simplement définir un nouvel environnement, c'est panique à bord.
Note pour Fransesco : incompétent veut dire non formé. Un incompétent peut devenir compétent de plein de façons différentes (autodidacte, formations, apprentissage, …). Maintenant, si incompétent est interprété par « crétin à QI de moule », ben, je ne peux pas y faire grand chose.
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 3.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Bon outil
Posté par barmic 🦦 . Évalué à 4.
Mon commentaire était ironique. Là où tu parle de cacher l'outil et de le garder entre "sachants", moi je parle d'en partager l'usage et la connaissance.
C'est pas un point de détail ou une question de sens des mots, mais de vision du travail et de la collaboration. Je pense qu'étiqueter les gens comme sachants ou incompétents est une grosse erreur, une simplification à outrance et une manière de s'imposer ou se dédouaner problématique.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Bon outil
Posté par TNZ . Évalué à 0.
Comment formuler ça gentiment ?
Le risque avec les outils d'intégration / exploitation est que la complexité d'une solution est plus ou moins masquée. Les problèmes qu'on peut rencontrer restent (soucis télécom, soucis de plateformes, etc …). La simplification qu'apporte l'outil dans ce contexte amène les CP/DP à mettre dans les équipes des personnes "moins chères" … et pour le coup pas forcément formées ni expérimentées. Et le jour où un incident intervient, personne n'est en mesure de déterminer la cause de l'incident et encore moins de le corriger.
[^] # Re: Bon outil
Posté par TNZ . Évalué à -1.
Histoire de clore le débat, je peux résumer ma pensée de la façon suivante :
"l'AutoPilot de Tesla ne dispense pas du permis de conduire"
La vision très universitaire dans la mouvance "Le meilleur des mondes" peut aligner tous les arguments du monde, mais face à l'expérience du terrain dans la vraie vie professionnelle avec des vrais gens, cette vision restera utopique.
[^] # Re: Bon outil
Posté par barmic 🦦 . Évalué à 3. Dernière modification le 22 septembre 2021 à 06:59.
Je comprends, mais le permis de conduire ne te demande pas d'être mécano. On t'explique que quand tu appui sur cette pédale, ça accélère. Si un jour ça ne le fait plus, tu vois ça avec un professionnel.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Bon outil
Posté par TNZ . Évalué à -2.
Reprends les cours d'auto-école, tu as des questions mécaniques lors de l'examen du permis de conduire. Certains examinateurs vont jusqu'à demander un changement de roue.
# Ajout de proxmox
Posté par tmehdi . Évalué à 3. Dernière modification le 12 août 2021 à 12:06.
Bjr,
Serait il possible d ajouter proxmox comme hyperviseur en plus de vcenter?.
[^] # Re: Ajout de proxmox
Posté par sispheor . Évalué à 2.
Vous pouvez mettre se que vous voulez.
Les resources pools sont juste des objets génériques auquel vous associez des attributs comme vcpu ou mémoire.
Les attributs aussi sont génériques.
# A tester
Posté par pr_bond . Évalué à 1.
Hello,
Je testerais dés que j'aurais plus de temps et accès à un vrai linux.
Je n'ai pas réussi à le faire fonctionner sous wsl.
Je me tâte à ouvrir une issue ?
Ca plante Step 17/20 : RUN cd /app && npm install
En tout cas bonne idée de self-service.
Je peux faire un retour quand je l'aurais testé sur un vrai linux.
A+
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.