La jungle des outils d'automatisation d'infrastructure (Classification)

By Denis Fabien
2022-04-27

Ami du jour, bonjour !

Devant l'abondance des outils et la multiplication des fonctionnalités, il est parfois difficile pour un client de bien se repérer dans cette jungle technologique.

Voici donc un petit guide de survie.

Les 5 grandes familles

Même s'il existe d'autres "familles", on distingue principalement cinq grandes familles. Pour mettre en place une vraie chaîne d'automatisation, cela va vous prendre au moins un outil de chaque famille.

  • Driver : quelles technologies souhaitez-vous bâtir ? du docker, du kubernetes, du vmware ... ;
  • Provisionner : ce sont ici des outils qui servent à provisionner des serveurs, ils vont assembler la mémoire, le cpu, etc... ;
  • Verifier : tout comme dans le dev où il existe des frameworks de test, il en existe dans le montage d'infrastructure ;
  • Pipeline / git : git pour stocker les informations "As Code" et les pipelines pour orchestrer les automatismes indépendamment des autres outils ;
  • Configuration management : ils sont spécialisés dans le déploiement de logiciels sur une vm déjà construite.

Certains outils de configuration management font du bon provisionning !

Oui, ma grand-mère aussi est capable de monter un serveur :-), est-ce l'idée du siècle que de lui demander de monter un serveur ? pas certain...

Blague à part, chacun de ces outils est spécialisé dans un domaine et est très bon de ce domaine, vouloir l'utiliser pour toucher un autre domaine est une fausse bonne idée. Vous allez augmenter à coup sûr votre dette technologique ainsi que les risques de sécurité en détournant un outil.

Pourquoi scoper chaque outil à une famille ?

Plusieurs impacts sont à prévoir si vous n'utilisez pas le bon outil pour la bonne chose :

  1. Le code : un bon codeur est paresseux et veut entretenir le moins de code possible. Plus il y a de code, plus il y a de bugs. En détournant un outil de son usage, vous allez faire ajouter beaucoup de code "maison" qu'il faudra par la suite supporter.
  2. La sécurité : un outil prévu pour provisionner a une mécanique qui assure de le faire en toute sécurité. Là aussi, si vous détournez son usage, vous allez aussi ouvrir l'exposition. Pour maintenir une bonne sécurité, vous allez créer des comptes de sécurité dédiés à chaque rôle, de sorte que si un des outils "tombe" vous en limiterez l'impact. En outre, au niveau des équipes, vous pourrez mieux ségréger les rôles.
  3. La dette technologique : peut-être le plus important des points, si vous détournez l'usage d'un outil, vous accroissez la dette technologique. Un exemple très simple, des entreprises avaient commencé à utiliser Salt Stack pour faire du provisionning... hors vmware a acheté Salt Stack. Toutes les features qui permettaient de faire du provisioning de façon detournée ont été retirées (ou camouflées), car vmware préfère que vous utilisiez vRealize Automation.
  4. Le cycle de vie : dans le cycle de vie de vos vm, si les outils que vous utilisez ne sont pas fait pour cela, vous ne pourrez pas assurer votre rôle.

Hashicorp, par exemple, l'annonce clairement sur son site : https://www.terraform.io/intro/vs/chef-puppet, mais attention, d'autres fournisseurs ne vont pas avoir la même transparence. N'oubliez pas qu'ils sont quand même à la base des vendeurs et qu'ils vont tout faire pour que vous utilisiez encore plus leurs produits.

D'accord j'ai compris, je vais utiliser le bon outil ! je gagne quoi ?

Plusieurs gains sont à prévoir :

  1. Plus grande vitesse de mise en place des automatismes : même si au début vous allez devoir apprendre à utiliser plus d'outils, à terme, vous serez bien plus efficace et chaque outil spécialisé sera plus efficace.
  2. Support du fournisseur : lorsque le système va planter (car tous les outils plantent un jour), votre fournisseur sera plus apte à vous faire redémarrer rapidement si vous utilisez l'outil pour ce qu'il est prévu.
  3. Diminution des coûts : j'ai un exemple en tête où l'un de mes clients allait recevoir une facture de deux millions de $ par année pour un outil de configuration management qui allait être détourné pour faire du provisionning. Alors qu'il payait déjà 300 K$ annuellement pour un autre outil de provisionning.

Sur ce, ami des outils, je vous souhaite plein de jolis montages !