Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
REL01-BP03 Berücksichtigung fester Servicequoten und Einschränkungen durch die Architektur
Achten Sie auf nicht änderbare Service Quotas, Servicebeschränkungen und physische Ressourcen-Limits. Entwerfen Sie Architekturen für Anwendungen und Services, um zu verhindern, dass sich diese Limits auf die Zuverlässigkeit auswirken.
Beispiele hierfür sind die Netzwerkbandbreite, die Größe der Nutzlast für den Aufruf serverloser Funktionen, die Drosselungsrate eines API Gateways und gleichzeitige Benutzerverbindungen zu einer Datenbank.
Gewünschtes Ergebnis: Die Anwendung oder der Service erbringt unter normalen Bedingungen und bei hohem Datenverkehr die erwartete Leistung. Sie wurden so konzipiert, dass sie innerhalb der für diese Ressource festgelegten Beschränkungen oder Service-Kontingente arbeiten.
Typische Anti-Muster:
-
Auswahl eines Designs, das eine Ressource eines Service verwendet, ohne zu wissen, dass es Design-Einschränkungen gibt, die dazu führen, dass dieses Design beim Skalieren versagt.
-
Sie führen ein Benchmarking durch, das unrealistisch ist und mit dem während der Tests die festen Kontingente für den Service erreicht werden. Sie führen beispielsweise Tests mit einem Burst-Limit durch, diese aber für einen längeren Zeitraum.
-
Sie wählen ein Design aus, das nicht skaliert oder geändert werden kann, wenn feste Service-Kontingente überschritten werden müssen. Zum Beispiel eine SQS Payload-Größe von 256 KB.
-
Die Überwachungsfunktion wurde nicht zur Überwachung und Benachrichtigung von/für Schwellenwerte/n für Service-Kontingente entwickelt und implementiert, die bei hohem Datenverkehr gefährdet sein könnten.
Vorteile der Nutzung dieser bewährten Methode: Es wird sichergestellt, dass die Anwendung unter allen prognostizierten Last-Levels der Services ohne Unterbrechung oder Beeinträchtigung läuft.
Risikostufe bei fehlender Befolgung dieser bewährten Methode: Mittel
Implementierungsleitfaden
Im Gegensatz zu Soft-Service-Kontingenten oder Ressourcen, die durch Einheiten mit höherer Kapazität ersetzt werden, können feste Kontingente AWS von Diensten nicht geändert werden. Das bedeutet, dass all diese Arten von AWS Diensten auf mögliche harte Kapazitätsgrenzen hin untersucht werden müssen, wenn sie in einem Anwendungsdesign verwendet werden.
Feste Beschränkungen werden in der Service Quotas-Konsole angezeigt. Wenn in den Spalten ADJUSTABLE = No
angezeigt wird, gibt es eine feste Beschränkung für den Service. Auch auf einigen Konfigurationsseiten für Ressourcen werden feste Beschränkungen angezeigt. Für Lambda gibt es zum Beispiel bestimmte feste Beschränkungen, die nicht angepasst werden können.
Wenn Sie beispielsweise eine Python-Anwendung entwerfen, die in einer Lambda-Funktion ausgeführt werden soll, sollte die Anwendung daraufhin geprüft werden, ob die Möglichkeit besteht, dass Lambda länger als 15 Minuten läuft. Wenn die Codeausführung länger als dieses Service-Kontingent dauert, müssen alternative Technologien oder Designs in Betracht gezogen werden. Wird diese Beschränkung nach der Bereitstellung in der Produktion erreicht, wird die Anwendung beeinträchtigt und gestört, bis sie wiederhergestellt werden kann. Im Gegensatz zu Soft-Kontingenten gibt es keine Möglichkeit, diese Beschränkungen zu ändern – selbst wenn ein Ereignis des Schweregrads 1 eintritt.
Sobald die Anwendung in einer Testumgebung bereitgestellt wurde, sollten Strategien eingesetzt werden, um herauszufinden, ob feste Beschränkungen erreicht werden könnten. Stresstests, Lasttests und Chaostests sollten Teil des Einführungstestplans sein.
Implementierungsschritte
-
Sehen Sie sich die vollständige Liste der AWS Dienste an, die in der Phase des Anwendungsentwurfs verwendet werden könnten.
-
Sehen Sie sich die Soft-Kontingentbeschränkungen und Hard-Kontingentbeschränkungen der Services an. Nicht alle Beschränkungen werden in der Service Quotas-Konsole angezeigt. Einige Services zeigen die Beschränkungen an anderen Stellen an.
-
Prüfen Sie bei der Entwicklung Ihrer Anwendung die geschäftlichen und technologischen Faktoren Ihres Workloads, wie z. B. Geschäftsergebnisse, Anwendungsfälle, abhängige Systeme, Verfügbarkeitsziele und Objekte für die Notfallwiederherstellung. Lassen Sie sich von Ihren geschäftlichen und technologischen Faktoren leiten, um das richtige verteilte System für Ihren Workload zu finden.
-
Analysieren Sie die Last des Services über Regionen und Konten hinweg. Viele feste Beschränkungen für Services basieren auf Regionen. Einige Beschränkungen sind jedoch kontobasiert.
-
Analysieren Sie die Architekturen zur Ausfallsicherheit der Ressourcen bei einem zonenbezogenen Fehler und einem Fehler in einer Region. Bei der Entwicklung von Multi-Regionen-Designs mit Aktiv/Aktiv-, Aktiv/Passiv-Hot-, Aktiv/Passiv-Cold- und Aktiv/Passiv-Pilot-Light-Ansätzen werden diese Fehlerfälle eine höhere Auslastung verursachen. Dies schafft einen potenziellen Anwendungsfall für feste Beschränkungen.
Ressourcen
Zugehörige bewährte Methoden:
-
REL01-BP02 Servicekontingente über Konten und Regionen hinweg verwalten
-
REL03-BP01 Wählen Sie, wie Sie Ihre Arbeitslast segmentieren möchten
-
REL10-BP01 Bereitstellen des Workloads an mehreren Standorten
-
REL11-BP01 Überwachen Sie alle Komponenten des Workloads, um Fehler zu erkennen
-
REL12-BP04 Testen der Ausfallsicherheit mit Chaos-Engineering
Zugehörige Dokumente:
-
AWS Die Zuverlässigkeitssäule von Well-Architected Framework: Verfügbarkeit
-
AWS Trusted Advisor Prüfungen bewährter Verfahren (siehe Abschnitt Service Limits)
-
APNPartner: Partner, die beim Konfigurationsmanagement helfen können
-
Verwaltung des Kontolebenszyklus in account-per-tenant SaaS-Umgebungen auf AWS
-
Verwaltung und Überwachung der API Drosselung Ihrer Workloads
-
Sehen Sie sich AWS Trusted Advisor Empfehlungen in großem Umfang an mit AWS Organizations
-
Automatisierung von Service-Limit-Erhöhungen und Unternehmenssupport mit AWS Control Tower
-
Aktionen, Ressourcen und Bedingungsschlüssel für Service Quotas
Zugehörige Videos:
Zugehörige Tools: