Platform Engineering: Die Basis für FinOps Shift Left

Wie eine Plattformstrategie hilft, FinOps-Praktiken schon vor dem ersten Deployment umzusetzen.

Platform Engineering: Die Basis für FinOps Shift Left

FinOps wird heutzutage in den meisten Unternehmen als nachgelagerter Kontrollmechanismus gelebt, um Kapazitätsreservierungen zu verwalten, oder auf Kostenanomalien zu reagieren. Aktive Maßnahmen greifen meist auf Ebene der Softwarearchitektur. Platform Engineering schafft durch die Zentralisierung und Standardisierung von Workflows einen idealen Ansatzpunkt, um FinOps-Instrumente und Governance-Werkzeuge in die gesamte Software-Landschaft zu integrieren.

Was hinter Platform Engineering steckt

Platform Engineering ist eine Disziplin, die in Organisationen vorhandenes Wissen und Standards um Softwareentwicklungsprozesse zentralisiert und allen Teams sichtbar und im Self-Service zugänglich macht. Ziel ist unter anderem die Reduktion kognitiver Last für Entwicklungsteams, damit diese auf Businesslogik zu konzentrieren können, sowie die Beschleunigung der Entwicklung neuer Features, durch die Minimierung von Undifferentiated Heavy Lifting innerhalb der Organisation.

Platform Engineering hat hierbei explizit nicht das Ziel, allen Teams eine Standardlösung aufzuzwingen, sondern Best Practices als sogenannte Goldene Pfade zusammenzufassen, von denen Entwicklungsteams durchaus abweichen können, sollte ihr Softwareprodukt davon profitieren. Diese Goldenen Pfade werden in einem Service Catalog zusammengefasst und in Form einer, durch das Plattformteam verwalteten, sogenannten Internal Developer Platform den Entwicklungsteams sichtbar und zugänglich gemacht.

Wie FinOps und Platform Engineering voneinander profitieren

Platform Engineering schafft eine technische Grundlage, um FinOps-Praktiken weit vorne im Lebenszyklus von Softwareprodukten zu verankern und Teams dadurch von Anfang an Werkzeuge zur selbständigen Kostenkontrolle in die Hand zu geben.

Plattformstandards für bessere Sichtbarkeit

Eine gut konzipierte Plattform vereinheitlicht die Wege auf die Zielumgebung - seien es Hyperscaler, Kubernetes, oder einfach das eigene Rechenzentrum. Dadurch kann eine konsistente und effiziente Tagging- und Metadatenstrategie für jede bereitgestellte Ressource aktiviert werden. Das Team wählt den Goldenen Pfad und Kostenstellen, Verantwortlichkeiten, Umgebungen und weitere wichtige Informationen werden durch die Plattform an alle Ressourcen geheftet - auch über einen Cloudanbieter hinaus.

Dies versetzt das Plattformteam in die Lage, den Entwicklungsteams ein stets aktuelles Dashboard bereitzustellen mit den aufgeschlüsselten Abrechnungsdaten ihrer genutzten Services, über mehrere Clouds, SaaS-Anbieter oder interne Rechenzentren hinaus.

Automatisierte Governance statt Genehmigungsprozessen

Softwareentwicklung erfordert Geschwindigkeit. Das passt nicht zusammen mit langwierigen Genehmigungsprozessen durch traditionelle Buchhaltungsabteilungen und Gremien. In einer zentralen Plattform lassen sich Projekte anhand von bekannten Budgetgrenzen automatisch genehmigen, nur Überschreitungen müssen von den nötigen Verantwortlichen genehmigt werden - und die Plattform kann diese Genehmigungsanfragen auch noch automatisch stellen.

Kleine Optimierung, Großer Hebel

Durch eine zentrale Plattform können auch kleine Änderungen große Wirkung allein dadurch entfalten, dass sie auf viele Produkte in der Unternehmenslandschaft ausgerollt werden können: Lifecycle-Policies für Storage, automatische Abschaltung von Testumgebungen außerhalb der Geschäftszeiten, oder neue, günstigere Instanztypen für VMs.

Saubere Observability überall hilft auch der Kostentranpsarenz

Mit einheitlich über die Service ausgerollten Observabilitylösungen, lassen sich auch FinOps-relevante Signale ausrollen, verbessern und flächendeckend auswerten.

  • Unit Economics: Über die Plattform lassen sich flächendeckend Systeme zur Messung von Cost-per-Request, oder Cost-per-Transaction ausrollen und ermöglichen dem FinOps-Team direkten Einblick in die Ressourceneffizienz.
  • Korrelation von Performance und Ressourceneffizienz: Eine zu klein dimensionierte Ressource an einer Stelle im System kann ein Bottleneck bilden, das das Gesamtsystem soweit verlangsamt, und damit die Gesamtkosten durch länger ungenutzt wartende nachgelagerte Ressourcen in die Höhe treiben. Ein konsequent ausgerolltes Monitoring kann diese Bottlenecks mit den Gesamtkosten des Systems korrelieren und so ein besseres Gesamtbild der Softwarelandschaft liefern.
  • Konsequent ungenutzte Kapazitäten ausmachen: Mit guter Observability lässt sich die Auslastung bestellter Ressourcen detailliert messen und vom Entwicklugnsteam selbst nachbessern. Niedrige Auslastung von durch die Plattform bereitgestellten Ressourcen lassen sich vom Team in angepasste Sizings und somit wieder umgesetzte Ersparnisse auf Organisationsebene umsetzen.

Die standardisierte CI/CD-Pipeline als Plattformorchestrator

Die meisten dieser Funktionen können bereits heute mit der in den meisten Unternehmen befindlichen CI/CD-Lösung, also etwa Gitlab CI, Github Actions oder Azure DevOps umgesetzt werden. Vom Plattformteam gepflegt, kann eine CI/CD Pipeline zahlreiche Standard-Compliance- und Governanceaufgaben für alle Teams erledigen.

Automatisierte Policy-Gates

Die CI-Pipeline kann als Gatekeepr auch Finops-Ziele im Auge behalten.

  • Budget-Checks: Mit Tools wie etwa Infracost, lassen sich die durch Deployments verursachten Cloudkosten abschätzen, bevor das Deployment erfolgt, Damit können etwa Deployments, die Teambudgets überschreiten, geblock oder erst nach Freigabe durch Verantwortliche ausgerollt werden.
  • Rightsizing-Checks: Deployments, die überdimensionierte Ressourcen anfordern, oder große Kostenänderungen nach sich ziehen würden, können für zusätzliche Freigabe zurückgehalten werden.
  • Zugriffsrechte: Automatisch vor dem Deployment sicherstellen, dass IAM-Richtlinien möglichst exakt gesetzt sind und keine unnötig breiten Zugriffsrechte gewähren.

Umgebungsspezifische Optimierungen

Mit standardisierten Rollout-Prozessen für Entwicklungsumgebungen kann in der Pipeline das Sizing für Entwicklungsumgebung vorgenommen werden.

  • Verkleinerte Instanztypen: In Entwicklungsumgebungen können automatisch kleinere Instanztypen für verschiedene Ressourcen ausgerollt werden. Je nach Situation kann auch entschieden werden, Datenbankinstanzen zwischen mehreren Deployments zu teilen, oder die Datenbanken kostengünstig als Container statt als volle Instanz zu deployen.
  • Abschalten von Redundanzen: High-Availability-Maßnahmen, wie etwa redundante Deplyoments, oder Multi-AZ-Failover-Umgebungen für Datenbanken sind für Entwicklungsumgebungen selten notwendig. Die Pipeline kann sicherstellen, dass dort ohne Redundanz ausgerollt wird.
  • Zeitgesteuerte Shutdowns: In der Pipeline können für Entwicklugnsumgebung direkt automatisierte Jobs mitdeployed werden, die Entwicklugnsumgebungen nach Ende des Geschäftstages herunterfahren und morgens vor Arbeitsbeginn wieder starten, um Geld zu sparen.

Optimierung der Pipeline selbst

Durch Instrumentierung der CI-Pipeline selbst kann das Plattformteam deren Ressourcennutzung direkt messen und ineffiziente Prozesse, wie etwa lange wartende Instanzen sichtbar machen und wegoptimieren. Oft helfen genau diese Optimierungen auch, die Pipelinelaufzeit zu verkürzen und geben damit den Entwicklungsteams Wartezeit zurück.

Fazit: Die Organisation profitiert, wenn FinOps beim Platform Engineering mitgedacht wird.

Proaktive Integration von FinOps-Gedanken und -Prozessen auf Plattformebene nützen der Organisation auf mehreren Ebenen.

  • FinOps Teams bekommen flächendeckenden Einblick in die Ressourceneffizienz der Organisation und können FinOps-Governanceprozesse innerhalb der Plattform automatisieren. Dies befähigt FinOps-Teams, proaktiv zu handeln, anstatt nur auf bereits
  • Platform Teams bekommen von den FinOps-Teams aufbereitete Daten und können damit auf Plattformebene die Ressourceneffizienz im großen Stil optimieren.
  • Entwicklungsteams erhalten über mit FinOps-Lösungen augmentierte Goldene Pfade Abkürzungen zu langwierigen Prozessen und Überblick, sowie notwendige Informationen über die Kosten und Effizienz der Systeme unter ihrer Verwaltung.

Dadurch lohnt es sich auf mehreren Ebenen, FinOps in der Plattformstrategie des Unternehmens mitzudenken.

Sie möchten FinOps-Prinzipien in Ihrer Platform-Strategie verankern? Wir unterstützen Sie dabei, Kosteneffizienz bereits im Design Ihrer Internal Developer Platform mitzudenken – von der Tagging-Strategie bis zur automatisierten Budget-Governance. Lassen Sie uns in einem unverbindlichen Gespräch herausfinden, welche Quick Wins sich in Ihrer Organisation realisieren lassen.

Kai Herings

Kai Herings

Leitender Berater

Optimieren Sie die Abstimmung zwischen IT und Geschäft mit Expertenrat und klaren Strategien.