Finops-Methoden

7 Best Practices, um Cloud-Kosten zu senken

06.02.2024
Von 


Isaac Sacolick ist Autor des Amazon-Bestsellers "Diving Digital: The Leader's Guide to Business Transformation thourh Technology". Er schreibt als freier Autor unter anderem für unsere US-Schwesterpublikation CIO.com.

 
Diese Finops-Best-Practices unterstützen Sie dabei, in Sachen Cloud-Kosten besser respektive vorausschauend zu planen.
Wie gelassen blicken Sie Ihrer nächsten Cloud-Rechnung entgegen?
Wie gelassen blicken Sie Ihrer nächsten Cloud-Rechnung entgegen?
Foto: Ilija Erceg - shutterstock.com

Manche Devops-Teams sehen davon ab, ihre Anwendungen unter Kostengesichtspunkten zu optimieren, bis überraschend hohe Rechnungen aufschlagen beziehungsweise die Cloud-Kosten schneller steigen als erwartet. Andere wiederum berücksichtigen Kosten für Betrieb und Skalierung der Infrastruktur bereits in der Entwurfs- und Planungsphase eines Projekts. Manche (in der Regel größere) Unternehmen gehen noch einen Schritt weiter und schaffen eine Finops-Rolle, um diesen Prozess und die Auswahl ihrer Cloud-Architektur zu steuern.

Im Wesentlichen geht es bei Finops darum, die Kosten für Public-Cloud- und Data-Center-Infrastrukturen zu zentralisieren - also eine einheitliche Sicht auf den Verbrauch zu schaffen, um Kostenprognosen zu ermöglichen. Mit Finops-Plattformen lassen sich auch bestimmte Prozesse zentralisieren - etwa, nicht ausgelastete Ressourcen herunterfahren. Darüber hinaus bieten sie im Regelfall auch Tools, um Cloud-Native-Stacks für neue Projekte zu katalogisieren und auszuwählen.

In diesem Artikel werfen wir - gemeinsam mit einigen Experten - einen Blick auf sieben Best Practices im Bereich Finops, die in der Planungs- und Entwicklungsphase von Anwendungen Berücksichtigung finden sollten.

Finops: 7 Best Practices

Devops-Teams müssen heutzutage mit enorm hohem Druck umgehen, wenn es darum geht, Applikationen zu erstellen und zu modernisieren. Geschieht das, ohne die laufenden Cloud-Kosten zu berücksichtigen, sind technische Schulden und steigende Kosten oft das Resultat. Die folgenden Best Practices können Ihnen helfen, diese Fallstricke in jeder Phase des Software Development Lifecycle zu umgehen.

1. Cloud-Kosten managen

"Sehen Sie von Lift-and-Shift-Initiativen ab", empfiehlt Nitha Puthran, Senior Vice President bei Persistent Systems. "Analysieren Sie die Anwendung, um den besten Weg zur Kostenminimierung und Maximierung der Skalierbarkeit zu finden."

Auch Justin Cobbett, Product Marketing Manager bei Akamai, kennt einen sicheren Weg zu geringeren Kosten, mehr Leistung und weniger Risiko: "Bauen Sie eine Umgebung auf, die auf ihren Anwendungsfal abgestimmt ist und nutzen Sie dabei Multi- oder Hybrid-Cloud-Implementierungen."

Darüber hinaus können Entwickler ihre Ausgaben senken, indem sie:

Geht es um IT Operations, sind Infrastructure as Code und ein optimiertes Störungsmanagement zwei Möglichkeiten, Kosten zu senken beziehungsweise zu managen.

2. Cloud benchmarken

Eine Public-Cloud-Umgebung einzurichten und Anwendungen zu implementieren, ist nicht diffizil. Dabei ist allerdings nicht gesagt, dass es sich auch aus Zuverlässigkeits- und Performance-Perspektive um die optimale Laufzeitarchitektur handelt.

"Entwickler von heute haben die Wahl zwischen einer monolithischen Cloud-Infrastruktur, die sie einschränkt, und den Cloud-Infrastrukturen moderner, modularer IaaS- und PaaS-Anbieter", analysiert Kevin Cochrane, Chief Marketing Officer bei Vultr, und ergänzt: "Diejenigen, die sich für Letzteres entscheiden, können ihre Time to Production verkürzen, den Betrieb rationalisieren und die Cloud-Kosten managen, indem sie nur für die tatsächlich benötigte Kapazität bezahlen."

So kann es zum Beispiel im Fall einer Applikation mit überschaubarer Nutzung günstiger sein, diese auf AWS Lambda mit einer RDS-Datenbank einzurichten, statt sie auf einer reservierten AWS-EC2-Instanz auszuführen. Der Schlüssel für das Devops-Team ist dabei, mehrere Bereitstellungsarchitekturen in Betracht ziehen und bei der Auswahl folgende Aspekte zu berücksichtigen:

  • Performance,

  • Zuverlässigkeit,

  • Skalierbarkeit und Kosten.

3. Observability integrieren

Observability in Anwendungen zu integrieren, ist eine Best Practice, die nicht nur in Sachen Incident Management unterstützt, sondern auch dabei, die Ursachen für Performance-Probleme zu identifizieren.

"Unternehmen setzen zunehmend auf Cloud-basierte Architekturen, die extrem komplex und dynamisch sind. Das erschwert es, zu verstehen, was mit ihren Daten innerhalb der Implementierungen passiert", meint Rohit Choudhary, Mitbegründer und CEO von Acceldata. Er fügt hinzu: "Data Observability kann Unternehmen dabei helfen, die Hauptursachen für Datendiskrepanzen zu identifizieren und die Effizienz und Zuverlässigkeit ihrer Datensysteme zu verbessern. Das senkt die Cloud-Gesamtkosten."

Observability kann dabei auch Informationen über Kosten liefern: Anwendungen mit hoher Ressourcennutzung in Zeiten geringer Nutzung oder mit mehr Datenbank- oder API-Aufrufen als erwartet, können die Rechnung in die Höhe treiben. Das wären gute Gründe, um Code-Optimierungen in Betracht zu ziehen.

Um versteckte Cloud-Kosten aufzudecken und Bereiche mit zu hohen Ausgaben zu identifizieren, hat Travis Greene, Senior Director of Digital Ops Product Marketing bei OpenText, noch eine besondere Empfehlung: "Identifizieren Sie Anomalien mit Hilfe einer Multi-Cloud-Observability-Plattform, verstehen Sie deren Quellen und ergreifen Sie schnell Maßnahmen, um verschwenderische Nutzung zu unterbinden. Das kann Sie vor bösen Überraschungen bei der Rechnungsstellung bewahren, die heute viele Unternehmen plagen."

4. Peaks prognostizieren

Gibt es zu viele Applikationen zu modernisieren, können sich Devops-Teams unter Druck gesetzt fühlen, Anwendungen zu erstellen, zu testen und bereitzustellen - ohne vorher ausreichend Zeit in die Optimierung der Cloud-Infrastruktur gesteckt zu haben. Das kann teure Folgen haben, wie Rich Hoyer, Director of Customer Finops bei SADA, erklärt: "Unternehmen lassen Cloud-Dienste oft rund um die Uhr laufen, auch wenn sie nicht genutzt werden. Ein automatisierter Workload-Plan ist eine der am häufigsten übersehenen Einsparungsmöglichkeiten im Bereich Cloud. Die potenziellen Einsparungen sind überraschend hoch."

McKinsey geht davon aus, dass Unternehmen circa 15 bis 20 Prozent ihrer Cloud-Kosten durch Optimierungen einsparen könnten. Einen guten Startpunkt bilden dabei Metriken zur Anwendungsnutzung.

5. Datenkosten prüfen

Vor dem Deployment einer Anwendung in die Public Cloud abzuschätzen, welche Kosten für die Datenströme zwischen Cloud und Cloud Services anfallen werden, ist sehr schwierig. Im Fall von Applikationen, die SaaS-Tools integrieren, Datentransformationen in Data Warehouses oder Verarbeitungsschritte in IoT-Datenströmen händeln, können diese signifikant ausfallen.

Sean Knapp, Gründer und CEO von Ascend, empfiehlt deshalb: "Vermeiden Sie es wenn möglich, Daten zwischen Clouds zu verschieben und verarbeiten Sie sie dort, wo sie anfallen, indem Sie Push-Down-Datenpipeline-Plattformen verwenden." Der Manager warnt davon abgesehen auch vor einem oft übersehenen Fallstrick, der die Cloud-Kosten potenziell verdreifachen könnte: "Viele Pipeline-Systeme verursachen unnötige Kosten, weil sie Daten nicht selbst inventarisieren. Ändert sich die Pipeline-Logik oder tritt zur Laufzeit ein Fehler auf, muss die gesamte Pipeline erneut ausgeführt werden, um die Konsistenz sicherzustellen."

Sie tun also gut daran, flexible Datenpipelines zu planen, die inkrementelle Aktualisierungen unterstützen.

6. Proprietär nur bei Mehrwert

Public Clouds bieten eine breite Palette von Services und integrierten Funktionen. Die zu nutzen, mag bequem sein und kurzfristige Kostenvorteile bringen, führen aber auch zu einem Vendor Lock-in.

"Die meiste Software, die heute für die Cloud geschrieben wird, nutzt die implementierungsspezifischen Details des jeweiligen Cloud-Anbieters", erklärt Jonathan Oliver, CEO und CTO bei Smarty. "Die Software funktioniert zwar, aber nur für den jeweiligen Cloud-Anbieter. Sie lässt sich nicht ohne großen Aufwand auf einen neuen Cloud-Anbieter portieren."

Bevor Sie sich auf proprietäre Funktionen oder Services einlassen, sollten Sie prüfen, ob der Mehrwert die potenziellen Kosten rechtfertigen kann.

7. Cloud- und Anbieterkosten beobachten

Ihre Cloud-Kosten sollten Sie nicht nur vor sondern auch nach der Bereitstellung im Blick behalten. Ravi Mayuram, Senior Vice President of Products and Engineering bei Couchbase, erklärt: "Entwickler sollten einen vollständigen Überblick über die Ressourcennutzung in der Cloud haben - egal ob es um Storage, Compute, Netzwerk oder Services geht. Das ermöglicht, die Auslastung der Ressourcen richtig einzuschätzen, bevor es zu Kostenüberschreitungen kommt."

Carl Perry, Director of Product Management bei Snowflake, empfiehlt, auch die Performance und das Engagement des jeweiligen Anbieters in den Blick zu nehmen, wenn es darum geht, die Kunden beim Cloud-Cost-Cutting zu unterstützen: "Als Entwickler sollten Sie berücksichtigen, ob eine Cloud-Plattform eine Erfolgsbilanz bei der Kostenreduzierung für Kunden vorweisen kann. Entscheidet man sich für einen Anbieter, der die Performance seines Services kontinuierlich verbessert, sinken die Kosten für die Entwickler im Laufe der Zeit automatisch." (fm)

Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation Infoworld.