Muster für Zuverlässigkeit

Verfügbarkeit

Die Verfügbarkeit wird als Prozentsatz der Betriebszeit gemessen und ist als der Zeitraum definiert, in dem ein System betriebsbereit ist und ausgeführt wird. Die Verfügbarkeit wird durch Systemfehler, Infrastrukturprobleme, böswillige Angriffe und die Systemauslastung beeinflusst. Bei Cloudanwendungen verfügen Benutzer normalerweise über eine Vereinbarung zum Servicelevel (SLA). Dies bedeutet, dass Anwendungen so entworfen und implementiert werden müssen, dass die Verfügbarkeit maximiert wird.

Muster Zusammenfassung
Bereitstellungsstempel Bereitstellen mehrerer unabhängiger Kopien von Anwendungskomponenten, einschließlich Datenspeicher
Geografische Knoten Es wird beschrieben, wie Sie Back-End-Dienste für eine Gruppe von geografischen Knoten bereitstellen, von denen jeweils die Clientanforderungen einer beliebigen Region verarbeitet werden können.
Überwachung des Integritätsendpunkts Implementieren Sie Funktionsprüfungen in einer Anwendung, auf die externe Tools in regelmäßigen Abständen über verfügbar gemachte Endpunkte zugreifen können.
Warteschlangenbasierter Lastenausgleich Verwenden Sie eine Warteschlange, die als Puffer zwischen einem Task und einem davon aufgerufenen Dienst fungiert, um unregelmäßig auftretende hohe Lasten aufzufangen.
Drosselung Steuern Sie den Ressourcenverbrauch einer Anwendungsinstanz, eines einzelnen Mandanten oder eines gesamten Diensts.

Implementieren Sie den nativen Azure DDoS Protection-Standarddienst oder eine Drittanbieterfunktion, um das Risiko in Bezug auf die Verfügbarkeit zu verringern, das aufgrund von schädlichen DDoS-Angriffen (Distributed Denial of Service) besteht.

Hochverfügbarkeit

Die Azure-Infrastruktur setzt sich aus geografischen Bereichen, Regionen und Verfügbarkeitszonen zusammen, mit denen sichergestellt wird, dass die Auswirkungen eines Fehlers begrenzt bleiben und die Anwendungen und Daten der Kunden nicht stärker beeinträchtigt werden. Das Konstrukt mit Azure-Verfügbarkeitszonen wurde entwickelt, um eine Software- und Netzwerklösung als Schutz vor Rechenzentrumsfehlern bereitzustellen und für unsere Kunden eine bessere Hochverfügbarkeit (HA) sicherzustellen. Bei einer Hochverfügbarkeitsarchitektur besteht ein ausgewogenes Verhältnis zwischen hoher Resilienz, geringer Latenz und Kosten.

Muster Zusammenfassung
Bereitstellungsstempel Bereitstellen mehrerer unabhängiger Kopien von Anwendungskomponenten, einschließlich Datenspeicher
Geografische Knoten Es wird beschrieben, wie Sie Back-End-Dienste für eine Gruppe von geografischen Knoten bereitstellen, von denen jeweils die Clientanforderungen einer beliebigen Region verarbeitet werden können.
Überwachung des Integritätsendpunkts Implementieren Sie Funktionsprüfungen in einer Anwendung, auf die externe Tools in regelmäßigen Abständen über verfügbar gemachte Endpunkte zugreifen können.
Bulkhead Isolieren Sie Elemente einer Anwendung in Pools, sodass bei Ausfall eines Elements die anderen Elemente weiterhin ausgeführt werden.
Sicherung Behandeln Sie Fehler, deren Behebung beim Herstellen einer Verbindung mit einem Remotedienst oder einer Remoteressource unterschiedlich lange dauern kann.

Resilienz

Die Resilienz ist die Fähigkeit eines Systems, Fehler (sowohl versehentlicher als auch schädlicher Art) richtig zu behandeln und anschließend die Wiederherstellung durchzuführen.

Aufgrund des Funktionsprinzips von Cloudhosting, bei dem Anwendungen oft mehrinstanzenfähig sind, gemeinsame Plattformdienste nutzen, um Ressourcen und Bandbreite konkurrieren, über das Internet kommunizieren und auf Standardhardware ausgeführt werden, ist die Wahrscheinlichkeit höher, dass sowohl vorübergehende als auch mehr permanente Fehler auftreten. Der hohe Vernetzungsgrad im Internet und die immer anspruchsvolleren und häufigeren Angriffe erhöhen die Wahrscheinlichkeit einer Beeinträchtigung der Sicherheit.

Um die Resilienz sicherzustellen, ist die Fehlererkennung und eine schnelle und effiziente Wiederherstellung erforderlich.

Muster Zusammenfassung
Bulkhead Isolieren Sie Elemente einer Anwendung in Pools, sodass bei Ausfall eines Elements die anderen Elemente weiterhin ausgeführt werden.
Sicherung Behandeln Sie Fehler, deren Behebung beim Herstellen einer Verbindung mit einem Remotedienst oder einer Remoteressource unterschiedlich lange dauern kann.
Ausgleichende Transaktion Machen Sie durch eine Reihe von Schritten ausgeführte Arbeit rückgängig, die zusammen einen letztlich konsistenten Vorgang definieren.
Überwachung des Integritätsendpunkts Implementieren Sie Funktionsprüfungen in einer Anwendung, auf die externe Tools in regelmäßigen Abständen über verfügbar gemachte Endpunkte zugreifen können.
Auswahl einer übergeordneten Instanz Koordinieren Sie die Aktionen, die von einer Sammlung zusammenarbeitender Taskinstanzen ausgeführt werden, in einer verteilten Anwendung, indem eine Instanz als übergeordnete Instanz ausgewählt wird, die die Verantwortung für die Verwaltung der anderen Instanzen übernimmt.
Warteschlangenbasierter Lastenausgleich Verwenden Sie eine Warteschlange, die als Puffer zwischen einem Task und einem von diesem aufgerufenen Dienst fungiert, um unregelmäßig auftretende hohe Lasten aufzufangen.
Wiederholung Ermöglichen Sie einer Anwendung beim Herstellen einer Verbindung mit einem Dienst oder einer Netzwerkressource die Behandlung antizipierter, temporärer Fehler, indem ein zuvor nicht erfolgreich durchgeführter Vorgang transparent wiederholt wird.
Scheduler-Agent-Supervisor Koordinieren Sie eine Reihe von Aktionen in einer verteilten Gruppe von Diensten und anderen Remoteressourcen.