Newsletter

    Newsletter abonnieren

    Neue Infrastruktur-Guides, Vergleichsberichte und Migrationshinweise direkt ins Postfach.

    Infrastruktur-Notizen, Guides und neue Tools. Jederzeit abbestellbar.

    Zurück zum Blog
    YAML
    CUE
    Kubernetes
    DevOps
    Configuration

    CUE, Kyaml und der Kampf, YAML zu reparieren: Entwickler haben genug davon

    15. März 2025
    5 Min. Lesezeit

    YAML mag in der Kubernetes-Welt noch der Standard sein, aber unter den Engineers an der Front zeichnet sich ein klarer Stimmungswandel ab: Die Liebesbeziehung ist vorbei. Klar, YAML-Dateien sind überall – sie definieren Deployments, verwalten Secrets, orchestrieren CI/CD-Pipelines. Aber hinter dieser ruhigen, einrückungsempfindlichen Oberfläche wächst der Frust. Es ist zerbrechlich, unberechenbar und in komplexen Systemen? Geradezu riskant.

    Die gute Nachricht? Es gibt eine Welle von Tools, die versuchen, YAML zu reparieren, ohne es komplett über Bord zu werfen. Willkommen CUE, Kyaml, Jsonnet und eine wachsende Zahl von Alternativen, die Entwicklern dringend benötigten Freiraum verschaffen wollen.

    Schauen wir uns an, warum YAMLs Herrschaft infrage gestellt wird – und wie diese neue Generation von Tools die Spielregeln auf den Kopf stellt.

    YAML: Das notwendige Übel

    Fragen Sie einen beliebigen DevOps-Engineer, und er wird Ihnen sagen: YAML betreibt nicht die Infrastruktur, aber es konfiguriert mit Sicherheit den Großteil davon. Von Kubernetes-Manifesten bis zu GitHub Actions ist YAML zum universellen Klebeband der deklarativen Konfiguration geworden. Aber dafür war es nie gebaut.

    Es ist empfindlich gegenüber Leerzeichen. Eine falsche Einrückung, und man steckt mitten im Debugging-Ärger.

    Es fehlt an nativer Validierung oder Typprüfung. Dieser Tippfehler in Ihrer Config? Sie merken es erst, wenn etwas kaputtgeht.

    Es ist nicht DRY. Wiederholung ist allgegenwärtig. Config wiederverwenden? Viel Glück damit.

    Es ist nicht modular. Logik über Services oder Umgebungen hinweg aufzuteilen, ist ein Flickwerk aus Skripten, Templates und Wunschdenken.

    Das sind keine kleinen Ärgernisse – das sind systemische Kopfschmerzen für Teams, die Dutzende Microservices über mehrere Umgebungen hinweg verwalten.

    Die CUE-Revolution: Strukturiert, validiert und tatsächlich nutzbar

    CUE (kurz für Configure, Unify, Execute) versucht nicht, YAML 2.0 zu sein – es ist ein völlig neues Paradigma. Man kann es sich als Superset deklarativer Konfiguration vorstellen, das YAML wie einen Bürger zweiter Klasse behandelt (im positiven Sinne).

    Ein Entwickler im Thread brachte es unverblümt auf den Punkt: „Nur eine Datei ändern zu können, um die Config für eine ganze Menge Services zu aktualisieren, mit minimalen Nebeneffekten, alles getestet – das hat mein Leben komplett verändert."

    Das bringt CUE auf den Tisch:

    Eingebaute Validierung: Sie definieren Schemas und Werte gemeinsam. Kein separater Linter oder Pipeline-Schritt nötig.

    Modulare Config: Kombinieren Sie Configs über Dateien und Verzeichnisse hinweg, ohne Hacks.

    Typsichere Transformationen: Erzeugen Sie YAML oder JSON zuverlässig. Keine kaputten Outputs mehr.

    Integriertes Testing: Sie können Ihre Configs kompilieren und validieren, bevor sie überhaupt einen Cluster erreichen.

    Und es ist schnell. Wirklich schnell. Teams, die CUE in Produktion einsetzen, berichten, dass sie Config-Bugs massiv reduziert haben – und ihren Verstand zurückgewonnen haben.

    Kyaml: YAML, nur sauberer (irgendwie)

    Wenn CUE die mutige neue Welt ist, dann ist Kyaml der Minimalist, der versucht, YAML weniger nervig zu machen. Es umhüllt YAML mit einer Struktur, die tatsächlich wartbar ist, und ergänzt Dinge wie:

    Strukturierte Kommentare

    Programmatische Änderungen

    Schema-bewusste Validierung

    Im Kern behält Kyaml die YAML-Syntax bei, ergänzt aber Tooling, damit es sich nicht anfühlt, als würde man Code in einem Minenfeld schreiben. Und für Entwickler, die nah am nativen Kubernetes-Ökosystem bleiben wollen, spielt es gut mit Kustomize und anderen CNCF-Tools zusammen.

    Allerdings bleiben manche Engineers skeptisch: „Nur JSON in YAML-Syntax", wie es ein Nutzer formulierte. Die Stimmung? Wenn man YAML sowieso neu erfindet, warum es dann nicht gleich ersetzen?

    Jsonnet, Dhall, KDL und die No-YAML-Bewegung

    Manche Entwickler interessieren sich nicht für Reparaturen – sie wollen raus. Punkt. Und sie wenden sich Tools zu wie:

    Jsonnet – Man kann es sich als JSON mit Funktionen, Bedingungen und Vererbung vorstellen. Viele Teams nutzen es, um YAML-Templates sauber zu generieren.

    Dhall – Ein komplettes Umdenken bei Konfiguration: getypt, programmierbar und streng validiert.

    KDL (KDL.dev) – Ein neues strukturiertes Markup, das sich eher wie Markdown liest und weniger wie XML oder YAML. Es ist sauber, lesbar und modern.

    NoYAML – Ja, das ist eine echte Website. Und der Name sagt eigentlich schon alles.

    Diese Tools bieten vor allem eines: Struktur. YAML wurde für Menschenlesbarkeit gebaut, aber in großem Maßstab wird aus menschenlesbar schnell menschenfehleranfällig.

    GitHub Actions, CloudFormation und die größten Übeltäter

    Entwickler scheuten sich nicht, konkrete Tools zu benennen, die YAML an seine Grenzen gebracht haben.

    „Die Leute, die GitHub Actions entworfen haben, scheinen tatsächlich zu glauben, YAML sei eine Programmiersprache."

    „Ich schau dich an, CloudFormation."

    Diese Tools nutzen YAML für alles von Bedingungen über Schleifen bis zu Variablensubstitution – Dinge, für die YAML nie gedacht war. Es wird zu einer Art Pseudo-Programmiersprache, ohne die Vorteile echter Programmiersprachen wie Linting, Typisierung oder Komponierbarkeit.

    Es überrascht nicht, dass Infrastruktur-Engineers dagegenhalten.

    KI und YAML: Eine Hassliebe

    Eine unerwartete Wendung? KI-Modelle, einschließlich GPT-basierter Tools, sind überraschend gut darin, YAML zu generieren. Das liegt daran, dass die Struktur von YAML, einmal verstanden, extrem musterbasiert ist.

    Tatsächlich merkte ein Entwickler an, dass die Einbindung von Kompilierungsschritten (über CUE oder Ähnliches) KI-generierte Configs in manchen Umgebungen zuverlässiger macht als handgeschriebene. Mit den richtigen Schemas und Validierungsebenen wird KI weniger zum Risiko und mehr zum Mitstreiter.

    Das heißt nicht, dass YAML einen Freifahrtschein bekommt – aber es bedeutet, dass die nächste Phase des Config-Toolings wahrscheinlich KI mit einbezieht, ob es uns gefällt oder nicht.

    Also... Ist YAML tot?

    Noch nicht. Ob gut oder schlecht, YAML ist immer noch überall. Es steckt fest in CI/CD-Pipelines, Terraform-Wrappern, Kubernetes-CRDs, Helm-Charts und mehr. Es zu ersetzen wird nicht leicht.

    Aber die wachsende Unzufriedenheit ist real. Das Tooling, um dem zu entkommen – oder es zumindest besser zu handhaben – ist da und wird jeden Monat leistungsfähiger. CUE, Kyaml, Jsonnet, Dhall: Das sind längst keine Nischen-Tools mehr. Sie sind Überlebenspakete für moderne Infrastruktur.

    Am Ende wird YAML nicht von heute auf morgen verschwinden. Aber wer komplexe Systeme baut oder pflegt, hat jetzt Optionen. Bessere Optionen. Solche, die Ihre Config nicht als Nebenprojekt behandeln, sondern als Code, der es wert ist, gut engineert zu werden.

    Und wenn YAML im Spiel bleiben will? Dann muss es noch ordentlich erwachsen werden.