Container- und Serverless-Resilienz
Prüfungsbezug: DOP-C02 Domain 3 — highly available, scalable, and automatically recoverable solutions.
Lernziel
ECS Placement, EKS Disruption Controls, Lambda Concurrency, Retries und DLQs aus messbaren Availability-, Scaling- und Recovery-Anforderungen entwerfen, implementieren und untersuchen.
Berufliches Szenario
Zwei ECS Tasks laufen in einer AZ und eine Lambda Poison Message retryt unbegrenzt.
Kernkonzepte
- Diese Lektion fokussiert ECS Placement, EKS Disruption Controls, Lambda Concurrency, Retries und DLQs.
- Mit Business Impact sowie messbaren Availability-, RTO- und RPO-Zielen beginnen.
- Infrastruktur-, Daten-, Identity-, Quota-, Netzwerk-, Deployment- und menschliche Dependencies abbilden.
- Unbeabsichtigte SPOFs entfernen und Blast Radius begrenzen.
- Health Signals, Detection, Failover, Rollback und Failback definieren.
- Kapazität, Replication Lag und Recovery Duration messen.
- Tests und Operational Readiness als Teil der Architektur behandeln.
Architektur-Schrittfolge
- Business-Anforderung in Availability, RTO, RPO, Kapazität und Failure Domains übersetzen.
- Alle Dependencies und gemeinsamen Control Paths zeichnen.
- Multi-AZ-, Cross-Region-, Decoupling-, Replication- oder Backup-Muster wählen.
- Technische und Business-Health-Signale definieren.
- Recovery mit begrenzten Rollen und bekannten Quotas automatisieren.
- Tabletop, Restore-Test oder kontrolliertes Fault Experiment durchführen.
- Ergebnisse mit Zielen vergleichen und System verbessern.
Entscheidungshilfe
| Anforderung | Bevorzugte Richtung | Warum |
|---|---|---|
| Einen AZ-Ausfall überstehen | Multi-AZ Targets und überlebende Kapazität | AZ ist kein SPOF |
| Regionskatastrophe | Definierte Cross-Region-Strategie | Passt zu RTO, RPO und Kosten |
| Burst oder Dependency-Ausfall | Asynchrone Entkopplung und Backpressure | Verhindert kaskadierende synchrone Fehler |
| Logische Datenkorruption | Geschütztes Backup und PITR | Replikation kann Fehler kopieren |
| Produktionsvertrauen | Game Days und kontrollierte Fault Injection | Diagramme sind kein Nachweis |
Fehlerbilder und Fehlersuche
- Standby besitzt keine aktuellen Daten, Secrets, Zertifikate, Quotas oder Kapazität.
- Traffic wird bewegt, bevor Recovery bereit ist.
- Retries verstärken Overload oder duplizieren nicht-idempotente Arbeit.
- Health Check ist zu flach und repräsentiert Business-Funktion nicht.
- Replikation ist aktiv, aber Lag und Fehler werden nicht überwacht.
Sicherheits- und Betriebsaspekte
- Recovery-Zugriff unabhängig von gestörter oder kompromittierter Umgebung halten.
- Backup Vaults, KMS Keys, DNS Changes, Replication Roles und Experiment Controls schützen.
- Least-Privilege-Automation-Rollen und Audit von Failover-Aktionen.
- Keine Kundendaten in Experimenten, Metriken, Logs oder Game-Day-Nachweisen.
Praxislabor
Ziel: Ein kontrolliertes Resilienzszenario entwerfen und validieren.
Aufgaben
- Messbare Availability-, RTO- und RPO-Ziele notieren.
- Dependencies und Failure Domains zeichnen.
- Architektur und verworfene Alternativen wählen.
- Health, Failover, Rollback und Failback definieren.
- Einen kontrollierten Fault oder Tabletop Inject einführen.
- Recovery messen und Verbesserungen erfassen.
Validierung
- Die Architektur erfüllt das definierte Ziel.
- Recovery hängt nicht von nicht verfügbaren Zugriffspfaden ab.
- Ergebnisse werden mit Zielen verglichen.
Kostenkontrolle: Für teure Multi-Region-Designs Tabletop-Simulation nutzen und alle Live-Testressourcen löschen.
Aufräumen
- Experimente und synthetischen Traffic stoppen.
- Temporäre Compute-, Replica-, Alarm-, Backup- und DNS-Testressourcen löschen.
- Bestätigen, dass Produktions-Recovery-Ressourcen erhalten bleiben.
Prüfungsfallen
- Backup, Replikation, Durability und Availability gleichsetzen.
- Active/Active ohne Kosten, Konflikte und Betriebskomplexität wählen.
- Annehmen, ein Feature erfülle automatisch RTO oder RPO.
- Traffic bewegen, bevor Daten und Kapazität bereit sind.
- Ungetestetes Runbook als zuverlässige Recovery behandeln.
Wichtigste Erkenntnisse
- ECS Placement, EKS Disruption Controls, Lambda Concurrency, Retries und DLQs beherrschen.
- Resilienzziele müssen messbar sein.
- Recovery benötigt bereite Daten, Kapazität, Routing, Berechtigungen und Betrieb.
- Tests liefern den Nachweis, dass das Design funktioniert.
Wiederholungsfragen
- Welche Business-Anforderung treibt das Design?
- Was ist die wichtigste Failure Domain?
- Welche versteckte Dependency kann noch ausfallen?
- Welches Health-Signal startet Recovery?
- Welche RTO und RPO gelten?
- Was muss vor Traffic Movement bereit sein?
- Wie erfolgt Failback?
- Wie wird das Design getestet?
Antworten
- Das ausdrückliche Availability- und Recovery-Ziel.
- Die kleinste Grenze, deren Ausfall den Service betrifft.
- Eine gemeinsame Ressource, Credential, Quota, Control Path oder menschlicher Prozess.
- Ein getesteter technischer oder Business-Indikator.
- Sie stammen aus der Business-Impact-Analyse.
- Daten, Kapazität, Version, Konfiguration, Credentials, Routing und Observability.
- Über einen separaten kontrollierten und getesteten Workflow.
- Mit Restore-Tests, Failover-Übungen, Game Days und Fault Injection.