0Pricing
DevOps Bootcamp · Lektion

Web-, App- und Datenbankebenen koordinieren

Orchestrieren Sie ein mehrschichtiges Rollout.

Web-, App- und Datenbankebenen koordinieren ist eine kostenlose DevOps Bootcamp-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des DevOps Bootcamp-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.

Echte Anwendungen haben Ebenen

Ein typischer Stack ist in Ebenen aufgeteilt: Webserver, App-Server und eine Datenbank. Jede Ebene hat ihre eigene Aufgabe und ihre eigene Bereitstellungsreihenfolge. 🏗️

Die Reihenfolge ist wichtig

Normalerweise starten Sie zuerst die Datenbank, dann die App und anschließend die Web-Ebene. Werden die Ebenen in der falschen Reihenfolge konfiguriert, schlägt der Rollout fehl.

Ein Play pro Ebene

Geben Sie jeder Ebene ein eigenes Play in einem einzigen Playbook. Plays werden von oben nach unten ausgeführt, daher legt ihre Reihenfolge die Bereitstellungssequenz fest.

- hosts: db
  roles: [postgres]

- hosts: app
  roles: [backend]

- hosts: web
  roles: [nginx]

Gruppen entsprechen den Ebenen

Ihre Inventory-Gruppen wie db, app und web entsprechen den Hosts, auf die die jeweiligen Plays zielen. Das Inventory bildet das Rückgrat der Orchestrierung.

[db]
db01

[app]
app01
app02

[web]
web01
web02

Daten zwischen Ebenen weitergeben

Die Web-Ebene benötigt häufig die IPs der App-Server. Lesen Sie diese mit hostvars und Gruppen aus, um eine Ebene mit einer anderen zu verbinden.

backends: "{{ groups['app'] | map('extract', hostvars, 'ansible_host') | list }}"

Warten, bis eine Ebene bereit ist

Bestätigen Sie vor dem Start der App mit wait_for, dass der Datenbankport geöffnet ist. So verhindern Sie, dass die App einem langsamen Dienst zuvorkommt.

- ansible.builtin.wait_for:
    host: db01
    port: 5432
    timeout: 60

Migrationen einmalig ausführen

Änderungen am Datenbankschema sollten nur einmal ausgeführt werden. Kombinieren Sie run_once mit einem Delegate, damit ein App-Knoten die gemeinsame Datenbank migriert.

- ansible.builtin.command: ./migrate.sh
  run_once: true
  delegate_to: app01

Mit delegate_to ebenenübergreifend arbeiten

Ein App-Play kann auf die Web-Ebene zugreifen, indem es eine Aufgabe an einen Webhost delegiert. Ein Playbook kann so jede Ebene koordinieren.

Ebenen für gezielte Ausführungen markieren

Fügen Sie den Plays Tags wie db, app und web hinzu, damit Sie mit --tags eine einzelne Ebene erneut bereitstellen können, wenn sich nur diese Ebene geändert hat.

- hosts: web
  tags: web
  roles: [nginx]

Bei Fehlern im gesamten Stack sofort abbrechen

Setzen Sie any_errors_fatal, damit ein Fehler in der db-Ebene den gesamten Lauf stoppt, bevor die App-Ebene auf einer fehlerhaften Grundlage bereitgestellt wird.

- hosts: db
  any_errors_fatal: true
  roles: [postgres]

Der gesamte Stack in einer Datei

Ein Playbook mit mehreren Plays wird zu Ihrem Bereitstellungs-rezept: jede Ebene in der richtigen Reihenfolge und die Verbindungen zwischen den Ebenen an einer zentralen Stelle.

Kurze Überprüfung

Überprüfen wir, wie die Ebenen aneinandergereiht werden.

Zusammenfassung

Koordinieren Sie die Ebenen mit einem Play pro Ebene in der Bereitstellungsreihenfolge und verbinden Sie sie über Gruppen, hostvars, wait_for und Delegation. ✅

Häufig gestellte Fragen

Ist die Lektion „Web-, App- und Datenbankebenen koordinieren“ kostenlos?

Ja — der vollständige Text von „Web-, App- und Datenbankebenen koordinieren“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des DevOps Bootcamp-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Web-, App- und Datenbankebenen koordinieren“?

Orchestrieren Sie ein mehrschichtiges Rollout. Du übst DevOps Bootcamp mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um DevOps Bootcamp zu starten?

Keine Vorkenntnisse erforderlich. DevOps Bootcamp auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „Web-, App- und Datenbankebenen koordinieren“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser DevOps Bootcamp-Lektion Code schreiben und ausführen?

Ja. Jede DevOps Bootcamp-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Netzwerkgeräte mit cli_command automatisieren
  2. delegate_to und run_once für Orchestrierung
  3. Web-, App- und Datenbankebenen koordinieren
  4. Load-Balancer-Drain und erneute Aktivierung
← Zurück zu DevOps Bootcamp