Was ist FinOps?

Keine Kommentare

Die Public Cloud ist eigentlich eine grandiose Sache. Mit wenig Aufwand kann man sich sehr schnell seine Umgebungen erstellen, ohne dass man an langwierige Bestellprozesse gebunden ist. Dies ermöglicht eine deutliche Beschleunigung von Entwicklung und Innovationen. Der einzige Wermutstropfen ist allerdings oft die Rechnung am Ende des Monats. Diese ist oft am Anfang schwer abschätzbar und sorgt entsprechend für schlechte Stimmung, sollte sie mal wieder zu hoch für das aktuelle Budget gewesen sein. Inwieweit FinOps hier helfen kann, wollen wir in diesem Blogpost vorstellen.

Problem Cloud-Kosten

Wenn man sich die Probleme genauer anschaut, sind diese oft in vielen Organisationen ähnlich. Zum Beispiel sind es viele Engineering Teams nicht gewohnt, mit dem Thema Kosten kontinuierlich umzugehen. So lange man sich im eigenen Rechenzentrum bewegt, ist die Beschaffung von Ausrüstung ein vorgelagerter Prozess. Dabei schätzt oder rät man vor dem eigentlichen Projekt eine ungefähr nötige Kapazität ab und plant einen großzügigen Puffer ein. Wenn man die Ressourcen dann in der Hand hat, sind diese durch den Einkauf und weitere Prozesse gegangen und der Betrieb ist im Budget eingeplant. Weitere Gedanken muss man sich dann nur selten machen.

Ganz anders in der Cloud. Hier werden die genutzten Ressourcen nach Bedarf abgerechnet und ob man ein vorher festgelegtes Budget dadurch sprengt wird leider erst retroaktiv ersichtlich. Dies birgt auch für die Finanzabteilungen eine Umstellung, da sich ein Grossteil der Kosten von Investitionen (CapEx) zu laufenden Kosten (OpEx) verschiebt. Diese Umstellung muss natürlich erstmal von allen Beteiligten mit Leben gefüllt und dabei Erfahrungen gesammelt werden.

Wie wir in unserem Cloud Frühjahrsputz gezeigt haben, gibt es einige Möglichkeiten kurzfristig Geld zu sparen, vor allem, wenn in den letzten Monaten die Rechnung doch mal wieder etwas höher als erwartet ausgefallen ist. Aber es stellt sich natürlich die Frage, wie man verhindert, dass dies die Regel ist und die Kosten immer weiter davon laufen.

FinOps

Eine immer populärer werdende Methodik ist FinOps, welches wir hier im Blog in einer mehrteiligen Serie vorstellen wollen.
Ähnlich wie bei den ursprünglichen Gedanken hinter der DevOps-Bewegung geht es auch bei FinOps darum, Silos innerhalb der Organisation zu überwinden. Dies ermöglicht es, ein besseres Verständnis zu erreichen, welche Kosten wo entstehen, und daraus sinnvolle Entscheidungen auf der Geschäftsseite abzuleiten.

FinOps beschreibt dabei kein spezielles Tool oder definierte Prozesse, wie die Verwaltung einer Public Cloud auszusehen hat. Viel mehr ist es eine Sammlung an konkreten Praktiken mit welchen man die eigenen Arbeitsweisen und Prozesse so anpassen kann, dass mit dem ausgegebenen Geld maximaler Wert geschaffen werden kann.
Als Treffpunkt für die Community rund um diese Themen hat sich dabei die FinOps Foundation etabliert. Diese herstellerunabhängige Organisation stellt dabei einen Rahmen für einen Firmen übergreifenden Austausch bereit und sammelt entsprechende Beispiele und Praktiken. Mittlerweile ist die Stiftung unter das Dach der Linux Foundation geschlüpft und arbeitet mit dieser daran, das Feld weiter zu professionalisieren.

Prinzipien

Aus der Community haben sich sechs Prinzipien für die Nutzung von FinOps entwickelt. Diese sind:
Teams brauchen Zusammenarbeit: FinOps strebt eine kulturelle Änderung bei der Arbeit rund um das Thema Cloud an. Von daher müssen Teams, die bisher eher selten zusammengearbeitet haben, an einen Tisch. Wenn die Beteiligten miteinander arbeiten, erhöht dies den Erfolg einer solchen Initiative.

Entscheidungen werden durch den Geschäftswert der Cloud getrieben: FinOps dreht sich nicht primär darum, die Rechnung möglichst zu minimieren. Stattdessen wird versucht, den durch die Nutzung der Cloud geschaffenen Wert zu maximieren. Dazu müssen den Beteiligten neben den Kosten auch Informationen über die erzeugten Einnahmen zugänglich sein.

Jeder übernimmt die Verantwortung für die Kosten seiner Cloud-Nutzung: Da in der Cloud nach Nutzung abgerechnet wird, ist es deutlich einfacher, die entstandenen Kosten dem Verursacher zuzurechnen. Dieser ist dann natürlich der Organisation gegenüber Rechenschaft über den geschaffenen Wert schuldig.

FinOps-Berichte sollten zeitnah und leicht zugänglich sein: FinOps basiert darauf, dass Entscheidungen datengetrieben passieren. Dazu ist es nötig, dass alle Beteiligten zeitnah in der Lage sind, den aktuellen Zustand wahrzunehmen. Dies gilt vor allem in einer Umgebung, in der nach Stunden oder Minuten abgerechnet wird.

Ein zentrales Team treibt FinOps: Eine kulturelle Änderung in einer Organisation kann oft am besten durch Vorbilder passieren. Daher sollte FinOps durch ein zentrales Team getrieben werden, das alle Beteiligten an einen Tisch bringt ohne dabei die Freiheiten der operationalen Teams zu beschneiden. Es dient hier vor allem als Moderator und Coach.

Nutze das variable Preismodell der Cloud: Ein Vorteil der datengetriebenen Entscheidungen ist, dass man bereits jede Menge Daten über die aktuelle Nutzung vorliegen hat. Anstatt zukünftige Entwicklungen zu raten, ist es daher sinnvoller, diese Daten zu nutzen um die Kosten für den aktuellen Footprint zu reduzieren, um in Zukunft flexibel zu sein.

Anhand dieser Werte kann sich jede Organisation ein Framework aufbauen, das es ermöglicht, den durch die Cloud geschaffenen Wert zu maximieren ohne die Freiheit oder Geschwindigkeit der operationalen Teams zu beschneiden.

FinOps Lifecycle

Es stellt sich natürlich die Frage: Wie “macht” man FinOps eigentlich? In der Praxis hat sich dabei bewährt, mit der sogenannten Crawl-Walk-Run-Methode vorzugehen. Dies bedeutet, dass man jede Optimierung zunächst langsam beginnt (Crawl). Erst wenn man die Lage vollständig verstanden hat, beginnt man Optimierungen vorzunehmen (Walk) und Änderungen herbeizuführen. Abschließend werden die Tätigkeiten immer weiter verbessert und automatisiert bis sie in “Fleisch und Blut” der Organisation aufgegangen sind (Run).

finops lifecycle

Daraus ist der FinOps Lifecycle entstanden, der dies in die nachfolgende Phasen übersetzt. Um ein Beispiel zu haben, betrachten wir eine Menge von virtuellen Maschinen, die ein Software-System in der Public Cloud betreiben.

Inform: Als erstes stellen wir für jede Maßnahme die Sichtbarkeit der Auswirkungen sicher, dass alle entstehenden Kosten ihrem Verursacher zugeordnet werden können. Dies kann zum Beispiel durch die Zuordnung eines Labels an den jeweiligen virtuellen Maschinen passieren.

Optimize: Nachdem wir sichergestellt haben, dass wir die Auswirkungen ordentlich messen können, fangen wir an zu optimieren. Dies erfolgt im ersten Schritt oft erstmal manuell. Wir prüfen in unserem Beispiel, ob die gewählten Typen an virtuellen Maschinen wirklich ausgenutzt werden. Wenn in diesen nur die Hälfte von CPU oder RAM genutzt wird, wäre es wahrscheinlich sinnvoll, auf einen kleineren Typ zu wechseln.

Operate: Wenn wir die Aktionen aus der Optimize-Phase oft genug gemacht haben, kommt es darauf an diesen Prozess zu verstetigen. So, dass es für die Teams Teil der regelmäßigen Tätigkeiten ist, die Auslastung ihrer virtuellen Maschinen zu prüfen und gegebenenfalls anzupassen. Dies kann und sollte man natürlich durch geeignetes Tooling unterstützen oder sogar automatisieren.

Ausblick

FinOps ist ein sehr interessantes Konzept, das Organisationen helfen kann, die Kosten für ihre Cloud einerseits im Zaum zu halten und auf der anderen Seite einen deutlichen Mehrwert zu generieren. Nachdem diese Folge eher theoretisch ausgefallen ist, wollen wir in Teil 2 uns dem Konkreten zuwenden und schauen, was man praktisch in der Inform-Phase die Sichtbarkeit von Kosten erhöhen kann.

Nicolas Byl

Nicolas Byl sammelte bereits während des Studiums der Medizinischen Informatik erste Erfahrungen im Umfeld Java-basierter Webportale und entdeckte seine Leidenschaft für verteilte Systeme. Bei der codecentric AG beschäftigt er sich mit mit cloud-nativen Infrastrukturen und deren kosteneffizienter Nutzer.

Über 1.000 Abonnenten sind up to date!

Die neuesten Tipps, Tricks, Tools und Technologien. Jede Woche direkt in deine Inbox.

Kostenfrei anmelden und immer auf dem neuesten Stand bleiben!
(Keine Sorge, du kannst dich jederzeit abmelden.)

* Hiermit willige ich in die Erhebung und Verarbeitung der vorstehenden Daten für das Empfangen des monatlichen Newsletters der codecentric AG per E-Mail ein. Ihre Einwilligung können Sie per E-Mail an datenschutz@codecentric.de, in der Informations-E-Mail selbst per Link oder an die im Impressum genannten Kontaktdaten jederzeit widerrufen. Von der Datenschutzerklärung der codecentric AG habe ich Kenntnis genommen und bestätige dies mit Absendung des Formulars.

Kommentieren

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.