Cloudentwurfsmuster, die erstklassige Betriebsabläufe unterstützen

Wenn Sie Workloadarchitekturen entwerfen, sollten Sie Branchenmuster verwenden, die häufig auftretende Herausforderungen bewältigen. Muster können Ihnen dabei helfen, absichtliche Kompromisse innerhalb von Workloads zu treffen und für Ihr gewünschtes Ergebnis zu optimieren. Sie können auch dazu beitragen, Risiken zu minimieren, die sich aus bestimmten Problemen ergeben, die sich auf Zuverlässigkeit, Sicherheit, Leistung und Kosten auswirken können. Da sich die Vorgänge in allen diesen Bereichen reduzieren, wirken sich Risiken letztendlich auf Workloadvorgänge aus. Diese Muster basieren auf realen Erfahrungen, sind für Cloud-Skalierungs- und Betriebsmodelle konzipiert und sind von Natur aus anbieterunabhängig. Die Verwendung bekannter Muster als Möglichkeit zur Standardisierung Ihres Workloadentwurfs ist selbst eine Komponente der operativen Exzellenz.

Viele Entwurfsmuster unterstützen direkt eine oder mehrere Architekturpfeiler. Entwurfsmuster, die die Säule Operational Excellence unterstützen, verwenden Topologien, die eine solide Grundlage für sichere Bereitstellungsmethoden bieten und die Architekturentwicklung im Laufe der Zeit, Migrationsszenarien und Beobachtbarkeit erleichtern.

Entwurfsmuster für optimalen Betrieb

In der folgenden Tabelle sind Cloudentwurfsmuster zusammengefasst, die die Ziele der operationalen Exzellenz unterstützen.

Muster Zusammenfassung
Antikorruptionsschicht Schützt neue Systemkomponenten vor der Verhaltens- oder Implementierungsauswahl von Legacysystemen, indem eine Vermittlerebene zu Proxyinteraktionen zwischen legacy und neuen Komponenten hinzugefügt wird. Dieses Muster trägt dazu bei, dass der Entwurf neuer Komponenten nicht von Legacyimplementierungen beeinflusst wird, die bei der Integration in diese Legacysysteme unterschiedliche Datenmodelle oder Geschäftsregeln aufweisen können. Das Muster ist besonders nützlich bei schrittweisen Systemmigrationen. Dadurch werden die technischen Schulden in neuen Komponenten reduziert und gleichzeitig bestehende Komponenten unterstützt.
Choreographie Koordiniert das Verhalten autonomer verteilter Komponenten in einer Workload mithilfe einer dezentralen, ereignisgesteuerten Kommunikation. Dieses Muster kann nützlich sein, wenn Sie erwarten, dass Dienste während des Lebenszyklus einer Workload häufig aktualisiert oder ersetzt werden. Da die verteilten Komponenten autonom sind, können Sie die Workload mit weniger Gesamtänderungen am System ändern.
Computeressourcenkonsolidierung Optimiert und konsolidiert Computeressourcen, indem die Dichte erhöht wird. Dieses Muster kombiniert mehrere Anwendungen oder Komponenten einer Workload in einer freigegebenen Infrastruktur. Die Konsolidierung führt zu einer homogeneren Computeplattform, die die Verwaltung und Beobachtbarkeit vereinfachen, unterschiedliche Ansätze für operative Aufgaben reduzieren und die menge der erforderlichen Tools reduzieren kann.
Bereitstellungsstempel Bietet einen Ansatz zum Veröffentlichen einer bestimmten Version einer Anwendung und ihrer Infrastruktur als kontrollierte Bereitstellungseinheit, basierend auf der Annahme, dass die gleichen oder verschiedene Versionen gleichzeitig bereitgestellt werden. Dieses Muster entspricht unveränderlichen Infrastrukturzielen, unterstützt erweiterte Bereitstellungsmodelle und kann sichere Bereitstellungsmethoden ermöglichen.
Externer Konfigurationsspeicher Extrahiert die Konfiguration in einen Dienst, der für die Anwendung externalisiert ist, um dynamische Updates von Konfigurationswerten zu unterstützen, ohne dass Codeänderungen oder eine erneute Bereitstellung der Anwendung erforderlich sind. Diese Trennung von Anwendungskonfiguration und Anwendungscode unterstützt die umgebungsspezifische Konfiguration und wendet die Versionsverwaltung auf Konfigurationswerte an. Externe Konfigurationsspeicher sind auch ein gängiger Ort zum Verwalten von Featureflags, um sichere Bereitstellungsmethoden zu ermöglichen.
Gatewayaggregation Vereinfacht Clientinteraktionen mit Ihrer Workload, indem Aufrufe mehrerer Back-End-Dienste in einer einzelnen Anforderung aggregiert werden. Diese Topologie ermöglicht die Entwicklung der Back-End-Logik unabhängig von Clients, sodass Sie die verketteten Dienstimplementierungen oder sogar Datenquellen ändern können, ohne clientseitige Touchpoints ändern zu müssen.
Gatewayabladung Die Anforderungsverarbeitung wird vor und nach der Weiterleitung der Anforderung an einen Back-End-Knoten auf ein Gatewaygerät ausgelagert. Wenn Sie dem Anforderungsprozess ein Auslagerungsgateway hinzufügen, können Sie die Konfiguration und Wartung der ausgeladenen Funktionalität von einem einzelnen Punkt aus verwalten, anstatt sie von mehreren Knoten aus zu verwalten.
Gatewayrouting Leitet eingehende Netzwerkanforderungen basierend auf Anforderungsabsichten, Geschäftslogik und Back-End-Verfügbarkeit an verschiedene Back-End-Systeme weiter. Mit Gatewayrouting können Sie Anforderungen von Back-Ends entkoppeln, sodass Ihre Back-Ends erweiterte Bereitstellungsmodelle, Plattformübergänge und einen zentralen Verwaltungspunkt für die Auflösung und Verschlüsselung von Domänennamen während der Übertragung unterstützen können.
Überwachung des Integritätsendpunkts Bietet eine Möglichkeit, die Integrität oder status eines Systems zu überwachen, indem ein Endpunkt verfügbar gemacht wird, der speziell für diesen Zweck entwickelt wurde. Die Standardisierung, welche Integritätsendpunkte verfügbar gemacht werden sollen, und die Ebene der Analyse in den Ergebnissen in Ihrer Workload kann Ihnen helfen, Probleme zu selektieren.
Messaging-Brücke Stellt einen Vermittler bereit, um die Kommunikation zwischen Messagingsystemen zu ermöglichen, die aufgrund von Protokoll oder Format anderweitig inkompatibel sind. Diese Entkopplung bietet Flexibilität beim Übergang von Messaging- und Ereignistechnologie innerhalb Ihrer Workload oder bei heterogenen Anforderungen von externen Abhängigkeiten.
Herausgeber/Abonnent Entkoppelt Komponenten einer Architektur, indem die direkte Client-zu-Dienst- oder Client-zu-Dienst-Kommunikation durch die Kommunikation über einen zwischengeschalteten Nachrichtenbroker oder Ereignisbus ersetzt wird. Diese Dereferenzierungsebene ermöglicht es Ihnen, die Implementierung entweder auf Herausgeber- oder Abonnentenseite sicher zu ändern, ohne Änderungen an beiden Komponenten koordinieren zu müssen.
Quarantäne Stellt sicher, dass externe Ressourcen eine vom Team vereinbarte Qualitätsstufe erfüllen, bevor sie für die Nutzung in der Workload autorisiert werden. Automatisierung und Konsistenz bei diesen Überprüfungen sind Teil des Softwareentwicklungslebenszyklus und der Sicheren Bereitstellungspraktiken (SDP) der Workload.
Sidecar Erweitert die Funktionalität einer Anwendung, indem nichtprimäre oder querschnittsübergreifende Aufgaben in einem begleitenden Prozess gekapselt werden, der neben der Standard Anwendung vorhanden ist. Dieses Muster bietet einen Ansatz für die Implementierung von Flexibilität bei der Toolintegration, die die Sichtbarkeit der Anwendung verbessern kann, ohne dass die Anwendung direkte Implementierungsabhängigkeiten übernehmen muss. Dadurch kann sich die Sidecar-Funktionalität unabhängig weiterentwickeln und unabhängig vom Lebenszyklus der Anwendung verwaltet werden.
Strangler-Muster Bietet einen Ansatz zum systematischen Ersetzen der Komponenten eines ausgeführten Systems durch neue Komponenten, häufig während einer Migration oder Modernisierung des Systems. Dieses Muster bietet einen Ansatz zur kontinuierlichen Verbesserung, bei dem inkrementelle Ersetzung durch kleine Änderungen im Laufe der Zeit anstelle großer systemischer Änderungen bevorzugt wird, die riskanter zu implementieren sind.

Nächste Schritte

Sehen Sie sich die Cloudentwurfsmuster an, die die anderen Azure Well-Architected Framework-Säulen unterstützen: