Kostenfalle Cloud Sieben Tipps und Tücken der Cloud-Kostenoptimierung

Ein Gastbeitrag von Thomas Köppner*

Anbieter zum Thema

Kostenmanagement für Multicloud-Umgebungen ist eine Kunst für sich. Viele Möglichkeiten helfen bei der Optimierung – wenn sie richtig verstanden und eingesetzt werden. Worauf es ankommt und welche Kriterien dabei wesentlich sind, klärt dieser Artikel.

Cloud-Kosten können schnell durch die Decke gehen. Eine Optimierung ist möglich, will aber wohl durchdacht sein.
Cloud-Kosten können schnell durch die Decke gehen. Eine Optimierung ist möglich, will aber wohl durchdacht sein.
(Bild: gemeinfrei / Pexels)

Bei Cloud-Kosten ist es wie manchmal im Leben: So in etwa weiß man schon, wie es eigentlich besser ginge. Aber erstens muss man es auch tun und zweitens genau verstehen, wie.

Rechnungs- und Nutzungsanalysen, Empfehlungen und Übersichten in Dashboards – Tools für die Cloud-Kostenoptimierung sind vorhanden und können vieles vereinfachen. Doch um Multicloud-Ökosysteme auf effiziente Weise wirtschaftlich zu steuern, braucht es eine Provider-übergreifende Sicht und Automatisierung für das Cloud-Finanzmanagement. Um diese Möglichkeiten auch auszuschöpfen, hat Apptio aus der Projektpraxis eine Guideline für die sieben wichtigsten Stellschrauben entwickelt.

Sie zeigt, worauf Maßnahmen zur Cloud-Kostenoptimierung genau abzielen, wo die Tücken liegen und wie automatisierte Analysen wirkungsvoll eingesetzt werden.

1. Discount-Modelle – Puzzlespiel der Rabatte und Laufzeiten

Mit den Rabattmodellen der Provider – Reserved Instances, Savings Plans oder Committed-Use-Discounts – legt man sich auf eine bestimmte Abnahme von Cloud-Services oder Nutzung von Cloud-Instanzen für ein oder drei Jahre fest. Dafür erhält man in diesem Zeitraum für den abgeschlossenen Umfang günstigere Konditionen. Für alles darüber hinaus muss der teurere „On-Demand“-Preis bezahlt werden.

Hier gilt es, nicht in ein Over-Commitment zu verfallen. Gemeint ist, nicht zu viel Vorab-Rabatte zu kaufen, die dann gar nicht genutzt werden. Auch das andere Extrem ist nicht empfehlenswert: Keine Verpflichtungen einzugehen, weil man nicht sicher vorhersagen kann, ob man dieses auch wirklich voll ausschöpfen wird.
Meistens ist es günstiger, ein paar Commitments abzugeben, auch wenn sich davon einige nicht rechnen, als gar keine einzugehen und immer den teuersten On-Demand-Preis zu zahlen.

Wer jeden Monat ein paar davon abschließt, kann auch jeden Monat deren Umfang nach oben oder nach unten anpassen. Und wer die Laufzeiten dieser Buchungen im Blick hat, kann nahtlos weitere Vereinbarungen mit den günstigsten Preismodellen anschließen.

So sollten Tools für das Cloud-Commitment-Management zum einen in der Lage sein, anbieterübergreifend die aktuell laufenden Discount-Vereinbarungen im Unternehmen abzubilden und Vergleiche für Anschlussverträge zu unterstützen. Zum anderen sind automatisierte, rechtzeitige Benachrichtigungen an die Verantwortlichen wichtig, bevor Cloud-Commitments auslaufen.

2. Rightsizing – handeln, und zwar an der richtigen Stelle

Es gibt eine Reihe von Tools, die mehr oder weniger gute Vorschläge zur Dimensionierung von Cloud-Instanzen liefern, so dass sie für die tatsächliche Nutzung die richtige Größe haben. Das Problem: Jemand muss das auch umsetzen.

Praktikabel wird Rightsizing erst mit weitreichenderen Lösungen: Zuerst sollten automatisiert anhand der Cloud-Rechnungsdaten die gebuchten Cloud-Services ermittelt und diese mit Monitoring-Daten kombiniert werden. Daraus wird klar, was zu groß dimensioniert oder überhaupt nicht genutzt wurde. Dann müssen Tickets generiert werden – zum Beispiel in Jira – mit Empfehlungen in den jeweiligen Projekten. So können DevOps-Teams deren Umsetzung in ihren Sprints einplanen.

Wird der Status zurück synchronisiert, ist ersichtlich, was bereits umgesetzt wurde. Idealerweise errechnet die Rightsizing-Lösung daraus die erzielten Einsparungen und welches Potential noch offen ist.

3. Elastizität – ausdehnen und schrumpfen, je nach Bedarf

Eine Besonderheit der Cloud im Vergleich zum Rechenzentrum ist die Elastizität. Sie ermöglicht es, aus der Analyse des Nutzungsverhaltens Cloud-Ressourcen knapp zu beauftragen und für Lastspitzen auf die Elastizität zu setzen. Dazu lohnt sich ein Austausch mit allen Beteiligten aus der Cloud-Architektur und dem Business: Wann sind hohe Spitzenlasten zu erwarten, technisch wie auch geschäftsbedingt.

Statt die Cloud-Infrastruktur dauerhaft für die Maximal-Last auszulegen, ist es besser, die Cloud-Infrastruktur für die Grundlast auszulegen. So zahlt man dann nicht für jede Minute, sondern kann nur bei erwarteten Spitzen Cloud-Ressourcen aufstocken. Hier kann es sinnvoll sein, Compute-Kapazitäten vorab zu reservieren. Man spricht auch von Capacity Reservation – nicht zu verwechseln mit dem Rabattmodell Reserved Instances aus vorherigem Abschnitt.

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Umgekehrt können auch nicht genutzte Instanzen abgeschaltet werden und somit bis zu der Hälfte oder mehr an Kosten eingespart werden. Gemeint sind zum Beispiel nicht-produktive Umgebungen am Wochenende oder in der Nacht.

Eine weitere Möglichkeit der Elastizität ist das Autoscaling.

4. Autoscaling – sparsam, aber auf alles vorbereitet

Über die Funktion Autoscaling können erforderliche Cloud-Kapazitäten anhand von vorab definierten Regeln automatisch angepasst werden. Wenn gerade wenig zu rechnen ist, genügen geringe Rechenkapazitäten. Stehen rechenintensive Aufgaben an, wird Kapazität spontan erhöht. Eine Autoscaling-Gruppe definiert Minimum und Maximum der benötigten Kapazität, welche Instanz-Typen verwendet werden sollen und wie skaliert wird.

Die Skalierung kann manuell erfolgen, zeitgesteuert oder automatisch basierend auf Applikations-spezifischen Metriken oder anhand von Vorhersagen. So stellt man bedarfsorientiert und kosteneffizient die Verfügbarkeit von Services und zuverlässige Performance-Levels sicher.

Obwohl moderne Architekturen meist ein Autoscaling erlauben, ist doch im Einzelfall zu klären, welche Anwendungen hierfür geeignet sind. Die Anwendung muss zumindest Load-Balancing unterstützen, so dass die Last auf mehrere Compute-Instanzen verteilt werden kann. Anwendungen, die ein stabiles und wiederkehrendes Muster im Lastaufkommen zeigen, abhängig von der Uhrzeit, dem Wochentag oder der Kalenderwoche, sind sehr gute Kandidaten für Autoscaling. Auto-Scaling-Gruppen können sowohl mit On-Demand-Ressourcen als auch mit Spot-Instanzen bestückt werden, siehe dazu auch der nächste Abschnitt.

5. Spot Instances – lohnenswerter Zusatzaufwand

Spot-Instanzen bieten eine besonders attraktive Kostenstruktur. Allerdings sind sie nicht garantiert: Der Provider kann die Instanz jederzeit beenden, wenn er diese etwa zur Absicherung eines Workloads an anderer Stelle benötigt. Typischerweise gibt es eine zwei-minütige Warnung, bevor die Instanz abgeschaltet wird. Es ist sozusagen eine Wette auf freie Kapazitäten in der Cloud.

Damit ist klar: Das ist nicht für jede Anwendung geeignet. Wofür bieten sich Spot-Instanzen an?

  • Rechenintensive Aufgaben, die jederzeit unterbrochen und wieder fortgesetzt werden können: Batch-Jobs, Compiler-Läufe oder Lernvorgänge für Künstliche Intelligenz, aufwändige Video- oder Bildbearbeitungsprozesse, wissenschaftliche Berechnungen oder Simulationen, rechenintensive Finanzanalysen und Modelle
  • Verteilte Datenbanken, die auch dann die Daten speichern, wenn einzelne Instanzen neu gestartet werden
  • Big Data: Alle Arten der Massendatenverarbeitung
  • Testing: Lasttests, Regressionstests, Sicherheitstests oder Tests mit Massendaten

Der Lohn für den Aufwand: Spot-Instanzen sind für bis zu einem Zehntel des Preises im Vergleich zu On-Demand-Ressourcen zu haben. Da lohnen sich Tools, die die Cloud-Nutzung bezüglich Spot-, Reserved Instances, Savings Plan und On-Demand-Usage visualisieren. Sie helfen zu verstehen, welche Workloads geeignet sind und wie die Spot Instances, die Provider nach unterschiedlichen Regelungen zur Verfügung stellen, am besten eingesetzt werden können. Wichtig ist dafür aber auch ein System für das Management unterbrochener Spot-Instance-Workloads.

Bildergalerie

6. Waste Management – ausmisten, aber mit Vorsicht

Im Waste-Mangement geht es darum, ungenutzte Cloud-Ressourcen zu identifizieren und unnötige Ausgaben zu vermeiden. Klingt zunächst einfach – aber: Welche Ressourcen tatsächlich nicht benötigt werden, lässt sich bei typischerweise mehreren hunderttausend Cloud-Ressourcen nicht manuell herausfinden.

Aus dem Vergleich von Rechnungsdaten mit Monitoring-Daten weisen Tools potenziell überflüssige Cloud-Ausgaben aus. Zudem sind unter allen hunderttausenden Cloud-Ressourcen diejenigen erkennbar, die in der Nacht oder am Wochenende nicht benötigt werden. Dabei kann man auch zwischen produktiven und nicht-produktiven Umgebungen unterscheiden.

Doch Achtung: Nicht oder kaum genutzte Cloud-Instanzen beziehungsweise Cloud-Services sollten nicht einfach automatisch abgeschaltet, sondern Hinweise dazu in den passenden Projekten als Tickets angelegt werden. Nur die Cloud-Architekten und DevOps-Teams können fundierte Entscheidungen darüber treffen, welche Cloud-Services tatsächlich überflüssig sind und welche nicht. Selbst wenn ein Monitoring anzeigt, dass sie kaum genutzt sind: Womöglich drohen Produktionsausfälle, wenn ohne nähere Kenntnis der Zusammenhänge und der Architektur einzelne Cloud-Instanzen beziehungsweise Services nicht verfügbar sind.

7. Workload-Management – Vergleichbarkeit schaffen

Die Kosten für virtuelle Maschinen sind bei einzelnen Providern sehr unterschiedlich. Auch die Bezeichnung der Workloads in der Cloud, die Angebote und Konfigurationen der Cloud-Provider variieren deutlich. Das macht es schwierig, Angebote zu vergleichen.
Doch der Preis für Workloads ist nicht der einzige Grund, sich für einen Anbieter zu entscheiden. Durch vorgefertigte Cloud-Services versuchen Cloud-Provider, Kunden an ihre Cloud-Plattform zu binden. Und tatsächlich ist deren Nutzung attraktiv, da sich der Anbieter um Wartung und Aktualisierung kümmert.

Als Entscheidungshilfe können Tools anzeigen, welche Cloud-Instanzen am ehesten zur Abdeckung eines bestimmten Workloads in Frage kommen. Meistens gibt es zwischen 40 und 50 ähnlich geartete Konfigurationen, die prinzipiell geeignet sein könnten. Wenn das Tool die Konfigurationen noch bestehender On-Premises-Server kennt, kann man darüber hinaus auch ermitteln, durch welche Cloud-Instanzen sie ersetzt werden könnten. Das ermöglicht Vergleiche, welche Cloud-Angebote am besten geeignet sind – auch, aber nicht nur bezüglich des Preis-Leistungs-Verhältnisses.

Transparenz schafft verantwortungsvollen Umgang

Wichtig ist: Neben allen Cloud-Kosten-Optimierungen braucht es einen verantwortungsvollen Umgang mit Ressourcen in der Cloud. Im ersten Schritt schafft man das dafür nötige Verantwortungsbewusstsein durch Kostentransparenz und verursacher-gerechte Zuordnung. Die Teams müssen verstehen, welche Kosten sie durch ihre Art der Cloud-Nutzung verursachen und was die zentralen Kostentreiber sind.
Im zweiten Schritt kann man die Kosten nicht nur aufzeigen, sondern auch über eine interne Kostenverrechnung den Teams in Rechnung stellen.

Wenn eine kosteneffiziente Nutzung der Cloud zu den Zielen zählt, werden diese Kosten nicht mehr ungebremst steigen. Stattdessen kann man dort in Cloud-Services investieren, wo der Business-Nutzen die Ausgaben rechtfertigt.

Kosten-Nutzen-Verhältnis beachten

Die Erfolgsbewertung von Cloud-First-Strategien wird erheblich von den Public-Cloud-Kosten beeinflusst. Sie immer besser zu verstehen und das Cloud-Financial-Management mehr und mehr direkt auch in den DevOps-Teams zu verankern, ist ein wichtiger Prozess. Denn ihre Expertise ist entscheidend, um mit Cloud-Infrastrukturen nicht nur ein zuverlässiges, sondern auch wirtschaftlich tragfähiges Modell für das operative Geschäft zu schaffen.

* Thomas Köppner arbeitet als Solution Consultant bei Apptio.

(ID:48523127)