Coordonner les couches Web, application et DB
Orchestrez le déploiement multicouche.
Coordonner les couches Web, application et DB est une leçon Ansible Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Ansible Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Ansible Academy comprend 4 leçons au total.
Les vraies applications sont structurées en couches
Une pile classique se divise en couches : serveurs web, serveurs applicatifs et base de données. Chaque couche a son propre rôle et son propre ordre de déploiement. 🏗️
L’ordre est important
Vous démarrez généralement par la base de données, puis l’application et enfin la couche web. Configurer les couches dans le désordre interrompt le déploiement.
Un play par couche
Attribuez à chaque couche son propre play dans un playbook unique. Les plays s’exécutent de haut en bas, leur ordre définit donc votre séquence de déploiement.
- hosts: db
roles: [postgres]
- hosts: app
roles: [backend]
- hosts: web
roles: [nginx]Les groupes correspondent aux couches
Vos groupes d’inventaire, comme db, app et web, correspondent aux hôtes ciblés par chaque play. L’inventaire est la colonne vertébrale de l’orchestration.
[db]
db01
[app]
app01
app02
[web]
web01
web02Transmettre des données entre les couches
La couche web a souvent besoin des adresses IP des serveurs applicatifs. Lisez-les avec hostvars et les groupes afin de relier une couche à une autre.
backends: "{{ groups['app'] | map('extract', hostvars, 'ansible_host') | list }}"Attendre qu’une couche soit prête
Avant de démarrer l’application, vérifiez que le port de la base de données est ouvert avec wait_for. Cela évite de prendre de l’avance sur un service lent.
- ansible.builtin.wait_for:
host: db01
port: 5432
timeout: 60Exécuter les migrations une seule fois
Les modifications du schéma de la base de données ne doivent être appliquées qu’une seule fois. Combinez run_once avec un délégué afin qu’un seul nœud applicatif migre la base de données partagée.
- ansible.builtin.command: ./migrate.sh
run_once: true
delegate_to: app01Traverser les couches avec delegate_to
Un play applicatif peut agir sur la couche web en déléguant une tâche à un hôte web. Un seul playbook peut coordonner toutes les couches.
Étiqueter les couches pour des exécutions ciblées
Ajoutez des balises comme db, app et web aux plays afin de pouvoir redéployer une seule couche avec --tags lorsqu’une seule couche a changé.
- hosts: web
tags: web
roles: [nginx]Échouer rapidement dans toute la pile
Définissez any_errors_fatal afin qu’un échec dans la couche db arrête toute l’exécution avant que la couche app ne soit déployée sur une couche défaillante.
- hosts: db
any_errors_fatal: true
roles: [postgres]Toute la pile dans un seul fichier
Un playbook composé de plusieurs plays devient votre recette de déploiement : chaque couche, dans l’ordre, avec les connexions entre couches regroupées au même endroit.
Vérification rapide
Vérifions comment les couches sont ordonnées.
Récapitulatif
Coordonnez les couches avec un play par couche, dans l’ordre de déploiement, en les reliant au moyen des groupes, de hostvars, de wait_for et de la délégation. ✅
Questions Fréquemment Posées
La leçon « Coordonner les couches Web, application et DB » est-elle gratuite ?
Oui — le texte complet de « Coordonner les couches Web, application et DB » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Ansible Academy, passe à CoddyKit PRO. Le cours Ansible Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Coordonner les couches Web, application et DB » ?
Orchestrez le déploiement multicouche. Tu pratiques Ansible Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Ansible Academy ?
Aucune expérience préalable n'est requise. Ansible Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Coordonner les couches Web, application et DB » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Ansible Academy ?
Oui. Chaque leçon Ansible Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Automatiser les équipements réseau avec cli_command
- delegate_to et run_once pour l’orchestration
- Coordonner les couches Web, application et DB
- Retirer puis réactiver un équilibreur de charge