physar / Cloud Infrastructure & Platform Engineering / Platform Foundations

Platform Foundations

Deklarative Infrastruktur, Sicherheitsgrenzen und Recovery als gemeinsame Plattformverantwortung.

Infrastruktur ist ein versioniertes Produkt

Einführung · 6 Abschnitte · ~11 Min Lesezeit · Stand

Deklarativ statt Erinnerung

Infrastructure as Code macht gewünschte Zustände überprüfbar, wiederholbar und reviewbar. Es ersetzt nicht die Architekturentscheidung, aber es reduziert Drift und schafft einen nachvollziehbaren Wiederherstellungsweg.

Deklarativ heißt: du beschreibst den Zielzustand, das Werkzeug ermittelt den Weg dorthin. Der Nutzen entsteht aber erst im Regelkreis — beschreiben, prüfen, begrenzt anwenden, den tatsächlich erreichten Zustand mit dem beschriebenen vergleichen und Abweichungen zurückführen.

  1. Zielzustand beschreiben
  2. Diff reviewen
  3. Begrenzt anwenden
  4. Erreichten Zustand vergleichen
  5. Wirkung gegen Erfolgskriterium prüfen
  6. Abweichung zurückführen

Die beiden Prüfschritte beantworten verschiedene Fragen, und beide müssen gestellt werden. Der Zustandsabgleich fragt: Stimmt die Konfiguration? — deckt sich das Laufende mit dem Beschriebenen. Die Wirkungsprüfung fragt: Verhält sich das System wie erwartet? — treffen Kommunikation, Fehlerraten und Ressourcenwirkung das vorher festgelegte Erfolgskriterium. Eine sauber angewandte Änderung kann trotzdem die falsche gewesen sein, und nur die zweite Frage bemerkt das.

Plattformgrenzen

GrenzeFrage
IdentityWer darf welche Änderung oder Laufzeitaktion ausführen?
NetzwerkWelche Kommunikationswege sind ausdrücklich erlaubt?
RessourcenWelche Anfrage darf wie viel Kapazität beanspruchen?
MandantWelche Daten und Ausfälle dürfen sich niemals kreuzen?

Diese vier Grenzen fallen selten zusammen — jede ist eine eigene Entwurfsfrage mit eigener Antwort und einem eigenen Instrument. Wer sie mit einem einzigen groben Instrument beantwortet, etwa indem er zwei Workloads schlicht in dieselbe Umgebung legt, löst eine Frage und öffnet drei andere.

  • Identity — eine Rolle im Umfang der Aufgabe, nicht die vorhandene Adminrolle.
  • Netzwerk — ein Pfad zum benötigten Ziel und Port, nicht ein gemeinsames Netz.
  • Ressourcen — geprüfte Kapazität und ein Kontingent für die zusätzliche Last.
  • Mandant — getrennte Daten und getrennte Ausfälle, nicht dieselbe Umgebung.

Die Mandantengrenze hat zwei Seiten. Daten: eine Kopie von Produktionsdaten in einer schwächer geschützten Umgebung ist eine zweite Produktionsdatenhaltung — mit denselben Pflichten bei Zugriff, Aufbewahrung und Löschung. Ausfälle: jede Komponente, die zwei Mandanten oder zwei Umgebungen gemeinsam nutzen, verbindet ihre Ausfälle. Ein Wartungsfenster, ein Versionswechsel oder eine Überlast trifft dann beide zugleich. Kontingente dämpfen die Lastkopplung, sie heben den gemeinsamen Ausfall aber nicht auf.

Drift und die Richtung der Rückführung

Drift ist die Differenz zwischen dem beschriebenen und dem laufenden Zustand. Sie entsteht fast immer legitim: jemand behebt um drei Uhr nachts eine Störung direkt in der Konsole. Ein solcher Notfalleingriff ist erlaubt — er ist nur noch nicht fertig.

  • Der Eingriff war richtig und eng geschnitten: in die Beschreibung übernehmen, reviewen, anwenden.
  • Der Eingriff war absichtlich grob, weil unter Zeitdruck niemand die genaue Grenze kannte: die minimal ausreichende Variante bestimmen, diese beschreiben, anwenden — und den zu weiten Rest entfernen.
  • Der Eingriff war falsch oder ist nicht mehr nötig: zurückbauen und den Rückbau ebenfalls verifizieren.
  • Was nie trägt: die Ressource dauerhaft von der Automatisierung ausnehmen. Das macht die Abweichung dauerhaft und unsichtbar, statt sie aufzulösen.

Der Notfallzustand ist also nicht automatisch der gewünschte Zustand. Ihn ungeprüft in Code zu gießen führt eine Ausnahme über den Review-Pfad in die Dauerregel ein.

Nachweis statt Annahme

Eine Beschreibung ist keine Messung. Die Frage „läuft alles so, wie es beschrieben ist?“ lässt sich nur mit einem Vergleich beantworten — nicht mit einem Verweis auf den Prozess.

ArtefaktWas es tatsächlich belegt
Beschreibung im RepositoryAbsicht und Freigabe — nicht die Wirklichkeit.
Grüner Lauf der AutomatisierungDass zu diesem Zeitpunkt angewendet wurde — nicht, dass seither nichts verändert wurde.
Abgleich laufender Zustand gegen BeschreibungDass heute keine Abweichung besteht.
Änderungsprotokoll der Plattform-APIWer wann außerhalb des vorgesehenen Wegs geändert hat.

Die beiden tragenden Artefakte ergänzen sich: der Abgleich zeigt dass etwas abweicht, das Änderungsprotokoll zeigt wie es dazu kam. Wer nur eines hat, kann entweder nicht handeln oder nicht lernen.

Recovery ist ein Produktmerkmal

Verfügbarkeit und Wiederherstellung beginnen mit Anforderungen: Wie lange darf Ausfall dauern und wie viel Datenverlust ist akzeptabel? Daraus folgen Architektur, Backups, Replikation und getestete Wiederanläufe.

RTO — Recovery Time ObjectiveMaximal zulässige Dauer, die eine Funktion offline sein darf.
RPO — Recovery Point ObjectiveMaximal zulässiger Zeitraum, aus dem Daten verloren gehen dürfen.

Beide Werte sind Geschäftsentscheidungen, keine Messwerte des Ist-Betriebs. Erst wenn sie je Funktion feststehen, lässt sich begründet zwischen den Mustern wählen: Sicherung und Wiederherstellung, vorgehaltene Minimalumgebung, mitlaufendes Standby oder mehrere aktive Regionen. In dieser Reihenfolge sinkt die erwartete Ausfalldauer, und Kosten wie Betriebsaufwand steigen.

Nächste Checks

Gleich entscheidest du diese Achsen selbst. Achte jeweils darauf, welche Grenze wirklich gefragt ist und welcher Beleg die Aussage trägt.

  • Den gewünschten Zustand statt einen manuellen Hotfix wählen
  • Eine Plattformänderung von der Absicht bis zum Rückweg ordnen
  • Identität, Netz, Ressourcen und Mandant als getrennte Entwurfsfragen behandeln
  • Einen Notfalleingriff aus der Konsole in die richtige Richtung zurückführen
  • Recovery-Ziele vor der Architekturwahl festlegen statt danach
  • Den laufenden Zustand belegen statt ihn anzunehmen
  • Datenkreuzung und Ausfallkopplung zwischen Umgebungen getrennt schließen
  • Einen zugesagten Wiederanlauf messbar nachweisen

Gelesen ist nicht geprüft: Im Modul entscheidest du die Fälle selbst und siehst danach, wo dein Urteil trägt.

8 Checks starten →

Modul-Aufbau

EINFÜHRUNGInfrastruktur ist ein versioniertes Produkt~11 Min
ADR-001DESIRED-STATEsolide
FLOW-002MISSION · CHANGE-SEQUENCEsolide
ADR-003PLATFORM-BOUNDARYeinstieg
ADR-004CONSOLE-DRIFTeinstieg
ADR-005RECOVERY-OBJECTIVEsolide
ADR-006STATE-EVIDENCEsolide
ADR-007PLATFORM-BOUNDARYsolide
ADR-008RECOVERY-OBJECTIVEsenior

Quellen

  1. 01Google Cloud: Infrastructure as Code
  2. 02Google Cloud Architecture Center: Disaster Recovery Planning Guide
  3. 03AWS Well-Architected Framework, Reliability Pillar: Design Principles
  4. 04AWS Well-Architected Framework, Security Pillar: Detection
  5. 05NIST SP 800-145: The NIST Definition of Cloud Computing (Resource Pooling, Multi-Tenant-Modell)
  6. 06AWS Well-Architected Framework, Security Pillar: SEC03-BP02 Grant least privilege access
  7. 07Einordnung: Die Aufteilung in genau vier Plattformgrenzen (Identität, Netz, Ressourcen, Mandant) ist eine didaktische Synthese dieses Kurses. Belegt sind die Einzelprinzipien, nicht die Vierteilung als Standard.
  8. 08AWS Whitepaper: Disaster Recovery of Workloads on AWS — Disaster Recovery Options in the Cloud
  9. 09Google Cloud: Infrastructure Reliability Guide — Building Blocks (Definition Failure Domain)
  10. 10Einordnung: Die Quellen definieren Fehlerdomäne und Multi-Tenant-Modell. Die Übertragung auf die Kopplung zweier Umgebungen über eine geteilte Datenbank ist eine Ableitung dieses Kurses.
  11. 11AWS Whitepaper: Disaster Recovery of Workloads on AWS — Testing Disaster Recovery

Verfasst von Julian Zentgraf