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: