Gérer son parc informatique est une tâche classique et nécessaire du Système d’Information. De nombreuses solutions éprouvées existent déjà sur le marché, notamment dans le monde de l’open-source. Citons par exemple le couple GLPI et OCS Inventory qui fait les beaux jours de beaucoup de sysadmins. L’objectif de ce billet n’est pas de plaider pour le remplacement des utilitaires usuels de gestion de parc informatique. Il propose une alternative se fondant sur les outils DevOps.

Gérez Votre Parc Informatique à la DevOps

Ansible, pour une gestion de parc informatique sans agent.

Ansible est un outil de gestion de configuration. On l’utilise classiquement dans le cadre de l ‘Infrastructure as a Code (IAAC) pour automatiser la configuration des serveurs. Ansible possède 2 particularités intéressantes:

  1. Il fonctionne sans agent : Ansible utilise SSH pour se connecter aux équipements unix ou réseaux, et WinRM pour la partie Windows.
  2. Ansible possède un très bon support de Windows

Ces 2 points font qu’Ansible est tout à fait apte à embrasser le rôle de gestionnaire de parc informatique. Penchons nous un peu plus sur les fonctionnalités attendues d’un gestionnaire de parc informatique et voyons comment Ansible y répond.

Inventaire

On attend d’un gestionnaire de parc qu’il remonte toutes les informations disponibles sur un équipement. Ansible répond nativement à ce besoin. En effet, il travaille avec la notion de “Facts”. Ces derniers sont des informations sur le terminal qui permettent à Ansible de conditionner l’exécution de ses configurations. Voici par exemple, un extrait de “facts” issus d’une machine Linux:

...
"ansible_nodename": "centos-7-rax-dfw-0003427354",
    "ansible_os_family": "RedHat",
    "ansible_pkg_mgr": "yum",
    "ansible_processor": [
        "0",
        "GenuineIntel",
        "Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz",
        "1",
        "GenuineIntel",
        "Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz",
        "2",
        "GenuineIntel",
        "Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz",
        "3",
        "GenuineIntel",
        "Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz",
        "4",
        "GenuineIntel",
        "Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz",
        "5",
        "GenuineIntel",
        "Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz",
        "6",
        "GenuineIntel",
        "Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz",
        "7",
        "GenuineIntel",
        "Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz"
    ],
    "ansible_processor_cores": 8,
    "ansible_processor_count": 8,
    "ansible_processor_threads_per_core": 1,
    "ansible_processor_vcpus": 8,
...

Il y a plusieurs centaines de lignes qui fournissent un inventaire complet des équipements. Il est donc aisé de construire avec Ansible la cartographie exhaustive de ses équipements, des utilisateurs de ce des derniers ainsi que leur état de fonctionnement.

Installation de Logiciels

Un logiciel de gestion de parc informatique doit pouvoir effectuer des actions à distance et notamment installer des logiciels. Or il se trouve que c’est le cœur même de l’existence des outils de gestion de configuration ! Ces derniers sont **destinés à configurer à distance **des serveurs informatiques et donc sont tout à fait capable de le faire sur des postes des travail.

Aussi, en couplant Ansible avec Chocolatey, vous disposez d’un puissant moyen d’installation de logiciels à distance. De plus Ansible va imposer aux postes les versions de logiciels que vous aurez validées. Il va aussi pouvoir forcer la désinstallation de logiciels indésirables tels que les outils bitorrent par exemple. De plus, en disposant du code Ansible, vous avez une vue parfaitement claire de l’état de votre parc informatique.

Interface graphique

Ansible est un utilitaire en ligne de commande dont la configuration est exprimée en YAML. Il est appréciable de disposer d’un interface graphique pour la gestion quotidienne. A cet effet, les développeurs ont mis à la disposition de la communauté l’outils AWX.

Surveiller votre parc informatique

L’outil permet de suivre graphiquement le déploiement des configuration Ansible et donc les déploiements de votre parc informatique. Il intègre une gestion d’utilisateur pour permettre de déléguer les tâches. AWX propose également d’éditer directement les scripts Ansible. Il sera donc votre allié dans l’instauration d’Ansible comme gestionnaire de parc informatique.

Consul : Surveillez dynamiquement votre parc informatique

Ansible est séduisant mais il à un gros défaut. Son inventaire, la liste des équipements sous son contrôle, est statique. Ceci est incompatible avec un large parc informatique, qui plus est lorsque l’adressage réseau dynamique est en place. Pour contourner cela, Ansible propose des inventaires dynamiques en externalisant la liste des équipements vers des tiers de stockage.

Parmi ces tiers se trouvent les utilitaire de découverte de services (Services Discovery). Ces derniers sont les pièce essentielles des infrastructures dynamique. On les retrouve au centre des clusters Kubernetes ou Swarm. Les plus célèbre sont Zookeeper, Etcd ou encore Consul. Du fait de sa facilité d’installation et d’un interface graphique intégré, Consul est un choix idéal pour apporter de l’agilité à votre parc informatique.

L’idée est de disposer d’un serveur Consul en complément d’Ansible. Chaque postes de travail exécute le client Consul qui s’enregistre sur le serveur au démarrage puis se dés-enregistre à l’extinction. Ainsi, le serveur Consul possède en temps réel la liste des équipements actifs du parc informatique. Ansible n’a plus qu’à en extraire son inventaire et (re)configurer les postes disponibles.

On le voit, avec de simples outils DevOps et un peu d’astuce, on peut créer un nouveau gestionnaire de parc, innovant, scalable et surtout gratuit. Si vous aussi vous avez des projets de gestion de parc informatique pour votre entreprise, contactez-nous pour construire ensemble la solution la plus adaptées à vos besoins.