YAML

YAML

YAML ist ein Textformat, in dem Menschen Einstellungen für Programme aufschreiben. Es verzichtet auf Klammern und arbeitet stattdessen mit Einrückungen, damit die Struktur direkt sichtbar bleibt.

Fast jedes Programm braucht Angaben darüber, wie es arbeiten soll: welcher Server benutzt wird, welches Passwort gilt, wie viele Wiederholungen erlaubt sind. Solche Angaben schreibt man selten in den eigentlichen Programmcode. Stattdessen legt man sie in eine eigene Textdatei, und YAML ist eines der verbreitetsten Formate für genau diese Dateien. Der Aufbau ist bewusst schlicht: links steht ein Name, dann ein Doppelpunkt, dann der Wert, also zum Beispiel « port: 8080 ». Gehört etwas zu etwas anderem, rückt man es weiter nach rechts ein. Dadurch kann man eine YAML-Datei lesen, ohne die Sprache je gelernt zu haben.

Warum Konfiguration lesbar sein muss

Konfigurationsdateien werden nicht nur einmal geschrieben. Sie werden monatelang von wechselnden Leuten angepasst, oft unter Zeitdruck. Wenn niemand versteht, was in der Datei steht, entstehen Fehler, die erst im laufenden Betrieb auffallen. YAML setzt deshalb auf möglichst wenig Zeichen, die keine Bedeutung tragen.

Der wichtigste Vergleich ist JSON, ein älteres Format mit demselben Zweck. JSON verlangt geschweifte Klammern, Anführungszeichen und Kommas an genau den richtigen Stellen. Das ist für Maschinen bequem, für Menschen aber mühsam. YAML lässt fast all das weg und wirkt dadurch eher wie eine ordentlich formatierte Notiz. Beide Formate können dieselben Informationen darstellen, und YAML versteht JSON sogar mit.

Ein weiterer Grund ist die Zusammenarbeit über Versionsverwaltung. Entwicklerteams speichern ihre Dateien in Systemen, die jede Änderung Zeile für Zeile protokollieren. Ein Format mit einer Angabe pro Zeile zeigt in so einem Protokoll sehr genau, was jemand geändert hat. Bei YAML sieht man auf einen Blick: Hier wurde die Speichergrenze von 2 auf 4 Gigabyte erhöht.

Einrückung statt Klammern

YAML kennt im Kern nur drei Bausteine. Es gibt einzelne Werte wie Zahlen, Text oder wahr und falsch. Es gibt Zuordnungen, bei denen jedem Namen ein Wert gehört. Und es gibt Listen, bei denen jeder Eintrag mit einem Bindestrich beginnt. Aus diesen drei Teilen lassen sich beliebig verschachtelte Strukturen bauen.

Die Verschachtelung entsteht ausschließlich durch Leerzeichen am Zeilenanfang. Steht unter « datenbank: » eine um zwei Leerzeichen eingerückte Zeile « host: localhost », dann gehört dieser Host zur Datenbank. Das funktioniert wie eine Gliederung im Deutschunterricht, in der Unterpunkte weiter rechts stehen als Oberpunkte. Ein Programm liest die Datei ein und baut daraus im Arbeitsspeicher genau diese Struktur nach.

Genau hier liegt aber auch die bekannteste Schwäche. Ein einziges falsches Leerzeichen verschiebt eine Angabe an eine völlig andere Stelle, und Tabulatoren sind zur Einrückung verboten. Berüchtigt ist zudem das sogenannte Norwegen-Problem: Ältere YAML-Versionen deuteten das unangeführte Wort « NO », das Länderkürzel für Norwegen, als das Wahrheitswort « nein ». Wer sichergehen will, setzt solche Werte in Anführungszeichen.

YAML in Cloud, KI-Projekten und Automatisierung

Am sichtbarsten ist YAML rund um Kubernetes, die Standardsoftware zum Betrieb von Programmen in Rechenzentren. Dort beschreibt man in YAML-Dateien, welche Anwendung in wie vielen Kopien laufen soll und wie viel Rechenleistung sie bekommt. Auch die automatischen Testabläufe auf Plattformen wie GitHub werden in YAML festgelegt. Wer beruflich mit Servern zu tun hat, schreibt solche Dateien praktisch täglich.

In KI-Projekten dient YAML meist als Protokoll eines Experiments. Lernrate, Anzahl der Durchläufe, verwendeter Datensatz und Modellgröße stehen in einer kurzen Datei zusammen. Wer ein Ergebnis später wiederholen will, braucht genau diese Datei. Ohne sie weiß nach drei Monaten niemand mehr, mit welchen Einstellungen ein Modell trainiert wurde.

In Nachrichten taucht YAML meist im Zusammenhang mit Sicherheitsvorfällen auf. Zugangsdaten, die versehentlich in einer öffentlichen YAML-Datei landen, sind eine häufige Ursache für Datenlecks. Ebenso können falsch eingerückte Zeilen ganze Dienste lahmlegen. Das Format selbst ist harmlos, seine Rolle als zentraler Schalter für große Systeme aber nicht.

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.