AWS-Systemkorrekturpraktiken: Einsatz von formalen und semi-formalen Methoden

2025-04-01

Amazon Web Services (AWS) ist bestrebt, zuverlässige Dienste zu liefern, denen Kunden voll und ganz vertrauen können. Dies erfordert die Einhaltung höchster Sicherheits-, Langlebigkeits-, Integritäts- und Verfügbarkeitsstandards – wobei die Systemkorrektheit der Eckpfeiler für das Erreichen dieser Prioritäten ist. AWS setzte zunächst die Sprache TLA+ ein, um kritische Systeme zu modellieren und subtile Fehler frühzeitig zu erkennen und zu beheben. Mit dem Wachstum führte AWS die Programmiersprache P ein, die für Entwickler benutzerfreundlicher ist, um verteilte Systeme zu modellieren und zu analysieren, was für Migrationen wie die von Amazon S3 zu starker Konsistenz entscheidend war. Leichte Methoden wie eigenschaftsbasierte Tests, deterministische Simulation und Fuzzing werden ebenfalls weit verbreitet eingesetzt. AWS hat auch FIS (Fault Injection Service) eingeführt, um die Widerstandsfähigkeit zu verbessern. Für kritische Sicherheitsgrenzen verwendet AWS formale Beweise, wie bei der Entwicklung von Cedar und Firecracker. Dieser umfassende Ansatz gewährleistet Zuverlässigkeit und Leistungsoptimierung bei gleichzeitiger Kostenreduzierung.