Entwurf für die Nutzungsoptimierung

Abgeschlossen
Maximieren Sie die Nutzung von Ressourcen und Vorgängen. Wenden Sie sie auf die ausgehandelten funktionalen und nicht funktionalen Anforderungen der Lösung an.

Dienste und Angebote bieten verschiedene Funktionen und Preisstufen. Nachdem Sie eine Reihe von Features erworben haben, vermeiden Sie, dass sie nicht verwendet werden. Hier finden Sie Möglichkeiten, um Ihre Investition in den Tarif zu maximieren. Werten Sie auch kontinuierlich Abrechnungsmodelle aus, um diejenigen zu finden, die basierend auf den aktuellen Produktionsworkloads besser für Ihre Nutzung ausgerichtet sind.

Beispielszenario

Die Contoso University hostet derzeit eine kommerzielle Off-the-Shelf-Lösung (COTS), mit der die Fakultät der Universität Kurse für das akademische Jahr erstellen und aktualisieren kann, und die das primäre Registrierungsportal ist, das von Studierenden für diese Kurse verwendet wird. Die Lösung verfügt über eine benutzerdefinierte Integration mit einem Software-as-a-Service (SaaS)-Bildungsmanagementsystem, von dem sie hoffen, dass sie alle ihre Funktionen in ein paar Jahren dorthin migrieren können. In der Zwischenzeit möchten sie die Kosten für die benutzerdefinierten Integrationskomponenten optimieren.

Die Technologielösung des COTS-Angebots wird in der Regel wie eine Blackbox behandelt, mit Ausnahme der Datenbank, die eine Azure-Datenbank für MySQL ist. Die benutzerdefinierte Integration ist eine Azure Durable Function, die auf einem Standarddienstplan in Azure App Service aufgefächert ausgeführt wird. Dieser App-Dienst hat zuvor eine Universitätswebsite gehostet, aber das ist nicht mehr der Fall. Diese dauerhafte Funktion ist eine Python-Anwendung, die von einem dedizierten Azure Storage-Konto unterstützt wird, das eine nächtliche Synchronisierung aus der MySQL-Datenbank mit der SaaS-API durchführt.

Verbrauchsbasierte Preise verwenden, wo praktikabel

Es kann Dienste geben, die verbrauchsbasierte Preise anbieten, was bedeutet, dass Ihnen nur die Nutzung des Dienstes in Rechnung gestellt wird, und Sie können den Dienst herunterfahren, wenn er nicht benötigt wird, um Kosten zu vermeiden. Wenn Sie Workload-Komponenten haben, die nur sporadisch genutzt werden, kann dies im Vergleich zur Abrechnung der Komponente zum Ausführen jeden Tag rund um die Uhr die Kosten minimieren.

Durch verbrauchsbasierte Preise bezahlen Sie nur genau das, was Sie verwenden. Diese Option ist eine gute Wahl, wenn Ihr Workload-Compute nicht in Vollzeit verwendet werden soll.

Herausforderung für Contoso

  • Der Synchronisierungsauftrag wird in der Regel für etwa eine Stunde pro Nacht zu einem bestimmten Zeitpunkt ausgeführt. Die Leistung war in der Vergangenheit zufriedenstellend. Fehlfunktionen sind selten und vorübergehende Fehler werden in der aktuellen Konfiguration gut behandelt.
  • Da der für den Synchronisierungsauftrag benötigte Compute nur etwa eine Stunde pro Tag benötigt wird und Sie 24 Stunden bezahlen, unabhängig von der Auslastung, ist das Workload-Team an einer Alternative zur aktuellen Strukturierung interessiert.
  • Das Team hat ein Skript zum Herunterfahren des Diensts jede Nacht nach Ausführung der Synchronisierung und erneute Bereitstellung des Diensts am nächsten Tag in Betracht gezogen, aber diese Lösung würde ein hohes Maß an Risiko und Komplexität tragen.

Anwenden des Ansatzes und Umsetzen der Ergebnisse

  • Das Team analysiert die Auftragshistorie und stellt fest, dass die längste Funktion, die jemals ausgeführt wurde, knapp zwei Stunden betrug. Sie vergleichen die Kosten des dedizierten Plans mit den Kosten des Azure Functions-Verbrauchsplans für das Worst-Case-Szenario und schließen daraus, dass der Verbrauchsplan weniger teuer ist.
  • Das Team führt einen Leistungstest aus, um sicherzustellen, dass die Leistung ausreicht, wobei sie eine leichte Erhöhung der Laufzeit bemerken, aber sie liegt immer noch innerhalb akzeptabler Grenzwerte.
  • Die Gesamtkosten der Workload werden durch Verwendung des Verbrauchsplans reduziert, da sie nur Kosten verursacht, wenn der Auftrag ausgeführt wird.

Optimieren des Designs für hohe Verfügbarkeit

Priorisieren Sie die Bereitstellung von aktiv-aktiven oder nur aktiven gegenüber aktiv-passiven Modellen im Rahmen Ihres Wiederherstellungsplans, wenn Sie bereits für die Ressourcen bezahlt haben.

Wenn Ihr Design standardmäßig aktiv-passive Modelle verwendet, verfügen Sie möglicherweise über Leerlaufressourcen, die andernfalls verwendet werden könnten. Das Konvertieren in aktiv-aktiv ermöglicht Ihnen möglicherweise den Kapazitätsausgleich und die Staffelungsburstinganforderungen zu erfüllen, ohne dass der Kostenrahmen gesprengt wird. Wenn Sie Ihre Wiederherstellungsziele mit einem nur aktiven Modell erfüllen können, können die Kosten dieser Ressourcen vollständig entfernt werden.

Herausforderung für Contoso

  • Die COTS-Anwendung verwendet Azure Database für MySQL Flexible Server, der für die Hochverfügbarkeit in gleicher Zone konfiguriert ist und einen Standbyserver in derselben Verfügbarkeitszone wie der primäre Server bereitstellt. Sie haben auch automatische Sicherungskopien aktiviert.
  • Das RPO der Workload ist relativ lang mit 12 Stunden, und das RTO beträgt drei Stunden während des Schultags.
  • Basierend auf vorherigen Wiederherstellungstests weiß das Team, dass sie ihre RPO- und RTO-Ziele durch automatisches Failover auf den Standbyserver erfüllen können. Sie haben auch die Wiederherstellung der Datenbank aus einer Sicherung getestet und können die Ziele in diesem Szenario erfüllen.

Anwenden des Ansatzes und Umsetzen der Ergebnisse

  • Das Workload-Team bewertet den Vorteil des Designs für Hochverfügbarkeit neu im Vergleich zu den Kosten des Dienstes und sie sind doppelt so hoch wie für eine einzelne Instanz.
  • Das Team testet die Erstellung einer neuen Instanz und das Wiederherstellen einer Datenbank aus der Sicherung, und es ist zufrieden, dass weiterhin den Wiederherstellungszielen entsprochen wird, sodass sie sich entschließen, die Standby-Instanz zu beseitigen.
  • Das Team aktualisiert den DR-Plan, um die neue Wiederherstellungsstrategie widerzuspiegeln und um die Kosteneinsparungen durch die neue Konfiguration zu realisieren.

Halten Sie Ihre Cloudumgebung frei von nicht verwendeten Ressourcen und Daten

Überprüfen Sie regelmäßig und streng die Bereitstellungen für nicht verwendete Ressourcen und Daten und deren Außerbetriebnahme. Im Laufe der Zeit können Ressourcen und Daten, die in der Vergangenheit für einen bestimmten Zweck benötigt wurden, aber nicht mehr verwendet werden, in Ihren Cloudumgebungen hängen bleiben und unnötige Kosten verursachen. Achten Sie darauf, Ihre Umgebungen sauber zu halten, um die Kosteneffizienz zu optimieren.

Das Herunterfahren nicht verwendeter Ressourcen und das Löschen von Daten, wenn Sie sie nicht mehr benötigen, reduziert den Abfall und gibt Mittel frei, damit Sie sie an anderer Stelle investieren können.

Herausforderung für Contoso

  • Die Universität hat in der Vergangenheit einen konservativen Ansatz zur Außerbetriebnahme von Lösungen ergriffen, weil sie befürchten, dass möglicherweise auf eine vorherige Konfiguration zurückgesetzt werden muss. Diese Vorsicht hat dazu geführt, dass ungenutzte Dienste in einer oder mehreren Umgebungen für Monate einfach laufen gelassen wurden, und in einigen Fällen vergessen wurden.
  • Wenn nicht genutzte Dienste entdeckt werden, ist es in der Regel versehentlich, da es keinen formalen Prozess gibt, um die Umgebung nach solchen Diensten zu durchsuchen.

Anwenden des Ansatzes und Umsetzen der Ergebnisse

  • Das Team fügt die Außerbetriebnahme des App-Dienstes im Rahmen der Migration vom App-Dienst zum Verbrauchshost für die durable-Funktion hinzu. Im Rahmen des nächsten Sprints werden sie die App Service-Bereitstellungen in allen Umgebungen herunterfahren.
  • Um bei der proaktiven Erkennung nicht genutzter Ressourcen zu helfen, richtet das Team Warnungen in Azure Advisor ein, um sie über nicht verwendete Ressourcen zu informieren.
  • Das Team implementiert eine neue Richtlinie, die erfordert, dass das Team monatliche vollständige Überprüfungen der Vorproduktionsumgebungen und vierteljährliche vollständige Überprüfungen der Produktionsumgebung durchführt, um nicht genutzte Ressourcen zu identifizieren. Alle abgebrochenen Ressourcen, die gefunden wurden, werden dem Backlog zur Außerbetriebnahme hinzugefügt.

Überprüfen Sie Ihr Wissen

1.

Welche dieser Dienste stehen für bestimmte Azure-Computedienste zur Verfügung, damit Sie Geld sparen können, indem Sie nur für die von Ihnen verwendeten Computes bezahlen?

2.

Welche der folgenden HA-Entwürfe sollten Sie wegen der Kosteneffizienz vermeiden, wenn Sie bereits für die Ressourcen bezahlt haben?

3.

Wie kann das Workload-Team sicherstellen, dass sie abgebrochene Ressourcen wie MySQL-Server, die nicht mehr verwendet werden, finden?