Freigeben über


Empfehlungen für die Optimierung operativer Vorgänge

Gilt für die Empfehlung zur Leistungseffizienz der Azure Well-Architected Framework-Checkliste:

PE:10 Optimieren Sie operative Vorgänge. Überwachen und minimieren Sie die Auswirkungen des Softwareentwicklungslebenszyklus und anderer Routinevorgänge auf die Workloadleistung. Zu diesen Vorgängen gehören Virenscans, die Rotation geheimer Schlüssel, Sicherungen, die Neuindizierung von Datenbanken und die Bereitstellung.

In diesem Leitfaden werden die Empfehlungen für die Optimierung operativer Aufgaben beschrieben. Die Optimierung operativer Aufgaben ist der Prozess der Minimierung der Auswirkungen von Aufgaben, die Sie als Teil von Abläufen der Arbeitslastlenkung ausführen. Operationsaktivitäten verwenden dieselben Computeressourcen wie die Workload selbst. Wenn Sie die Auswirkungen von Vorgängen nicht berücksichtigen, kann dies dazu führen, dass die Arbeitsauslastung ihre Leistungsziele verpasst. Dies kann sich auch negativ auf die Performance der Workload Ihrer Kundschaft auswirken.

Definitionen

Begriff Definition
Blau-Grün-Bereitstellung Eine Bereitstellungsstrategie, die zwei identische Umgebungen verwendet und die Richtung des Datenverkehrs zu neuen Bereitstellungen (grüne Bereitstellungen) steuert.
Neuerstellung des Datenbankindexes Eine Wartungsaktivität, die einen Index löscht und neu erstellt.
Reorganisation des Datenbankindexes Eine Wartungsaktivität, die den aktuellen Datenbankindex optimiert.
Datenbankschema Die allgemeine Struktur einer Datenbank und deren Beziehungen zu anderen Daten.
Bereitstellungsslot Ein Feature von Azure App Service, mit dem Sie Live-Apps mit eigenen Hostnamen bereitstellen können.
Direkte Upgrades Der Prozess des Upgrades einer Komponente oder einer Anwendung, ohne sie zu ersetzen oder zu einer neuen Umgebung zu migrieren.
Infrastruktur als Code (IaC) Ein beschreibendes Modell zum Definieren und Bereitstellen von Infrastruktur, einschließlich Netzwerken, virtuellen Computern, Lastenausgleichsmodulen und Verbindungstopologien.

Wichtige Designstrategien

Sie müssen Maßnahmen ergreifen, um die Auswirkungen des Softwareentwicklungslebenszyklus und anderer Routinevorgänge auf die Arbeitsauslastungsleistung zu reduzieren. Das Ziel besteht darin, sicherzustellen, dass Routinevorgänge wie Virenscans, Rotationen geheimer Schlüssel, Sicherungen, Indizierungsoptimierungen (Reorganisation oder Neuerstellung) und Bereitstellungen die Leistung der Workload nicht wesentlich beeinträchtigen.

Konto für operative Aufgaben

Es ist wichtig, operative Aufgaben zu berücksichtigen, wenn Sie Leistungsziele festlegen. Indem Sie Routine-, reguläre und Ad-hoc-Aufgaben in Leistungsziele integrieren, können Sie sicherstellen, dass die Workload effizient funktioniert. Um operative Aufgaben in Leistungszielen zu berücksichtigen, sind hier einige wichtige Punkte zu berücksichtigen:

  • Identifizieren sie operative Aufgaben. Identifizieren und einbeziehen Sie relevante operative Aufgaben in Leistungsziele. Beispiele für Routineaufgaben sind Virenscans, Datenbankindexreorganisation, Datenbankindexneuerstellung, Datenträger- oder Datenbanksicherungen, Zertifikatrotationen, Patching eines Betriebssystems, Drehen von Kennwörtern, Drehen von API-Schlüsseln, Penetrationstests und Überwachungsüberprüfungen in der Produktion.

  • Leistungsziele bewerten. Bewerten Sie die aktuellen Leistungsziele, und passen Sie sie an, um operative Aufgaben zu berücksichtigen, die für die Workload spezifisch sind. Dadurch wird sichergestellt, dass Leistungsziele den betrieblichen Anforderungen der Workload entsprechen.

Optimieren von Bereitstellungen

Die Optimierung von Bereitstellungen bezieht sich auf das Verfeinern des Prozesses der Veröffentlichung von Ressourcen und Code, um eine nahtlose Leistung und minimale Unterbrechungen zu gewährleisten. Es umfasst planung, effektive Ressourcenverteilung und gründliche Tests sowohl des Infrastruktur-as-Code (IaC) als auch des Anwendungscodes, bevor sie in eine Liveumgebung eingeführt werden. Unzulänglichkeiten der Bereitstellung können zu einer reduzierten Geschwindigkeit und Effizienz einer Arbeitsauslastung, potenziellen Ressourceneinschränkungen und einer kompromittierten Benutzererfahrung in der Betriebsumgebung führen. Berücksichtigen Sie die folgenden Strategien, um Bereitstellungen zu optimieren:

Bewerten sie akzeptable Ausfallzeiten. Wenn Ausfallzeiten akzeptabel sind, können Sie Bereitstellungsstrategien implementieren, die Geschwindigkeit und Effizienz priorisieren. Es ist jedoch wichtig, die Auswirkungen von Ausfallzeiten auf geschäftliche Anforderungen sorgfältig zu bewerten, bevor Sie diese Entscheidung treffen. Wenn ausfallzeiten jedoch nicht akzeptabel sind, müssen Sie Bereitstellungsstrategien implementieren, die eine kontinuierliche Verfügbarkeit der Workload gewährleisten. Erwägen Sie den Einsatz von Techniken wie Blue-Green-Bereitstellungen oder Canary-Bereitstellungen, bei denen Sie neue Versionen der Workload schrittweise einführen und gleichzeitig auf Probleme überwachen. Diese Strategien tragen dazu bei, die Auswirkungen von Ausfallzeiten zu minimieren und eine nahtlose Benutzererfahrung sicherzustellen.

Bereitstellung mit der aktuellen Instanzanzahl Außerdem sollten Sie Bereitstellungen vermeiden, die sofortige Skalierungsvorgänge verursachen. Sie sollten keine Ressourcen in einem Livesystem mit einer so niedrigen Instanzanzahl bereitstellen, dass es das System dazu zwingt, sofort einen Skalierungsvorgang durchzuführen. Ihre Infrastruktur-as-Code-Vorlage (IaC) stimmt beispielsweise möglicherweise nicht mit der Anzahl der Instanzen überein, die Sie zum Zeitpunkt der Bereitstellung benötigen. Möglicherweise hat es eine Instanzanzahl von zwei, obwohl die aktuell bereitgestellte Umgebung acht Instanzen ausführt. Die Bereitstellung würde sechs Instanzen entfernen und die Leistung beeinträchtigen.

Verwenden Sie eine blaugrüne Bereitstellungsstrategie. Bereitstellungen können Dienstunterbrechungen und Ausfallzeiten verursachen. Um diese Probleme zu beheben, wählen Sie eine Bereitstellungsstrategie aus, die die Auswirkungen auf die Leistung minimiert, z. B. eine blaugrüne Bereitstellung. Diese Ansätze ermöglichen nahtlose Übergänge zwischen Umgebungen und verringern das Risiko von Dienstunterbrechungen. Wenn Sie den blaugrünen Bereitstellungsansatz verwenden, verfügen Sie über zwei separate Umgebungen: die blauen und grünen Umgebungen. Wenn Probleme oder Leistungsbeeinträchtigungen in der grünen Umgebung erkannt werden, können Sie problemlos ein Rollback auf die stabile blaue Umgebung ausführen. Mit dieser Strategie können Sie minimale Ausfallzeiten sicherstellen und ein hohes Leistungsniveau für Ihre Arbeitsauslastung gewährleisten. Führen Sie die folgenden allgemeinen Schritte aus, um die Bereitstellung mithilfe des blaugrünen Ansatzes auszuführen:

  • Stellen Sie die neue Umgebung bereit. Richten Sie die neue Umgebung (grün) neben der vorhandenen Umgebung (blau) mit der aktualisierten Version Ihrer Anwendung ein.

  • Überprüfen Sie die neue Umgebung. Bereitstellungen können Latenzen einführen und die Reaktionszeiten erhöhen. Erwägen Sie, Instanzen vor der Umstellung vorzubereiten. Die Vorwarmung umfasst die Vorbereitung der neuen Umgebung, indem produktionsähnlicher Datenverkehr und Arbeitsauslastung simuliert werden, um sicherzustellen, dass die Umgebung für die Verarbeitung der erwarteten Last bereit ist. Sie trägt dazu bei, die Auswirkungen auf Wartezeiten und Reaktionszeiten zu minimieren. Testen und überprüfen Sie die neue Umgebung sorgfältig, um sicherzustellen, dass sie ordnungsgemäß funktioniert und die Leistungserwartungen erfüllt. Tests helfen beim Aufwärmen von Caches, einrichten von Datenbankverbindungen und stellen sicher, dass die Umgebung für die Verarbeitung der erwarteten Auslastung bereit ist.

  • Lenken Sie den Verkehr schrittweise um. Nachdem die neue Umgebung vorgewarmt und validiert wurde, verlagern Sie den Produktionsverkehr schrittweise von der alten Umgebung (Blau) in die neue Umgebung (grün). Leiten Sie zunächst einen kleinen Prozentsatz des Datenverkehrs in die grüne Umgebung und erhöhen Sie diesen schrittweise, nachdem Sie die Stabilität und den erwarteten Zustand der Anwendung überprüft haben. Sie können einen globalen Lastenausgleichs- oder Traffic-Management-Mechanismus verwenden. Die kontrollierte Verkehrsumleitung ermöglicht es Ihnen, Leistungsprobleme frühzeitig zu identifizieren und Korrekturmaßnahmen zu ergreifen, bevor Sie Workloads vollständig in die neue Umgebung verlagern.

  • Überwachen und Optimieren. Bereitstellungen verwenden möglicherweise gemeinsam genutzte Computerressourcen. Überwachen Sie kontinuierlich die Leistung und den Zustand der neuen Umgebung, nachdem Sie den Verkehr verschoben haben. Nehmen Sie alle erforderlichen Optimierungen oder Anpassungen vor, um die gewünschte Leistung und Benutzererfahrung sicherzustellen.

  • Entfernen Sie die alte Umgebung. Nachdem Sie den gesamten Datenverkehr erfolgreich in die grüne Umgebung umgestellt haben, entfernen Sie die blaue Umgebung aus vorhandenen Verbindungen. Mit diesem Schritt können Sie die Kosten für die Wartung der alten Umgebung optimieren und sicherstellen, dass neue Umgebungen frei von Konfigurationsabweichungen sind.

  • Wiederholen Sie den Vorgang. Für zukünftige Bereitstellungen tauschen Sie die Rollen der blauen und grünen Umgebung. Stellen Sie Änderungen an der neuen blauen Umgebung bereit, validieren Sie sie, orchestrieren Sie die Traffic-Übergänge und setzen Sie die alte grüne Umgebung außer Betrieb.

Verwenden Sie mehrere Builds. Verschiedene Typen von Builds können Ihnen dabei helfen, Die Erstellungszeiten zu optimieren und die Qualität der Bereitstellungen sicherzustellen. Sie können z. B. über CI-Builds (Continuous Integration) verfügen, die mit jedem Code-Commit ausgelöst werden. Sie könnten nächtliche Builds durchführen, die regelmäßig automatisierte Tests ausführen, und Releases erstellen, die für die Bereitstellung in der Produktion verwendet werden. Jeder Buildtyp sollte einen bestimmten Zweck haben, z. B. kontinuierliche Integration, automatisierte Tests oder Produktionsbereitstellung. Tests und Validierung der Workload vor der Bereitstellung helfen beim Erkennen und Beheben von Problemen oder Fehlern frühzeitig im Entwicklungsprozess.

Berücksichtigen Sie Featurekennzeichnungen. Featurekennzeichnungen werden in der Softwareentwicklung verwendet, um die Sichtbarkeit und das Verhalten bestimmter Features in einer Anwendung zu steuern. Mithilfe von Featurekennzeichnungen können Entwickler bestimmte Features aktivieren oder deaktivieren, ohne die Anwendung erneut bereitstellen zu müssen. Featurekennzeichnungen funktionieren, indem bedingte Logik im Code eingeführt wird, die bestimmt, ob ein Feature aktiviert oder deaktiviert werden soll. Diese Logik kann auf verschiedenen Faktoren basieren, z. B. Benutzerrollen, Benutzereinstellungen oder bestimmte Bedingungen, die vom Entwicklungsteam definiert werden. Mithilfe von Featurekennzeichnungen können Entwickler nach und nach neue Features für eine Teilmenge von Benutzern bereitstellen oder Features für bestimmte Gruppen zum Testen (Canarytests) aktivieren.

Upgrades optimieren

Ein Vor-Ort-Upgrade ist ein Upgrade einer vorhandenen Ressource oder Anwendung. Direkte Upgrades können eine Workload vorübergehend verlangsamen oder unterbrechen. Es ist wichtig, sicherzustellen, dass Upgrades mit der Workload kompatibel sind. Bevor Sie ein Upgrade anwenden, empfehlen wir, es in einer separaten Umgebung zu testen, um potenzielle Probleme zu identifizieren. Stellen Sie einen Rollbackplan bereit, falls während des Upgradevorgangs Probleme auftreten. Es ist wichtig, eine vollständige Sicherung kritischer Daten und Konfigurationen zu übernehmen, bevor Sie das Upgrade anwenden. Überwachen Sie das aktualisierte System genau nach dem Upgrade, um sicherzustellen, dass alles wie erwartet funktioniert. Mit der Sicherung können Sie bei Bedarf den Computer in einen guten Zustand wiederherstellen. Sie sollten die Planung des Upgrades während der Nebenzeiten priorisieren, um die Auswirkungen auf Benutzer und die Arbeitsauslastungsleistung zu minimieren. Benachrichtigen Sie Benutzer im Voraus über das geplante Upgrade, einschließlich der erwarteten Ausfallzeiten und aller erforderlichen Maßnahmen, die sie ausführen müssen.

Kompromiss: Das Warten auf die Durchführung von Betriebsaktivitäten außerhalb der Spitzenzeiten kann sich auf die betriebliche Effizienz auswirken. Es kann weniger praktisch sein, das Personal mit den richtigen Fähigkeiten außerhalb der Stoßzeiten arbeiten zu lassen.

Tool-Optimierung

Wesentliche Tools für die Überwachung der Dateiintegrität, Virenüberprüfung, Angriffserkennung und andere operative Aufgaben können sich auf die Arbeitsauslastungsleistung auswirken. Sie verbrauchen Computeressourcen und können Latenz und Leistungsaufwand hinzufügen. Sie müssen die Auswirkungen testen und verstehen, die Ihre Tools auf die Arbeitsauslastungsleistung haben. Basierend auf den Testergebnissen sollten Sie Die Toolkonfigurationen optimieren, die Scanhäufigkeit anpassen und Computeressourcen neu zuordnen. Für die Virenüberprüfung könnten Sie eine relevante Ausschlussliste erstellen, um die Dauer von Scans zu minimieren.

Optimieren von Datenbankvorgängen

Die Optimierung von Datenbankvorgängen bezieht sich auf den Prozess der Verfeinerung und Feinabstimmung von Datenbankaufgaben, um maximale Effizienz und minimale Ressourcenauslastung sicherzustellen. Zu diesen Vorgängen gehören Aufgaben wie Sicherungen, Schemaänderungen, Leistungsoptimierung und Überwachung. Effiziente Datenbankvorgänge führen zu schnelleren Abfrageantworten, reduziertem Systemaufwand und einer insgesamt reibungsloseren Benutzererfahrung.

Schemaänderungen umfassen das Ändern der Struktur einer Datenbank, z. B. das Hinzufügen oder Ändern von Tabellen, Spalten oder Indizes. Diese Änderungen erfordern möglicherweise eine zusätzliche Verarbeitung und Ressourcenauslastung während des Bereitstellungsprozesses, was sich möglicherweise auf die Gesamtleistung der Workload auswirkt. Schemaänderungen können die Leistung bei aktiven Abfragen, Indizes oder Transaktionen stören oder dazu führen, dass Daten nicht verfügbar sind.

Um diese Effekte zu minimieren, sollten Sie Schemaänderungen in einer Nichtproduktionsumgebung planen und testen. Sie können verschiedene Bereitstellungstechniken verwenden, um Schemaupdates zu implementieren. Sie sollten auch verfügbare Schemaänderungstools verwenden, um den Prozess zu optimieren. Das Archivieren von Daten und Partitionierung kann dazu beitragen, die Auswirkungen von Schemaänderungen zu verringern.

Optimieren von Sicherungen

Sicherungen verbrauchen Workloadressourcen wie Verarbeitungsleistung, Netzwerkbandbreite und Datenträger-E/A. Sie müssen eine Sicherungsstrategie testen und auswählen, die diese Effekte minimiert. Sie sollten Sicherungen nach Möglichkeit außerhalb der Spitzenzeiten durchführen. Ihre Strategie sollte jedes Mal inkrementelle Sicherungen anstelle vollständiger Sicherungen enthalten. Momentaufnahmen können weniger ressourcenintensiv sein als Sicherungen. Sie sollten integrierte Plattformsicherungs- und Wiederherstellungsfeatures in Betracht ziehen, anstatt eine benutzerdefinierte Lösung zu erstellen. Sie müssen diese Optionen testen und eine Kombination verwenden, die die beste Leistung für Ihre Workload bietet.

Überwachungs- und Fehlersuche optimieren

Übermäßige oder schlecht implementierte Protokollierung, Telemetrie, Instrumentierung und verteiltes Tracing-Erfassen und -Sammeln kann sich auf die Leistung auswirken. Ebenso können Komfortfeatures wie Remotedebugging auch die Leistung beeinträchtigen. Sie müssen ihre Leistungseffekte auf die Umgebung messen und kennen. Sie möchten nicht, dass diese Prozesse die Leistung beeinträchtigen. Sie sollten Prozesse konfigurieren oder deaktivieren, deren Leistungseffekte ihre Vorteile überwiegen.

Azure-Unterstützung

Buchhaltung für betriebliche Aufgaben: Azure DevOps ist eine Reihe von Entwicklungstools und -diensten, mit denen Teams Software effizient planen, entwickeln, testen und bereitstellen können. Sie enthält Features wie Versionssteuerung, kontinuierliche Integration und Übermittlung, Projektmanagement und vieles mehr.

Azure bietet Dienst-zu-Dienst-Integration, die die Auswirkungen vieler betrieblicher Aufgaben minimiert. Beispielsweise unterstützen Dienste, die in Azure Key Vault integriert sind, häufig eine nahtlose Zertifikatsrotation oder geheime Schlüsselrotation, die die Auswirkungen auf die Leistung minimiert.

Optimieren von Bereitstellungen: Der App-Dienst stellt Bereitstellungsplätze bereit. Sie können Bereitstellungsplätze verwenden, um Code in einer Nichtproduktionsumgebung bereitzustellen. Sie können App-Inhalte und Konfigurationselemente zwischen zwei Bereitstellungsplätzen austauschen. Sie können z. B. App-Inhalte von einem Nichtproduktionsplatz zum Produktionsplatz wechseln.

Mit Azure Front Door und Azure Traffic Manager können Sie eine blaugrüne Bereitstellungsstrategie implementieren. Einige Azure-Computedienste unterstützen auch erweiterte Bereitstellungsstrategien wie blaugrüne Bereitstellungen. Sie können diese Dienste mit Ihrer Strategie zur Verlagerung des Datenverkehrs oder Instanzvorbereitung kombinieren, um die Auswirkungen der Bereitstellung auf die Performance zu minimieren.

Optimieren von Datenbankvorgängen: Die Azure SQL-Datenbank übernimmt automatisch vollständige Sicherungen, differenzielle Sicherungen und Transaktionsprotokollsicherungen. Azure Cosmos DB übernimmt automatisch Sicherungen Ihrer Daten in regelmäßigen Abständen. Die automatischen Sicherungen werden ohne Auswirkungen auf die Leistung oder Verfügbarkeit von Datenbankvorgängen durchgeführt. Azure Cosmos DB speichert die Sicherungen in einem separaten Speicherdienst.

Optimieren von Sicherungen: Einige Azure-Datendienste unterstützen geringe bis keine Auswirkungen auf die Leistung für die Wiederherstellung zu einem bestimmten Zeitpunkt und die Indizierung. Azure Backup ist eine zuverlässige und skalierbare cloudbasierte Sicherungslösung, mit der Sie Ihre Daten und Anwendungen schützen können. Es bietet Features wie inkrementelle Sicherungen, Komprimierung und Verschlüsselung, um die Auswirkungen auf die Leistung während sicherungsvorgängen zu minimieren. Azure Site Recovery hilft Ihnen, Ihre Anwendungen zu schützen, indem Sie sie an einen sekundären Speicherort replizieren. Sie bietet fortlaufende Replikations- und automatisierte Failoverfunktionen, um die Ausfallzeiten und Leistungseinbußen bei Sicherungs- und Notfallwiederherstellungsvorgängen zu minimieren.

Verwalten von Geschäftskontinuität und Notfallwiederherstellung: Sie können auch Das Azure Business Continuity Center verwenden, um die Verwaltung von Sicherungen und Notfallwiederherstellung mit einer einheitlichen Webschnittstelle zum Konfigurieren von Sicherungen, zum Festlegen von Schutzrichtlinien, überwachungsvorgängen und zum Überprüfen von Konfigurationen in verschiedenen Umgebungen zu optimieren.

Leistungsfähigkeitscheckliste

Lesen Sie die vollständigen Empfehlungen.