Entwurf mit Blick auf den Betrieb

Abgeschlossen
Führen Sie in Vorgängen einen Shift-Left-Ansatz aus, um Fehlerbedingungen zu antizipieren.

Testen Sie Fehler frühzeitig und häufig im Entwicklungslebenszyklus, und bestimmen Sie die Auswirkungen der Leistung auf die Zuverlässigkeit. Für die Grundursachenanalyse und die Postmortems ist teamübergreifend ein gemeinsamer Einblick in den Abhängigkeitsstatus und in laufende Fehler erforderlich. Erkenntnisse, Diagnosen und Warnungen von zu überwachenden Systemen sind für das effektive Incidentmanagement und fortlaufende Verbesserung grundlegend.

Contoso University führt eine Web-App aus, die auf Microservices basiert, und Bildungsdienste wie Onlineklassen für Lehrkräfte und Studierende von Contoso bereitstellt. Die Workload basiert auf Azure-App Service, Azure SQL-Datenbank, Microsoft Entra ID, Azure Key Vault, Azure Service Bus, Azure Monitor und Azure DevOps.

Implementieren einer robusten Überwachung

Entwickeln von überwachbaren Systemen, die Telemetrie korrelieren können

Die Überwachung und die Diagnose sind entscheidende Vorgänge. Wenn ein Fehler auftritt, müssen Sie wissen, dass, wann und warum ein Vorgang fehlgeschlagen ist. Der Einblick auf Komponentenebene ist ein elementarer Bestandteil, aber der aggregierte Einblick in Komponenten und korrelierte Flows bietet eine ganzheitliche Sicht auf den Integritätsstatus. Diese Daten sind erforderlich, um Techniker*innen, die für die Websitezuverlässigkeit zuständig sind, die Priorisierung ihres Aufwands zur Behebung zu ermöglichen.

Herausforderung von Contoso

  • Die Workloadanwendung wird als Teil einer Suite von fünf entkoppelten Diensten auf mehreren Funktionsebenen bereitgestellt.
  • Das Team möchte Transaktionen und Benutzeranforderungen analysieren können, während sie die verschiedenen Ebenen der Lösung durchlaufen, um Engpässe zu identifizieren, die zu Instabilität führen können, und eine effizientere Problembehandlung durchführen, wenn Probleme auftreten.

Anwendung des Ansatzes und Ergebnisse

  • Das Workloadteam instrumentiert die Komponenten, um Protokolle und Metriken mit Application Insights zu erfassen, und konfiguriert die Protokollierung für alle Plattformdienste. Alle Protokolle werden an den Azure Monitor-Arbeitsbereich der Workload weitergeleitet.
  • Daten im AzM-Arbeitsbereich können verwendet werden, um die Integrität einzelner Komponenten der Lösung und aggregierte Flows sowie die Lösungsintegrität zu analysieren.
  • Das komponenten- und ebenenübergreifende Korrelieren von Einträgen, die zu derselben Anforderung gehören, hilft dem Team, die Integrität der Workload zu ermitteln, zudem werden die Problembehandlungsprozesse vereinfacht.

Vorhersagen potenzieller Fehlfunktionen und von anomalem Verhalten

Machen Sie mithilfe von priorisierter und umsetzbarer Warnungen aktive Zuverlässigkeitsfehler sichtbar. Investieren Sie in zuverlässige Prozesse und Infrastruktur, die zu einer schnelleren Selektierung führen.

Techniker*innen für die Websitesicherheit können sofort benachrichtigt werden, damit sie laufende Livevorfälle auf Websites mindern und potenzielle Fehler proaktiv beheben können, die durch Vorhersagebenachrichtigungen identifiziert werden, bevor sie zu Livevorfällen werden.

Herausforderung von Contoso

  • Das Team erwartet zu Beginn jedes Semesters eine erhebliche Zunahme des Datenverkehrs, da sich die Studierenden für Kurse einschreiben, auf Lehrpläne zugreifen und Lehrbücher kaufen.
  • Während dieses kritischen Zeitraums des akademischen Jahres muss das Team sicherstellen, dass genügend Kapazität für die Zunahme der erwarteten Last verfügbar ist. Das Team muss auch schnell auf andere potenzielle Verfügbarkeitsprobleme reagieren können, die auftreten können.

Umsetzung und Ergebnisse

  • Das Team konfiguriert die Web- und Datenbankebenen so, dass sie automatisch skaliert werden, damit vor der erwarteten Anforderungszunahme zusätzliche Kapazität vorhanden ist und auch bei weiterer Zunahme der Auslastung weiterhin Kapazität zugewiesen wird.
  • Der Notfallreaktionsplan wird angepasst, sodass Warnungen in Zusammenhang mit den während dieses Zeitraums ausgelasteten Flows vom Incidentreaktionsteam priorisiert werden.

Testen auf Zuverlässigkeitsrisiken

Simulieren von Fehlern und Ausführen von Tests in Produktions- und Vorproduktionsumgebungen

Es ist von Vorteil, Erfahrungen mit Fehlern in der Produktion zu machen, damit Sie realistische Erwartungen an die Wiederherstellung stellen können. So können Sie Entwurfsentscheidungen treffen, die ordnungsgemäß auf Fehler reagieren. Außerdem können Sie die Schwellenwerte testen, die Sie für Geschäftsmetriken festlegen.

Herausforderung von Contoso

  • Die Kommunikation zwischen der Webebene und dem REST-Dienst für die Immatrikulierung der Studierenden in dieser Workload basiert auf Clientzertifikaten.
  • Da die Funktionalität zur Immatrikulierung der Studierenden nach Beginn des Semesters nicht viel verwendet wird, bleibt das Problem möglicherweise für einige Zeit unentdeckt, wenn das Zertifikat abläuft, das für den Dienst zur Immatrikulierung verwendet wird.
  • Während des letzten Immatrikulationszeitraums traten zusätzlich einige Dienstunterbrechungen auf, da das System vorübergehende Verbindungsausfälle falsch verarbeitet hat. Das Team hat einige Codeverbesserungen zur Behandlung vorübergehender Fehler vorgenommen, ist jedoch nicht sicher, wie sich die Funktionalität in realen Produktionsszenarios verhält.

Umsetzung und Ergebnisse

  • Das Team entwickelt Tests für die synthetische Transaktion, die monatlich in der Produktion ausgeführt werden, um mehrere Abläufe zu simulieren, einschließlich des Immatrikulationsablaufs.
  • Die Warnung ist für Tests für die synthetische Transaktion konfiguriert, sodass das Team benachrichtigt wird, wenn Fehler auftreten, was das Risiko des Ablaufs von Zertifikaten abdeckt.
  • Darüber hinaus hat das Team in die Erstellung von Chaostests in ihren SDLC investiert und führt routinemäßige Chaostests aus. Die Ergebnisse werden dann erfasst, um sowohl Selbsterhaltungstechniken zu überprüfen als auch zuvor unbekannte Zuverlässigkeitsprobleme aufzudecken.

Überprüfen Sie Ihr Wissen

1.

Richtig oder falsch: Ein Beispiel, um einen Einblick in die Workload zu erhalten, ist die Instrumentierung der Anwendung, um Telemetriedaten auszugeben.

2.

Was ist ein Attribut einer sorgfältig konzipierten Warnungsstrategie?

3.

Was ist eine Möglichkeit, wie Contoso nachweisen kann, dass die eigene Workload in einem beeinträchtigten Zustand ausgeführt werden kann?