Qu'est ce que Ansible

ansible.png

Qu'est ce que Ansible ?

Les avantages de Ansible ?

Sa simplicité d'utilisation, sa configuration agentless, sa syntaxe claire basée sur YAML, et sa grande communauté.

Les inconvénients de Ansible ?

Peut être moins performant pour des opérations très complexes ou sur de très grands environnements par rapport à certains concurrents.

Les caractéristiques de Ansible

Commun

  • Utilité (fonction) : Ansible est utilisé pour l'automatisation des configurations, la gestion des serveurs, le déploiement d'applications et l'orchestration IT.

  • Langue de programmation : Principalement écrit en Python.

  • Système d‘exploitation : Multiplateforme (fonctionne sur Windows, macOS, Linux).

  • Existe depuis : Ansible a été initialement publié en février 2012.

  • Licence : GNU General Public License v3.0.

  • Développeur : Michael DeHaan (initialement), maintenant maintenu par Red Hat et la communauté open source.

  • Communauté : Grande communauté active avec de nombreux contributeurs, forums, conférences (AnsibleFest), groupes d'utilisateurs, et ressources en ligne.

  • Performance générale : Très bonne, avec des performances optimisées pour la gestion de configurations et le déploiement à grande échelle.

  • Maintenabilité : Élevée, grâce à une gestion centralisée des configurations via des playbooks YAML, et une architecture agentless.

  • Facilité d'apprentissage : Relativement facile, avec une syntaxe claire et lisible basée sur YAML ; de nombreuses ressources sont disponibles pour les débutants.

  • Configuration : Utilise des playbooks YAML pour définir les configurations, les tâches et les déploiements.

  • Documentation : Documentation exhaustive et officielle disponible sur le site ansible.com, ainsi que de nombreux livres et tutoriels en ligne.

  • Alternative : Alternatives incluent Puppet, Chef, SaltStack, et Terraform.

  • On l'aime pour : Sa simplicité d'utilisation, sa configuration agentless, sa syntaxe claire basée sur YAML, et sa grande communauté.

  • On le déteste pour : Peut être moins performant pour des opérations très complexes ou sur de très grands environnements par rapport à certains concurrents.

  • Fréquence de mise à jour : Mises à jour régulières avec des versions mineures tous les quelques mois et des versions majeures tous les ans environ.

  • LTS : Non, Ansible ne propose pas de versions LTS officielles, mais Red Hat propose des versions stables et supportées dans Ansible Tower.

  • Maturité : Mature, avec plusieurs années de développement et d'utilisation dans de nombreux projets en production.

Langage

  • Sécurité : Modérée, nécessite des pratiques de codage sécurisées et des vérifications manuelles pour éviter les vulnérabilités courantes comme les injections de script.

  • Interropérabilité : Très bonne, avec de nombreuses APIs pour interagir avec d'autres technologies et services, ainsi que des modules pour l'interopérabilité avec du code natif.

  • Installation : Installation via npm ou yarn, souvent automatisée avec Angular CLI.

  • Typage : Non applicable, mais utilise JavaScript qui a un typage dynamique et faible. Les types sont déterminés à l’exécution et les conversions implicites sont autorisées. Peut aussi utiliser TypeScript avec un typage statique et fort.

DevOps

  • Compatible Azure : Oui

  • Compatible AWS : Oui

  • Compatible On Premise : Oui

  • Difficulté de mise en oeuvre : Modérée à complexe

  • Difficulté de maintenance : Modérée

  • Pour quel type d'entreprise  : PME, Grandes entreprises

  • Automatisation : Oui

  • FAAS, CAAS, PAAS, IAAS : CAAS (avec Kubernetes)

  • CI/CD : Principalement utilisé pour du déploiement.