Devenir DevOps sans casser son VPS : automatiser ses déploiements avec Ansible


🤖 Quand tu gères plus d’un serveur (ou simplement que tu veux gagner du temps), refaire les mêmes commandes à la main devient vite pénible, risqué et source d’erreurs.

C’est là qu’intervient Ansible : un outil d’automatisation simple, sans agent, qui te permet de déployer, configurer, sécuriser et mettre à jour tes serveurs en quelques lignes de code lisible.


🧠 Pourquoi Ansible ?

  • Pas besoin d’agent à installer sur les serveurs (fonctionne via SSH)
  • Déclaratif : tu décris ce que tu veux, pas comment le faire
  • Idéal pour les VPS auto-hébergés, petites infrastructures ou débutants
  • Permet de standardiser tes déploiements
  • Facile à versionner avec Git

⚙️ Installation rapide

Sur ta machine de contrôle (souvent ton PC local ou un serveur de gestion) :

sudo apt install ansible -y

Vérifie :

ansible --version

📁 Structure d’un projet Ansible simple

projet-ansible/
├── hosts
├── site.yml
└── roles/

Fichier hosts (inventaire) :

[vps]
vps1 ansible_host=192.168.1.100 ansible_user=root

[vps:vars]
ansible_python_interpreter=/usr/bin/python3

📝 Exemple de playbook (site.yml)

- name: Configurer mes VPS
  hosts: vps
  become: true

  tasks:
    - name: Mettre à jour les paquets
      apt:
        update_cache: yes
        upgrade: dist

    - name: Installer nginx
      apt:
        name: nginx
        state: present

    - name: S’assurer que nginx est démarré
      service:
        name: nginx
        state: started
        enabled: yes

Lancer le playbook :

ansible-playbook -i hosts site.yml

🔐 Gestion des mots de passe avec Ansible Vault

Ne stocke jamais tes secrets en clair. Utilise ansible-vault :

ansible-vault create secrets.yml

Puis dans tes playbooks :

vars_files:
  - secrets.yml

🔄 Utilisations courantes

  • Déployer automatiquement une stack LAMP/LEMP
  • Configurer les utilisateurs, SSH, firewall
  • Installer WordPress, Nextcloud, Matomo…
  • Gérer les backups, les scripts cron, les certificats Let’s Encrypt
  • Maintenir tous tes serveurs à jour d’un coup

🧪 Exemple d’un déploiement WordPress complet

Tu peux créer un rôle wordpress avec :

  • installation de PHP/MariaDB/nginx
  • téléchargement de WordPress
  • configuration automatique (wp-config.php)
  • création de la base et de l’utilisateur
  • redémarrage des services

💡 Résultat : un WordPress prêt en 1 commande.


🚀 Pourquoi c’est DevOps ?

Ansible t’aide à :

  • automatiser des tâches manuelles
  • déployer rapidement et de manière reproductible
  • collaborer (via Git) sur l’infrastructure
  • scaler sans douleur

Pas besoin d’avoir 100 serveurs pour faire du DevOps. Avec 2 VPS, tu gagnes déjà en rigueur et en sérénité.


✅ En résumé

  • Tu veux gagner du temps ? Ansible.
  • Tu veux éviter les erreurs humaines ? Ansible.
  • Tu veux documenter tes déploiements ? Ansible.
  • Tu veux gérer 1 ou 10 serveurs pareil ? Ansible.

🎯 Ansible, c’est le DevOps accessible. Tu décris, tu lances, et ça marche.