AWS Germany – Amazon Web Services in Deutschland

Die sechs Säulen des AWS Well-Architected Frameworks

von Seth Elliot und Lara Valverde, übersetzt von Frank Blessing

Die Erstellung eines Softwaresystems hat Ähnlichkeiten mit dem Bau eines Gebäudes. Wenn das Fundament nicht solide ist, können strukturelle Probleme die Integrität und Funktion des Gebäudes beeinträchtigen.

Wenn Sie bei der Entwicklung von Technologielösungen auf Amazon Web Services (AWS) die sechs Säulen “Operational Excellence”, Sicherheit, Zuverlässigkeit, Leistungseffizienz, Kostenoptimierung und Nachhaltigkeit vernachlässigen, kann es schwierig werden, ein System aufzubauen, das Ihre Erwartungen und (Business-)Anforderungen erfüllt.

Die Berücksichtigung der Fragestellungen und bewährten Methoden des Well-Architected Frameworks bei der Erstellung Ihrer Architektur trägt zur Schaffung stabiler und effizienter Systeme bei. Auf diese Weise können Sie sich auf die anderen Aspekte des Designs, z.B. auf die funktionalen Anforderungen, konzentrieren.

Das AWS Well-Architected Framework hilft Cloud-Architekten dabei, die sicherste, leistungsstärkste, stabilste und effizienteste Infrastruktur für ihre Anwendungen aufzubauen. Das Framework bietet Kunden und AWS-Partnern einen konsistenten Ansatz zur Bewertung von Architekturen und bietet Leitlinien zur Implementierung von Designs, die im Laufe der Zeit an Ihre Anwendungsanforderungen angepasst werden können.

In diesem Beitrag geben wir einen Überblick über die sechs Säulen des Well-Architected Frameworks und gehen auf die in den Säulen beschriebenen Designprinzipien und bewährte Methoden ein. Weitere Informationen — einschließlich Definitionen, häufig gestellte Fragen und Ressourcen — finden Sie in den Whitepapern der einzelnen Säulen, auf die wir in den jeweiligen Abschnitten verlinken.

1. “Operational Excellence”

Die Säule Operational Excellence umfasst die Fähigkeiten, die Entwicklung und den effektiven Betrieb von Workloads zu unterstützen, Einblicke in deren Betrieb zu erhalten und die unterstützenden Prozesse und Verfahren kontinuierlich zu verbessern, um einen Mehrwert für das Unternehmen zu erzielen. Hinweise zur Umsetzung finden Sie im Whitepaper “Operational Excellence Pillar“.

Designprinzipien

Es gibt fünf Designprinzipien für “Operational Excellence” in der Cloud:

  • Betriebliche Vorgänge als Code ausführen
  • Häufige, kleine und umkehrbare Änderungen vornehmen
  • Betriebliche Verfahren regelmäßig nachbessern
  • Fehlern vorbeugen
  • Aus allen betrieblichen Ausfällen lernen

Bewährte Methoden

Betriebsteams müssen ihre Geschäfts- und Kundenbedürfnisse verstehen, damit sie die Geschäftsergebnisse unterstützen können. Das Betriebsteam erstellt und verwendet Verfahren, um auf betriebliche Ereignisse zu reagieren und überprüft deren Wirksamkeit, um die Geschäftsanforderungen zu erfüllen. Das Team erhebt auch Kennzahlen, anhand derer gemessen wird, ob die gewünschten Geschäftsergebnisse erzielt wurden.

Ihr Geschäftskontext, Ihre Geschäftsprioritäten und Kundenbedürfnisse können sich ständig ändern. Es ist wichtig, Abläufe so zu gestalten, dass diese die Entwicklung im Laufe der Zeit als Reaktion auf Veränderungen unterstützen und die aus ihrer Durchführung gewonnenen Erkenntnisse berücksichtigen.

2. Sicherheit

Die Säule Sicherheit umfasst die Fähigkeit, Daten, Systeme und Ressourcen zu schützen und Cloud-Technologien zur Verbesserung Ihrer Sicherheit zu nutzen. Hinweise zur Umsetzung finden Sie im Whitepaper “Security Pillar“.

Designprinzipien

Es gibt sieben Designprinzipien für Sicherheit in der Cloud:

  • Implementieren Sie ein robustes Identitätsmanagement
  • Nachverfolgbarkeit
  • Sicherheit auf allen Ebenen
  • Automatisieren bewährter Sicherheitsverfahren
  • Schutz von Daten während der Übertragung und im Ruhezustand
  • Trennen von Benutzern und Daten
  • Vorbereitung auf Sicherheitsereignisse

Bewährte Methoden

Vor und während der Entwicklung ihres Workload empfehlen wir, dass Sie die für Sie relevanten Sicherheitsanforderungen definieren und daraus die für Ihren Workload relevanten Sicherheitskontrollen definieren. Teil dieses Prozesses ist zu bestimmen wie Akteure auf Daten und Ressourcen zugreifen können. Darüber hinaus möchten Sie in der Lage sein, Sicherheitsvorfälle zu erkennen, Ihre Systeme und Dienste zu schützen und die Vertraulichkeit und Integrität von Daten durch Maßnahmen zu wahren.

Sie sollten Prozesse definieren und erproben, die als Reaktion auf Sicherheitsvorfälle durchlaufen werden. Die hierbei definierten Maßnahmen und Techniken können Sie dabei unterstützen finanzielle Verluste zu vermeiden oder regulatorischen Verpflichtungen nachzukommen.

Das AWS-Modell der geteilten Verantwortung unterstützt Unternehmen im Zuge der Adaption der AWS Cloud, ihre Sicherheits- und Compliance-Ziele zu erreichen. AWS ist für den Schutz der Infrastruktur verantwortlich, in der alle in der AWS Cloud angebotenen Services ausgeführt werden. Die Kundenverantwortlichkeit wird durch die AWS Cloud-Services bestimmt, die Sie als Kunde auswählen. Die ausgewählten Services bestimmen die Umfänge und Möglichkeiten der Konfigurationen, die Sie bei der Umsetzung Ihrer definierten Sicherheitskontrollen vornehmen können bzw. müssen. Die AWS-Cloud bietet Ihnen die Möglichkeit Daten, wie eine Kopie der für Ihren Account vorliegenden AWS API Anfragen – für unterstützte Anfragen und Dienste – einzusehen und zu verwalten. Dies kann Sie dabei Unterstützen automatisierte Reaktionen auf Sicherheitsereignisse über programmatische Schnittstellen basierend auf den vorliegenden Daten umzusetzen.

3. Zuverlässigkeit

Die Säule Zuverlässigkeit umfasst die Fähigkeit eines Workloads, seine vorgesehene Funktion korrekt und konsistent im erwarteten Maße auszuführen. Dazu gehört die Fähigkeit, den Workload während seines gesamten Lebenszyklus zu betreiben und zu testen. Hinweise zur Umsetzung finden Sie im “Whitepaper Reliability Pillar”.

Designprinzipien

Es gibt fünf Designprinzipien für Zuverlässigkeit in der Cloud:

  • Automatische Wiederherstellung nach einem Fehler
  • Testen von Wiederherstellungsverfahren
  • Horizontale Skalierung zur Erhöhung der Gesamtverfügbarkeit von Workloads
  • Genaue Analyse der verfügbaren Kapazität
  • Automatisierte Änderungen

Bewährte Methoden

Vor der Implementierung eines Systems sollten grundlegende Anforderungen, die die Zuverlässigkeit beeinflussen, definiert und validiert werden. Sie müssen beispielsweise über eine ausreichende Netzwerkbandbreite für Ihr Rechenzentrum verfügen um den Anforderungen gerecht zu werden. Diese Anforderungen werden manchmal vernachlässigt (weil sie über den Umfang eines einzelnen Projekts hinausgehen). Bei AWS sind die meisten grundlegenden Anforderungen jedoch bereits durch Eigenschaften der AWS Cloud erfüllt oder können bei Bedarf entsprechend adressiert werden.

Cloud Umgebungen sind für skalierende Workloads ausgelegt. Daher liegt es in der Verantwortung von AWS, die Anforderungen an ausreichende Netzwerk- und Rechenkapazität zu erfüllen, sodass Sie nach Bedarf die verwendeten Ressourcengröße und Zuweisung ändern können.

Ein zuverlässiger Workload berücksichtigt von Beginn an Software- und Infrastruktur-Anforderungen im Designprozess. Ihre Architekturentscheidungen können sich auf das Verhalten Ihres Workloads in allen sechs Säulen des AWS Well-Architected Frameworks auswirken. Aus Gründen der Zuverlässigkeit sollten Sie bestimmte Muster befolgen, z. B. lose gekoppelte Abhängigkeiten, graceful Degradation und die Begrenzung von Wiederholungsversuchen z.B. Anzahl der API-Zugriffe pro Zeiteinheit.

Änderungen an Ihrem Workload oder seiner Umgebung müssen antizipiert und berücksichtigt werden, um einen zuverlässigen Betrieb des Workloads zu gewährleisten. Zu den Änderungen gehören sowohl solche, die von externen Faktoren beeinflusst werden, wie z. B. Lastspitzen durch erhöhtes Anfrageaufkommen, als auch interne, sich ändernde Faktoren, wie z. B. das Ausrollen von neuen Funktionsumfängen und Sicherheitspatches.

Ausfälle von defekten Ressourcen sind in einem lokalen Rechenzentrum täglich zu bewältigen. In der Cloud werden diese jedoch oft abstrahiert. Unabhängig von Ihrem Cloud-Anbieter besteht die Möglichkeit, dass sich Ausfälle auf Ihre Arbeitslast auswirken. Sie müssen daher Maßnahmen ergreifen, um Resilienz in Ihrem Workload zu implementieren, wie z. B. Isolation von Fehlern zur Eindämmung der Auswirkung, automatisierte Maßnahmen zum Wechsel von defekten auf intakte Ressourcen und eine Strategie für die Notfallwiederherstellung.

4. Leistungseffizienz

Die Säule Leistungseffizienz umfasst die Fähigkeit, Rechenressourcen effizient zu nutzen, um die Systemanforderungen zu erfüllen und diese Effizienz aufrechtzuerhalten, wenn sich die Nachfrage ändert und sich die verfügbaren Technologien weiterentwickeln. Hinweise zur Umsetzung finden Sie im Whitepaper “Leistungseffizienz”.

Designprinzipien

Das WAFR beschreibt fünf Designprinzipien für Leistungseffizienz in der Cloud:

  • Zugang zu fortschrittlichen Technologien
  • Globale Verteilung in wenigen Minuten
  • Nutzung von „serverless“ Architekturen
  • Vermehrtes Experimentieren
  • Bestmögliche Nutzung

Bewährte Methoden

Verwenden Sie einen datengetriebenen Ansatz, um eine leistungsstarke Architektur aufzubauen. Sammeln Sie Daten zu allen Aspekten der Architektur, vom übergeordneten Design bis hin zur Auswahl und Konfiguration von Ressourcen-Typen.

Die AWS-Cloud und die bereitgestellten Dienste entwickeln sich weiter. Stellen Sie im Zuge der regelmäßigen Überprüfung der von Ihnen genutzten Dienste und Konfigurationen sicher, dass Sie die Vorteile von neuen Umfängen und Diensten bestmöglich nutzen. Die regelmäßige Überprüfung stellt sicher, dass Sie sich jeder Abweichung von der erwarteten Leistung bewusst sind. Gehen Sie Kompromisse in Ihrer Architektur ein, um die Leistung zu verbessern, z. B. die Verwendung von Komprimierungsmaßnahmen oder Caching oder überdenken und verringern Sie die Anforderungen an Datenkonsistenz.

Die optimale Lösung für einen bestimmten Workload kann verschiedenartig ausfallen; oft werden mehrere Ansätze für eine Lösung kombiniert. AWS Well-Architected Workloads verwenden mehrere Lösungen und ermöglichen verschiedene Funktionen, um die Leistung zu verbessern.

5. Kostenoptimierung

Die Säule Kostenoptimierung umfasst die Fähigkeit, Systeme so zu betreiben, dass sie den gewünschten Mehrwert zum bestmöglichen Preis zur Verfügung stellen. Hinweise zur Umsetzung finden Sie im Whitepaper “Kostenoptimierung”.

Designprinzipien

Es gibt fünf Designprinzipien für die Kostenoptimierung in der Cloud:

  • Cloud-Finanzmanagement implementieren
  • Bedarfsorientierte Nutzung
  • Gesamteffizienz messen
  • Ausgaben für undifferenzierte Aufgaben stoppen
  • Ausgaben analysieren und zuordnen

Bewährte Methoden

Wie bei den anderen Säulen müssen Kompromisse berücksichtigt werden. Möchten Sie zum Beispiel die Geschwindigkeit der Markteinführung oder die Kosten optimieren? In einigen Fällen ist es am besten, die Geschwindigkeit zu optimieren — eine schnelle Markteinführung, die Auslieferung neuer Funktionen zu beschleunigen oder einfach die Einhaltung einer Frist —, anstatt im Voraus in eine Kostenoptimierung zu investieren.

Wenn Designentscheidungen unter Zeitdruck getroffen werden, besteht die Gefahr Kapazitäten über-zu-provisionieren stattdessen zunächst Zeit in Benchmarking und die kostenoptimale Konfiguration zu investieren. Dies kann zu übermäßig bereitgestellten und zu wenig optimierten Bereitstellungen führen.

Die Verwendung der geeigneten Dienste, Ressourcen und Konfigurationen für Ihre Workloads ist der Schlüssel für Kosteneinsparungen und die kontinuierliche Überprüfung der ausgewählten Konfigurationen und Dienste der Schlüssel zu Kostenoptimierungen.

6. Nachhaltigkeit

Die Disziplin Nachhaltigkeit befasst sich mit den langfristigen ökologischen, wirtschaftlichen und gesellschaftlichen Auswirkungen Ihrer Geschäftsaktivitäten. Hinweise zur Umsetzung finden Sie im Whitepaper „Säule Nachhaltigkeit“.

Designprinzipien

Es gibt sechs Designprinzipien für Nachhaltigkeit in der Cloud:

  • Auswirkungen verstehen
  • Nachhaltigkeitsziele festlegen
  • Auslastung maximieren
  • Antizipieren und nutzen Sie neue und effizientere Hardware- und Software-Angebote
  • Verwenden Sie verwaltete Dienste
  • Reduzieren Sie nachgelagerte Auswirkungen Ihrer Cloud-Workloads

Bewährte Methoden

Wählen Sie AWS-Regionen aus, in denen Sie Workloads auf der Grundlage Ihrer Geschäftsanforderungen und Nachhaltigkeitsziele implementieren.

Verhaltensmuster der Nutzer können Ihnen dabei helfen, Verbesserungen zu erkennen, um die Nachhaltigkeitsziele zu erreichen. Reduzieren Sie beispielsweise die Kapazität an genutzten Ressourcen, wenn sie nicht benötigt werden, positionieren Sie Ressourcen in Ihrem Netzwerk so, dass User möglichst kurze Zugriffswege darauf haben (geographische Verteilung, caching) und deprovisionieren Sie ungenutzte Ressourcen.

Implementieren Sie Software- und Architekturmuster, die es ermöglichen eine gleichbleibend hohe Auslastung der bereitgestellten Ressourcen aufrechtzuerhalten. Machen Sie sich mit der Leistung Ihrer Workload-Komponenten vertraut und optimieren Sie die Komponenten, die die meisten Ressourcen verbrauchen.

Analysieren Sie Zugriffsmuster auf Daten damit Sie die Datenhaltung aktiv managen können um den für den Workload erforderlichen Speicherbedarf zu optimieren. Nutzen Sie Lifecycle-Funktionen, um Daten auf effizientere, weniger leistungsstarke Speicher zu verschieben, wenn die Anforderungen sinken und Daten zu löschen, die nicht mehr benötigt werden.

Wählen Sie die effizienteste Hardware für Ihren Workload aus indem Sie die Nutzung der Hardware und die Funktionen und Eigenschaften analysieren um die bestmögliche Konfiguration zu finden sowie die genutzte Menge an Hardware zu reduzieren.

Identifizieren Sie in Ihrem Entwicklungs- und Implementierungsprozess Möglichkeiten, Ihre Auswirkungen auf die Nachhaltigkeit zu verringern, indem Sie Änderungen vornehmen, die konkret auf die Optimierung der für die Bereitstellung des Workloads benötigten Ressourcen abzielen, z. B. die Systeme aktualisieren, um die Leistungseffizienz zu steigern und die Auswirkungen auf die Nachhaltigkeit zu reduzieren. Verwenden Sie Automatisierung, um den Lebenszyklus Ihrer Entwicklungs- und Testumgebungen zu verwalten, und verwenden Sie verwaltete Gerätefarmen für Tests.

Die nächsten Schritte

Erfahren Sie mehr über das AWS Well-Architected Framework, indem Sie an unserer Schulung zum Selbststudium teilnehmen, in der säulenspezifische Whitepapern und Beispiele für bewährte Methoden von AWS Well-Architected vorgestellt werden. Die Schulung ist kostenlos und dauert ungefähr 90 Minuten.

Registrieren Sie sich und starten Sie eine Kundenschulung >>

Registrieren Sie sich und starten Sie die AWS-Partnerschulung >>

Sind Sie ein AWS-Partner und daran interessiert, sich das Fachwissen anzueignen, das für die Durchführung von AWS Well-Architected Framework-Reviews erforderlich ist? Erfahren Sie mehr über das AWS Well-Architected-Partnerprogramm und darüber, wie Ihr Unternehmen AWS-Kunden dabei helfen kann Architekturen basierend auf bewährten Methoden zu entwickeln und Risiken zu minimieren.