Drücke "Enter", um den Text zu überspringen.

Schlagwort: Savings Plan

Kosten sparen in Azure – Reservierung oder Savings Plan?

Da in einigen Projekten der letzten Zeit bei mir immer mal wieder die Frage auftaucht, ob man nun Reservierungen oder Savings Plans (konkret für VMs) buchen solle, will ich das Thema hier nochmal aufgreifen und etwas umfangreicher behandeln.

Als kurze Wiederholung – worum handelt es sich hier eigentlich?

Bei Reservierungen (oder Reserved Instances) bucht man eine spezifische VM SKU (oder zumindest eine konkrete Serie, dazu unten mehr) für eine bestimmte Azure Region, ggf. für einen spezifischen Scope (z.B. eine bestimmte Subscription) auf ein oder drei Jahre. Dafür erhält man diese Leistung dann zu einem stark rabattierten Preis. Die Kosten kann man entweder monatlich oder direkt einmal vollständig im Voraus zahlen.

Bei einem Savings Plan zahlt man einen selbst gewählten Betrag ein. Dabei legt man weder eine SKU, noch eine Region fest. Man muss sich noch nicht einmal für einen konkreten Service festlegen, wenngleich Savings Plans nur für eine kleine Liste von Diensten gelten (insb. VMs, VMSS, AKS, App Services). Dafür erhält man Leistungen zu einem rabattierten Preis. Welche das sind, wird von Microsoft danach entschieden, welche passenden Dienste im Scope des Savings Plans den größten Preisnachlass durch den Plan haben. Im Prinzip zahlt man hier einen gewissen Betrag ein, den Microsoft dann „verzinst“ und aus dem verzinsten Guthaben dann Leistungen bezahlt.

Es gibt hier also zwei ganz wesentliche Unterschiede:

ReservierungSavings Plan
Gilt für eine ganz bestimmte VM SKU oder ggf. eine bestimmte VM Serie.Gilt für alle unterstützen Azure Services im Scope.
Gilt nur für die bei der Buchung festgelegte Azure RegionGilt unabhängig von einer Region.

Nun kommt aber ein weiterer Aspekt (zumindest derzeit noch, und keiner weiss wie lange) dazu: Die Verbindlichkeit!

Eine Reservierung für VMs ist zwar sehr spezifisch in ihrer Gültigkeit (Region, VM SKU), kann allerdings geändert werden (Exchange, also der Umtausch in eine andere Reservierung, Trade-In, also das Eintauschen gegen einen Savings Plan, oder Cancelation, also das Stornieren einer Reservierung bis zu einem maximalen Betrag von 50.000 USD).

(Siehe hierzu Changes to the Azure reservation exchange policy – Microsoft Cost Management | Microsoft Learn)

Und auch wenn man sich für eine spezifische VM SKU entscheiden muss, gibt es für Reservierungen eine (mittlerweile standardmäßig aktivierte) Flexibilitäts-Option. Ist diese aktiv, kann eine Reservierung auch für andere VMs der selben „Instance Size Flexibility Group“ genutzt werden. Vereinfacht gesagt kann man dann eine andere VM der selben Serie einsetzen und die gebuchten Kerne werden entsprechend umgerechnet. So kann man dann z.B. in einer gebuchten Instanz der D8s_v5 auch alternativ 2 Instanzen der D4s_v5 betreiben. Man bleibt aber immer auf die selbe Serie und somit die selbe zugrunde liegende Hardware festgelegt!

Ein Savings Plan hingegen ist in sich deutlich flexibler in der Nutzung, da er unabhängig von einer speziellen VM SKU und auch unabhängig von einer Region verwendet werden. Allerdings gibt es für einen gebuchten Savings Plan keinerlei Möglichkeiten, diesen zu ändern. Er lässt sich weder verkleinern noch stornieren. Man kann lediglich weitere Savings Plans hinzubuchen. Er bringt somit also in letzter Konsequenz eine gefühlte höhere Verbindlichkeit mit sich!

Nun stellt sich natürlich die Frage, für welche der beiden Optionen man sich entscheiden sollte. Das kann man zwar nicht pauschal beantworten, aber es gibt einige wesentliche Aspekte, die man berücksichtigen sollte:

  • Da eine Reservierung für eine spezifische Hardware (und somit ein spezielles CPU-Modell) gilt, sollte man diese nicht für alte VM SKUs buchen, weil dadurch eine Modernisierung erschwert wird. (Für VM-SKUs, die bereits abgekündigt sind, kann z.T. auch keine Reservierung mehr gebucht werden).
  • Für Workloads, die zwar heute noch als klassische VM betrieben werden, für die aber eine Modernisierung z.B. hin zu Kubernetes angedacht ist, sind Savings Plans in der Regel die bessere Option, da diese auch nach der Modernisierung weiterhin genutzt werden können.
  • Reservierungen bieten den größeren Rabatt als Savings Plans. Wenn es also keinen Grund zur Annahme gibt, dass die genutzten VM-Typen nicht mindestens für die Dauer der Reservierung genutzt werden, dann ist eine Reservierung kaufmännisch oft lohnender.

Und gerade zum letzten Punkt, nämlich den Rabatten bzw. Kosten, will ich noch etwas aufzeigen!

In der nachfolgenden Tabelle sind für einige ausgewählte VM-SKUs die Preise und Rabatte für West Europe und East U.S. dargestellt:

Hierbei kann man einiges feststellen:

  • Reservierungen haben einen nahezu durchgehend gleichhohen Rabatt, unabhängig von Region und VM-Serie. Er liegt bei 1-jährigen Reservierungen bei ca. 40% (mit leichten Abweichungen bei sehr neuen Serien) und bei ca. 60% bei 3-jährigen Reservierungen.
  • Savings Plans unterscheiden sich vor allem bei den etwas älteren VM-Serien recht deutlich zwischen den Regionen. Während es in West Europe nur etwa 25% Rabatt gibt, sind es in East U.S. über 30%.
  • Somit bringen Reservierungen in West Europe zwischen 8% (Es_v6 für 1 Jahr) und 33% (Ds_v5 für 3 Jahre) mehr Rabatt als Savings Plans.
  • In East U.S. sind es hingegen nur zwischen 8% und ca. 20% (D2_v5 für 3 Jahre).
    • Ergo: In West Europe lohnen sich Reservierungen oft deutlich stärker, als in East U.S.
    • Bei neueren VM-Serien sind gerade in West Europe die Rabatte bei Reservierungen nur noch geringfügig höher als bei Savings Plans der selben Laufzeit (z.B. E4s_v6 auf ein Jahr: 32% vs. 37%!)

Es kommt also auch sehr stark auf die vorgesehene Region und die eingesetzten VM-Serien an, wenn es darum geht, zu entscheiden, welcher Weg der bessere ist!

Ich hoffe, diese Analyse hilft euch etwas besser, die Entscheidungen für Reservierungen und Savings Plans zu treffen…

PS: Schaut euch bezüglich der Frage, ab wann sich Reservierungen und Savings Pläne generell lohnen, auch gerne meine vorhergegangenen Beiträge zu diesem Thema an. (Kosten sparen in Azure – Reservierungen und Kosten sparen in Azure – Savings Plans).

Schreibe einen Kommentar...

Kosten sparen in Azure – Savings Plans

Im ersten Teil zum Thema „Kosten sparen in Azure“ haben wir uns mit den Reservierungen auseinander gesetzt. In diesem Artikel soll es um eine Alternative dazu gehen – den „Compute Savings Plans“.

Bei den „Compute Savings Plans“ bzw. „Savings Plans for Compute“ handelt es sich um eine weitere Möglichkeit, durch ein langfristiges Commitment Rabatte zu bekommen. Sie verfolgen also ein ähnliches Ziel wie Reservierungen – funktionieren dabei jedoch völlig anders.

Anders als bei Reservierungen muss man sich bei den Savings Plans nicht für einen bestimmten Ressourcen-Typ festlegen. Die gebuchten Savings Plans gelten für alle unterstützten Ressourcen-Typen. Das sind aktuell:

  • Azure Virtual Machines (*)
  • Azure App Service
  • Azure Functions premium plan
  • Azure Container Instances
  • Azure Dedicated Host
  • Azure Container Apps
  • Azure Spring Apps Enterprise

(*) Da Savings Plans für VMs gelten, gelten sie auch für alles, was durch die regulären Nutzungsgebühren von VMs abgedeckt ist, also z.B. Virtual Machine Scale Sets (VMSS), Azure Kubernetes Service (AKS) oder Azure Virtual Desktop (AVD).

Man bucht auch nicht eine bestimmte Menge oder Instanzen-Anzahl von einem konkreten Dienst, sondern definiert eine stündlich zu zahlende Summe. Diese Summe wird dann eingesetzt, um zu rabattierten Preisen die verwendeten Dienste der entsprechenden Ressourcen-Arten zu bezahlen. Dabei werden automatisch die Services mit dem höchsten Rabatten genutzt.

Rechenbeispiel

Um dies besser zu verstehen, erkläre ich es an einem einfachen Beispiel:

Nehmen wir an, wir haben eine einzige Azure VM, und zwar eine D8s_v5. Diese kostet regulär 0.441€/h (Nur Compute-Anteil). Bei einem 1-jährigen Savings Plan kostet die selbe VM noch 0.336€/h. Würden wir jetzt also stündlich genau 0.336€ in den Savings Plan einzahlen, wäre die VM damit vollständig abgedeckt und wir hätten ca. 24% Rabatt auf den Preis bekommen.

Wenn wir jetzt z.B. nur 0.200€/h in den Savings-Plan einzahlen würden, dann wären ca. 0.6h durch den Savings Plan abgedeckt. Die fehlenden 0.4h würden wir zum regulären Preis von 0.441€/h, also für ca. 0.176€, bezahlen. Somit hätten wir dann für die VM 0.376€ in dieser Stunde bezahlt.

Hätten wir hingegen 0.400€/h eingezahlt, dann wäre die VM zwar vollständig bezahlt, wir hätten aber auch 0,064€ zu viel bezahlt. Dieser Betrag wäre verloren. Das zeigt diese Grafik recht gut:

Es ist dabei aber zu beachten, dass man Savings Plans derzeit nur in US-Dollar abschließen kann. Man muss die Beträge also ggf. umrechnen.

Gemeinsamkeiten mit Reservierungen

Savings Plans haben einige Gemeinsamkeiten mit Reservierungen, insbesondere:

  • Laufzeit: Der Savings Plan kann für ein Jahr oder für drei Jahre gebucht werden – wobei es bei drei Jahren deutlich größere Rabatte gibt.
  • Scope: Savings Plans werden ebenfalls für einen bestimmten Scope gebucht und gegen eine definierte Subscription abgerechnet
  • Abrechnung: Savings Plans werden (obwohl der Betrag pro Stunde eingestellt wird) einmal monatlich abgerechnet (siehe unten)
  • Over-Commitment: Es gilt „Use-it-or-loose-it„.

Weitere Unterschiede zu Reservierungen

Vorteilhaft ist, dass ein Savings Plan nicht für eine bestimmte Region gebucht wird – er gilt also für alle Regionen. Somit muss man sich auch nicht langfristig an eine bestimmte Region binden, wie es bei Reservierungen der Fall wäre.

Außerdem kann man eben auch nur Anteile seiner Ressourcen abdecken. Während man bei Reservierungen in der Regel immer volle Instanzen bucht, könnte man bei Savings Plans z.B. auch nur 50% aller Systeme abdecken. Würde man die Systeme dann später auf die Hälfte verkleinern, wäre das dann kein Problem.

Da man sich weder für eine VM SKU, noch eine Serie festlegen muss, kann man jederzeit auf die neueste Hardware-generation wechseln. Auch eine Modernisierung von VMs zu Containern (in AKS) wäre problemlos möglich.

Für Savings Plans sind jedoch keine weiteren Flexibilitäten oder Anpassungen verfügbar. Sie lassen sich nicht stornieren, umtauschen oder anderweitig verändern. Lediglich der Scope kann angepasst werden. Man muss also vorsichtig sein, damit man nicht zu viel bucht – es ließe sich später nicht mehr reduzieren! (Hinzubuchen weiterer Savings Plans ist hingegen jederzeit problemlos möglich)

Abrechnung von Savings Plans

Wie oben erwähnt, wird jeder Savings Plan einmal im Monat abgerechnet. Dabei werden die monatlichen Stunden mit dem eingezahlten Stundensatz multipliziert (dunkelgrüne Zeile – hier wurde lediglich ein Betrag von 0.001 USD pro Stunde eingezahlt – das entspricht 0.65 EUR).

Am 15.10.2024 wurde dann eine D12 VM durch den Savings Plan teilweise abgedeckt – konkret hat man dafür 0.115h erhalten, die VM hat einen Savings-Plan-Stundenpreis von 0.379 USD. Die restlichen 23.884h des Tages wurden dann zum regulären Preis von 0.557 USD bezahlt.

Ab wann lohnt es sich?

Auch hier wollen wir uns die Frage stellen, ab wann sich ein Savings Plan lohnt. Es gelten die selben Annahmen / Bedingungen wie im Artikel zu den Reservierungen beschrieben.

Beginnen wir mit dem einfacheren Fall eines 24/7 Betriebes und der Frage, nach wie vielen Monaten sich der Savings Plan „gelohnt hat“ (also die Gesamtkosten durch den Savings Plan geringer sind, als wenn die Laufzeit zum regulären Pay-per-Use Preis bezahlt worden wäre).

Wir können sehen, dass auch hier das Bild über die 3 VM-SKUs ziemlich gleich ist. Dabei

  • …lohnt sich der einjährige Savings Plan nach ca. 9-10 Monaten…
  • …lohnt sich der dreijährige Savings-Plan nach ca. 19-20 Monaten…

…im Vergleich zu Pay-per-Use.

Im Vergleich zwischen durchgehendem dreijährigem Savings Plan und einjährigem Plan plus Restzeit mittels Pay-per-Use ist der dreijährige Plan nach ca. 22-23 Monaten günstiger.

Wenn man in Betracht zieht, 2 Jahre hintereinander einen einjährigen Plan zu buchen, dann lohnt sich das in der Regel ab 19 Monaten (gelb markiert) im Vergleich zu Pay-per-Use. Und dann ist der 3-jährige Plan auch erst nach ca. 26 Monaten die bessere Option – bis dahin wären 2 Jahre im einjährigen Plan und der Rest in Pay-per-use günstiger. Jedoch lohnen sich im Vergleich zum nur für ein Jahr laufenden einjährigen Plan die 2 Jahre erst nach ca. 22 Monaten (Summe der beiden dunkelgrünen Felder und deren Monate vs. gelbe Felder)!

Man könnte also sagen:

  • Bei einer geplanten Laufzeit ab ca. 26 Monaten ist der beste Weg der Savings Plan für 3 Jahre
  • Bei einer geplanten Laufzeit zwischen 22 und 25 Monaten ist es sinnvoll, 2 Jahre lang einen einjährigen Plan zu buchen
  • Bei einer geplanten Laufzeit zwischen 10 und 21 Monaten bucht man einen einjährigen Plan für ein Jahr – den Rest der Laufzeit zahlt man dann einfach per Pay-per-Use
  • Bei einer geplanten Laufzeit von 9 Monaten oder weniger ist Pay-per-Use der besser Weg

Wenn wir uns nun der zweiten Frage, nämlich ab wie vielen Stunden täglichen Betriebes über die gesamte Laufzeit sich welcher Plan lohnt, dann sieht es folgender Maßen aus:

Hier können wir sehen, dass…

  • …es für einen einjährigen Plan ca. 18h…
  • …es für einen dreijährigen Plan ca. 13h…

…täglich sein müssten.

Auch hier gilt also, dass man problemlos auch dann noch gut mit einem Savings Plan fährt, wenn man die Systeme für einige Stunden am Tag ausschaltet („Snoozing“), vor allem beim dreijährigen Plan. Denn in dieser Zeit spart man dann ja auch noch zusätzlich die Kosten für etwaige Betriebssystem-Lizenzen, wenn diese nicht durch Hybrid Benefit abgedeckt sind.

Weiterhin gilt auch hier, dass, sobald wir mehr als nur das eine angenommene System haben, die Amortisierung in der Regel noch früher eintritt. Dennoch rate ich auch beim Savings Plan dazu, nicht alle vorhandenen Systeme damit abzudecken, um noch etwas Flexibilität zu erhalten!

Fazit

Mit Savings Plans lassen sich im Vergleich zu Pay-per-Use gute Ersparnisse erzielen. Auch wenn die Rabatte im Vergleich zu Reservierungen zum Teil deutlich geringer sind – man bekommt dafür etwas mehr Freiheiten bei der Nutzung. Und auch wenn man sich nicht auf eine konkrete VM-SKU festlegen muss – eine Optimierung (insbesondere Rightsizing) sollte vor dem Buchen der Savings Plans erfolgen, damit man keine zu hohen Beträge verbindlich fixiert, unter die man dann später auch durch Optimierungen nicht mehr drunter kommt.

Schreibe einen Kommentar...