<center><h1>Ansible</h1></center>
<center><h3>Presentation :</h3></center>
<center><h3>Javet Alexandre</h3></center>
---
## Agenda
1. Ansible
2. Ansible Tower
3. Infrastructure as code
---
## Ansible
Ansible est un software open-source de déployement automatique permettant l'utilisation de l'*IaC*.
*IaC* : Infrastructure as Code
----
Il utilise du language déclaratif pour décrire la configuration des systèmes que l'on veut déployer.
----
### Playbooks
Les playbooks sont des fichiers *yaml* comportement une liste de host (Pouvant être listé dans un *inventaire* avec leur rôles et la configuration qu'ils vont avoir.
----
C'est grâce à ces fichiers que ansible sait quelle machines déployer et quelle configuration leur donner
----
### Inventory
L'inventaire est un fichier en .yaml comportant tout les hosts (Donc une list d'adresse ip ou de hostname), qui va être utilisé par le playbook pour savoir quel host il faut configurer.
----
### Modules
Un module est un script écrit en language standard de programmations (python, ruby, etc...). Il permet d'effectuer des actions sur nos hosts que l'on liste dans le playbook, de manière idempotente.
----
### Integration via Cloud
Ansible permet aussi le deployement de machines non physique et d'environnements sur el cloud. Comme par exemples des **machines virtuelles** ou des **environnements dockers**.
----
## Infrastructure as Code
L'*IaC* ou l'*Infrastructure as Code* est un procédé de mechanisme permettant la gestion de multiples machines et le deployement de celles-ci.
----
Comme par exemple des instances de machines virtuelles, des serveurs DNS, etc... C'est le procédé qu'**Ansible** exploite, et facilite grandement.
---
## Ansible Tower
Ansible Tower est une façon plus facile et plus accessible d'utiliser Ansible.
----
Elle permet l'utilisation **facile** de celui-ci pour des **corps de travail n'étant pas des développeurs** par exemple.
----
Cet outil crée par **red hat** est un serveur comportant une **interface graphique** permettant le **contrôle des déployement**, et qui apporte les **informations par rapport au machines gérées via ansible.**
---
{"metaMigratedAt":"2023-06-15T12:20:28.366Z","metaMigratedFrom":"YAML","title":"Ansible","breaks":true,"description":"View the slide with \"Slide Mode\".","lang":"fr-FR","slideOptions":"{\"theme\":\"black\",\"progress\":true,\"transition\":\"fade\",\"spotlight\":{\"enabled\":false},\"allottedMinutes\":15}","contributors":"[{\"id\":\"96fb5b7d-9eb2-426c-a31f-2b7bd934198d\",\"add\":3818,\"del\":1428}]"}