Auparavant, les administrateurs système géraient les serveurs manuellement, installaient les logiciels, changeaient les configurations et administraient les services sur des serveurs individuels.
À mesure que les Datacenters se développaient et que les applications hébergées devenaient plus complexes, les administrateurs ont réalisé qu'ils ne pouvaient pas faire évoluer leur gestion manuelle des systèmes aussi rapidement que les applications qu'ils activaient. Cela a également entravé la vitesse du travail des développeurs car l'équipe de développement était agile et publiait fréquemment des logiciels, mais les opérations informatiques passaient plus de temps à configurer les systèmes. C'est pourquoi des outils de provisionnement de serveur et de gestion de la configuration automatique ont prospéré. Une solution des solutions est Ansible.
Cet article présente l’Ansible et son intégration dans l’approche DevOps.
Ansible est un logiciel Open Source qui permet de gérer finement une infrastructure informatique, les déploiements automatisés multi-environnements, les ordinateurs et les configurations systèmes. Cet outil a été développé par Michael Dehaan en 2012. Il fonctionne sous un environnement Linux et écrit en langage Python. Ansible Inc. a ensuite été racheté par Red Hat en 2015, premier fournisseur mondial de solutions logicielles Open Source.
L’amélioration continue est au coeur des préoccupations des entreprises où la gestion du temps et la mise en place de processus bien définies, permettent de mieux gérer les projets et limiter au maximum les erreurs. Un outil comme Ansible permet de procéder à des déploiements automatisés et faire face à ce marché.
Simple :
|
L’automatisation est lisible par l’homme ne nécessitant ainsi pas de connaissance ou compétence particulières en codage. Ainsi les équipes sont beaucoup plus productive.
|
Installation facile :
|
Il n’y a aucun agent à exploiter et on utilise OpenSSh
|
Facile à prendre en main :
|
Les scénarios Ansible permettent de décrire plusieurs états et tous les modules Ansible fonctionnent en ce sens. Ansible agit seulement s’il a une action à réaliser. Un tableau de bord visuel est intégré avec des éléments de vérification et des notifications améliorées.
|
Pour les entreprises :
|
C'est la meilleure utilisation des ressources pour l’innovation, et le meilleur moyen de faire des économies, de faire face à la concurrence avec un déploiement rapide et sécurisé des logiciels.
|
Déploiement d'applications
Orchestration
Conformité et sécurité
Provisionnement du cloud
Dans Ansible, il existe deux catégories d’ordinateurs : le nœud maître (master) et les nœuds esclaves (slaves). Le nœud maître est une machine sur laquelle est installé l'outil Ansible. Il doit y avoir au moins un nœud maître, bien qu'un nœud maître de sauvegarde puisse également exister.
Ansible fonctionne en se connectant à vos nœuds en SSH et en y poussant de petits programmes, appelés modules. Ces modules sont définis dans un fichier nommé le Playbook. Le nœud maître, se base sur un fichier d'inventaire qui fournit la liste des hôtes sur lesquels les modules Ansible doivent être exécutés.
Ansible exécute ces modules en SSH et les supprime une fois terminé. La seule condition requise pour cette interaction est que votre nœud maître Ansible dispose d'un accès de connexion aux nœuds esclaves. Les clés SSH sont le moyen le plus courant de fournir un accès, mais d'autres formes d'authentification sont également prises en charge.