Zum Inhalt springen
Start/Experten-Center/Glossar/YAML: Definition & Erklärung — Glossar

YAML: Definition & Erklärung — Glossar

Was ist YAML?

YAML (YAML Ain’t Markup Language, ursprünglich: Yet Another Markup Language) ist ein menschenfreundliches Daten-Serialisierungsformat. Es ist darauf ausgelegt, für Menschen einfach lesbar und schreibbar zu sein — ohne die Ausführlichkeit von XML oder die eingeschränkte Darstellbarkeit von JSON. YAML ist eine Obermenge von JSON: Jedes gültige JSON-Dokument ist auch gültiges YAML.

Syntax und Struktur

YAML nutzt Einrückungen zur Strukturierung (keine Klammern oder Tags). Schlüssel-Wert-Paare: `name: THiiiNK`. Listen (Arrays): Mit Bindestrich (`- Element`). Mehrzeilige Texte werden durch `|` (literal) oder `>` (folded) eingeleitet. Kommentare beginnen mit `#`. Anker (`&`) und Referenzen (`*`) ermöglichen Wiederverwendung von Werten. Der YAML-Linter warnt bei typischen Fehlern wie falscher Einrückung oder mehrdeutigen Typen (z. B. wird `yes` als Boolean interpretiert).

YAML in DevOps und Cloud

YAML ist das dominante Konfigurationsformat im DevOps-Ökosystem: Kubernetes-Manifeste (Deployments, Services, ConfigMaps) sind in YAML definiert. Docker Compose nutzt YAML für Multi-Container-Konfigurationen. GitHub Actions, GitLab CI, Azure Pipelines und CircleCI definieren CI/CD-Pipelines als YAML-Dateien. Ansible Playbooks für Infrastrukturautomatisierung. Helm Charts (Kubernetes-Paketmanager) nutzen YAML-Templates. OpenAPI/Swagger-Spezifikationen für API-Dokumentation.

Fallstricke

YAML ist trotz seiner Lesbarkeit fehleranfällig: Einrückungsfehler sind schwer zu erkennen und produzieren kryptische Fehlermeldungen. Implizite Typkonvertierungen (Strings zu Booleans oder Zahlen) führen zu unerwartetem Verhalten. YAML-Linter und Schema-Validierung (z. B. über VSCode-Erweiterungen) helfen, Fehler früh zu finden. Für sehr kleine Konfigurationen ist JSON oft weniger fehleranfällig; für komplexe, menschlich gepflegte Konfigurationen ist YAML überlegen.

Zurück zum Experten-Center