Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Eine Workload, die ihre Leistungsziele ohne Überbereitstellung erfüllt, ist effizient. Zu den wichtigsten Strategien für Leistungseffizienz gehören die ordnungsgemäße Verwendung von Codeoptimierungen, Entwurfsmustern und Kapazitätsplanung. Klare Leistungsziele und Tests untermauern diese Säule.
Während der Designphase einer Workload gilt es zu berücksichtigen, wie Entscheidungen, die auf den Designprinzipien der Leistungseffizienz und den Empfehlungen in der Checkliste für die Designprüfung für Leistungseffizienz basieren, die Ziele und Optimierungsbemühungen anderer Säulen beeinflussen können. Bestimmte Entscheidungen können für einige Säulen von Vorteil sein, für andere jedoch Kompromisse darstellen. In diesem Artikel werden Beispiele für Kompromisse aufgeführt, die einem Workload-Team beim Entwerfen von Workload-Architekturen und -Vorgängen im Hinblick auf Leistungseffizienz begegnen können.
Kompromisse bei der Leistungseffizienz im Hinblick auf die Zuverlässigkeit
Kompromiss: Geringere Replikation und höhere Dichte. Ein Eckpfeiler der Zuverlässigkeit ist die Gewährleistung der Ausfallsicherheit durch Replikation sowie durch Beschränkung des Auswirkungsradius von Fehlfunktionen.
- Durch die Konsolidierung von Workload-Ressourcen können überschüssige Kapazitäten genutzt und die Effizienz verbessert werden. Sie vergrößert jedoch den Auswirkungsradius einer Fehlfunktion in den Komponenten oder Anwendungsplattformen am selben Standort.
Kompromiss: erhöhte Komplexität. Zuverlässigkeit priorisiert Einfachheit.
Datenpartitionierung und Sharding tragen dazu dabei, Leistungsprobleme in großen oder häufig aufgerufenen Datensätzen zu vermeiden. Die Implementierung dieser Muster erhöht jedoch die Komplexität, da die (letztendliche) Konsistenz über zusätzliche Ressourcen hinweg aufrechterhalten werden muss.
Die Denormalisierung von Daten für optimierte Zugriffsmuster kann die Leistung verbessern, führt jedoch zu Komplexität, da mehrere Datendarstellungen synchronisiert werden müssen.
Leistungsorientierte Cloud-Entwurfsmuster erfordern manchmal die Einführung zusätzlicher Komponenten. Durch den Einsatz dieser Komponenten vergrößert sich die Oberfläche der Arbeitslast. Die Komponenten selbst müssen dann zuverlässig gemacht werden, um die gesamte Arbeitslast zuverlässig zu halten.
Kompromiss: Testen und Beobachten in aktiven Umgebungen. Die Vermeidung des unnötigen Einsatzes von Produktionssystemen ist ein Selbsterhaltungsansatz für die Zuverlässigkeit.
Leistungstests in aktiven Umgebungen bergen das Risiko, dass es aufgrund der Testaktionen oder -konfigurationen zu Fehlfunktionen kommt.
Workloads sollten mit einem APM-System (Application Performance Monitoring) instrumentiert werden, das es Teams ermöglicht, aus aktiven Umgebungen zu lernen. Die APM-Tools werden im Anwendungscode oder in der Hosting-Umgebung installiert und konfiguriert. Unsachgemäße Verwendung, Überschreitung der Beschränkungen oder Fehlkonfiguration des Tools können seine Funktionalität und Wartung beeinträchtigen und möglicherweise die Zuverlässigkeit untergraben.
Kompromisse bei der Leistungseffizienz im Hinblick auf die Sicherheit
Kompromiss: Reduzierung der Sicherheitskontrollen. Sicherheitskontrollen werden –manchmal redundant – über mehrere Ebenen hinweg eingerichtet, um eine tiefgreifende Abwehr zu gewährleisten.
Eine Strategie zur Leistungsoptimierung besteht darin, Komponenten oder Prozesse, die zu Verzögerungen in einem Flow beitragen, zu entfernen oder zu umgehen, insbesondere wenn ihre Verarbeitungszeit nicht gerechtfertigt ist. Diese Strategie kann jedoch die Sicherheit gefährden und sollte von einer gründlichen Risikoanalyse begleitet werden. Betrachten Sie folgende Beispiele:
Das Entfernen der Verschlüsselung während der Übertragung oder im Ruhezustand, um die Übertragungsgeschwindigkeit zu verbessern, setzt die Daten potenziellen Integritäts- oder Vertraulichkeitsverletzungen aus.
Das Entfernen oder Reduzieren von Sicherheitsüberprüfungs- oder Inspektionstools zur Verkürzung der Verarbeitungszeiten kann die Vertraulichkeit, Integrität oder Verfügbarkeit beeinträchtigen, die diese Tools schützen.
Das Entfernen von Firewallregeln aus Netzwerkflows, um die Netzwerklatenz zu verbessern, kann zu unerwünschter Kommunikation führen.
Das Minimieren der Datenvalidierung für eine schnellere Datenverarbeitung kann die Datenintegrität gefährden, insbesondere wenn die Eingaben bösartig sind.
Kompromiss: größere Workload-Fläche. Sicherheit priorisiert eine kleinere und begrenzte Fläche, um Angriffsvektoren zu minimieren und die Verwaltung von Sicherheitskontrollen zu reduzieren.
Leistungsorientierte Cloud-Entwurfsmuster erfordern manchmal die Einführung zusätzlicher Komponenten. Diese Komponenten vergrößern die Fläche der Workload. Die neuen Komponenten müssen gesichert werden, möglicherweise auf eine Weise, die noch nicht im System verwendet wird, und sie erhöhen häufig den Umfang der Compliance. Betrachten Sie diese häufig hinzugefügten Komponenten:
Einführung mehrerer verschiedener Methoden zum Umgang mit Geschäftslogik, z. B. Cloud-Flows und Low-Code-Plugins, basierend auf den Leistungsanforderungen der einzelnen Aufgaben.
Auslagerung der Verarbeitung auf Hintergrundaufträge oder sogar Client-Computing.
Kompromiss: Entfernen der Segmentierung. Die Säule „Sicherheit“ priorisiert eine starke Segmentierung, um fein abgestufte Sicherheitskontrollen zu ermöglichen und den Auswirkungsradius zu verkleinern.
Die gemeinsame Nutzung von Ressourcen ist ein Ansatz zur Verbesserung der Effizienz. Es erhöht die Dichte, um die Kapazitätsnutzung zu optimieren. Zum Beispiel die Wiederverwendung von Low-Code-Plug-Ins in mehreren Canvas-Apps und Cloud-Flows. Die erhöhte Dichte kann zu folgenden Sicherheitsbedenken führen:
Eine gemeinsam genutzte Workload-Identität, die gegen das Prinzip der geringsten Rechte verstößt und einzelne Überwachungspfade in Zugriffsprotokollen verdeckt.
Perimeter-Sicherheitskontrollen, z. B. Netzwerkregeln, die auf alle am selben Standort befindlichen Komponenten reduziert werden, sodass einzelne Komponenten mehr Zugriff als nötig erhalten.
Kompromisse zwischen Leistungseffizienz und Operational Excellence
Kompromiss: reduzierte Beobachtbarkeit. Die Überwachung ist notwendig, um eine Workload mit aussagekräftigen Warnungen zu versehen und eine erfolgreiche Reaktion auf Sicherheitsvorfälle sicherzustellen.
Durch die Reduzierung des Protokoll- und Metrikvolumens, um die Verarbeitungszeit zu reduzieren, die für die Erfassung von Telemetriedaten anstelle anderer Aufgaben aufgewendet wird, wird die allgemeine Beobachtbarkeit des Systems verringert. Einige Beispiele für die daraus resultierende reduzierte Beobachtbarkeit sind:
- Es schränkt die Datenpunkte ein, die zum Erstellen aussagekräftiger Warnungen verwendet werden.
- Es führt zu Lücken in der Abdeckung durch Aktivitäten für den Umgang mit Sicherheitsvorfällen.
- Es schränkt die Beobachtbarkeit bei Interaktionen und Beschränkungen ein, die für die Sicherheit und Compliance relevant sind.
Bei der Implementierung von Leistungsentwurfsmustern nimmt die Komplexität der Arbeitslast häufig zu. Komponenten werden kritischen Flows hinzugefügt. Die Workload-Überwachungsstrategie und die Leistungsüberwachung müssen diese Komponenten umfassen. Wenn sich ein Flow über mehrere Komponenten oder Anwendungsgrenzen erstreckt, steigt die Komplexität der Überwachung der Leistung dieses Flows. Die Flowleistung muss über alle miteinander verbundenen Komponenten hinweg korreliert werden.
Kompromiss: erhöhte Komplexität im Geschäftsbetrieb. Eine komplexe Umgebung bringt komplexere Interaktionen sowie eine höhere Wahrscheinlichkeit für negative Auswirkungen durch routinemäßige, ungeplante und Notfalleinsätze mit sich.
Die Verbesserung der Leistungseffizienz durch Erhöhung der Dichte erhöht das Risiko bei operativen Aufgaben. Ein Fehler in einem einzelnen Prozess kann einen großen Auswirkungsradius haben.
Die Implementierung von Leistungsentwurfsmustern beeinflusst Betriebsabläufe wie Sicherungen, Schlüsselrotationen und Wiederherstellungsstrategien. Beispielsweise können Datenpartitionierung und Sharding Routineaufgaben erschweren, wenn Teams sicherstellen wollen, dass diese Aufgaben die Datenkonsistenz nicht beeinträchtigen.
Kompromiss: Kulturstress. Operational Excellence ist in einer Kultur der Schuldlosigkeit, des Respekts und der kontinuierlichen Verbesserung verwurzelt.
Durch die Durchführung einer Ursachenanalyse von Leistungsproblemen werden Mängel in Prozessen oder Implementierungen identifiziert, die korrigiert werden müssen. Das Team sollte die Übung als Lerngelegenheit betrachten. Wenn Teammitglieder für Probleme verantwortlich gemacht werden, kann die Moral beeinträchtigt werden.
Routine- und Ad-hoc-Prozesse können die Leistung von Workloads beeinträchtigen. Es wird oft als vorzuziehen angesehen, diese Aktivitäten außerhalb der Spitzenzeiten durchzuführen. Eine Durchführung außerhalb der Spitzenzeiten kann jedoch unpraktisch sein oder außerhalb der regulären Arbeitszeiten der Teammitglieder liegen, die für diese Aufgaben verantwortlich oder qualifiziert sind.
Kompromisse bei der Leistungseffizienz und der Erlebnisoptimierung
Kompromiss: geringere Kundenbindung. Die Säule „Umgebungsoptimierung“ priorisiert eine ansprechendere Benutzererfahrung.
Bei der Leistungsoptimierung wird die Verwendung von Plattformfunktionen gegenüber Anpassungen priorisiert, wodurch benutzerdefinierte Komponenten, die zu einer ansprechenderen Benutzererfahrung führen könnten, depriorisiert werden.
Die Leistungsoptimierung kann sich zu sehr auf die Minimierung der Komplexität konzentrieren, wodurch Funktionen für ansprechendere Benutzererfahrungen, wie z. B. benutzerdefinierte Komponenten und Integrationen, depriorisiert werden.
Die Entwicklung von Benutzeroberflächen erfolgt häufig in schnelleren Iterationen und Lieferzyklen, was die kontinuierliche Verbesserung der Leistung erschweren kann.