Read in English · Leer en español · Lire en français
Abschnitt 10.8 von 10.8 · Mittelstufe · 22 Min. Lesezeit
FinOps, Kostenarchitektur und Anbieter-Lock-in
Videolektion
5 Min. · auf Englisch gesprochen, mit UntertitelnNur anhören (Audio)
Transkript lesen
In der Cloud ist jede Architekturentscheidung auch eine Kaufentscheidung. In dieser letzten Lektion des Kapitels lernen Sie, Kosten als Qualität zu behandeln und Lock-in zu bewerten, statt ihn zu fürchten.
Ein Auto für einen Tag zu mieten ist billig. Drei Jahre lang jeden Tag eines zu mieten ist weit teurer als ein Kauf. Den Motor auf dem Parkplatz laufen zu lassen kostet Kraftstoff für nichts. Und wer eines mit speziellem Ladestecker least, braucht beim Markenwechsel neue Ladegeräte. FinOps ist die Haushaltsbuch-Gewohnheit für die Cloud. Lock-in ist der Spezialstecker: Manche Abhängigkeit lohnt sich, wenn Sie sie bewusst gewählt haben und wissen, wie Sie herauskämen.
FinOps, definiert von der FinOps Foundation, verteilt die finanzielle Verantwortung auf Engineering, Finanzen und Fachbereiche. Im Zentrum steht gemeinsame Verantwortung, kein zentrales Team, das Ausgaben überwacht. Inform macht Kosten sichtbar: Sie werden den verursachenden Teams zugeordnet, den verantwortlichen Teams gezeigt und prognostiziert. Optimise baut Verschwendung ab und verbessert Preise, durch Rightsizing, Zeitpläne, Zusagen und das Umgestalten teurer Pfade. Operate baut die Gewohnheiten auf, die Kosten im Griff halten: Richtlinien, Budgets, Zuständigkeit und Kosten in jeder Designentscheidung. Dann wiederholt sich der Zyklus und reift von Crawl über Walk zu Run.
Eine Cloud-Rechnung, die von achtzigtausend auf hunderttausend im Monat steigt, kann eine Katastrophe oder ein Triumph sein, je nachdem, ob das Geschäft um fünf oder um fünfzig Prozent gewachsen ist. Unit Economics drückt Kosten pro Einheit Geschäftswert aus: bei der Essenslieferplattform die Kosten pro Bestellung. Das trennt Effizienz von Wachstum und gibt Teams ein Ziel, das sie beeinflussen können. Die meisten überraschenden Rechnungen haben wenige Treiber: Datenübertragung, ungenutzte und überdimensionierte Ressourcen, Logging-Volumen, Aufpreise für Managed Services und Speicher, der nie gelöscht wird. Fast alle werden von der Architektur geprägt.
Hier ist ein Tag Rechenlast. Die ständige Untergrenze deckt ein Rabatt für eine ein- oder dreijährige Nutzungszusage ab. Sagen Sie nur die Grundlast zu, die Sie sicher brauchen; eine Zusage für die Spitze verwandelt einen Rabatt in Verschwendung. Spot-Kapazität ist freie Kapazität mit hohen Rabatten, oft sechzig bis neunzig Prozent, doch der Anbieter kann sie kurzfristig zurückfordern. Sie eignet sich für unterbrechbare, wiederholbare Arbeit wie nächtliche Batch-Jobs, nie für Datenbanken. Die Spitzen mittags und abends deckt On-Demand-Kapazität ab, die automatisch skaliert. Und machen Sie Rightsizing, bevor Sie sich festlegen.
Wenden wir das an. Die Plattform wickelt eins Komma zwei Millionen Bestellungen im Monat ab, bei einer Rechnung von sechsundneunzigtausend Pfund. Das sind acht Pence pro Bestellung. Erstens lagen die Compute-Requests bei etwa dem Doppelten des gemessenen Verbrauchs. Sie anhand von Messungen zu setzen, senkte die Zahl der Nodes um ein Viertel, und erst dann wurde der stabile Teil für ein Jahr zugesagt. Die Rechenleistung sank von zweiundvierzigtausend Pfund auf fünfundzwanzigtausendachthundertdreißig. Zweitens war die Hälfte des Log-Volumens Debug-Ausgabe. Sie abzuschalten, erfolgreiche Anfragen zu sampeln und Hot-Logs vierzehn statt neunzig Tage aufzubewahren, senkte die Observability-Kosten von vierzehntausend Pfund auf sechstausendfünfhundert. Drittens tauschten der Bestell- und der Preisgestaltungsservice pro Bestellung etwa vierzig Aufrufe über Zonen hinweg aus. Die Preislogik des Hot Path in den Bestellservice zu verlagern und Restaurantbilder über ein CDN auszuliefern, sparte netto fünftausend Pfund. Die Rechnung sank auf siebenundsechzigtausenddreihundertdreißig Pfund, etwa fünf Komma sechs Pence pro Bestellung: dreißig Prozent weniger, bei gleichen Features und Zuverlässigkeitszielen.
Nun zum Lock-in: den Kosten, etwas zu verlassen, von dem man abhängt. Gregor Hohpe argumentiert, dass es selbst eine Falle ist, Lock-in um jeden Preis zu vermeiden. Bewerten Sie ihn: Wechselkosten mal Wahrscheinlichkeit eines Wechsels. Ein Wechsel, der fünfzigtausend kosten würde und mit fünf Prozent Wahrscheinlichkeit eintritt, hat erwartete Kosten von zweitausendfünfhundert. Weit mehr auszugeben, um ihn zu vermeiden, ist ein schlechtes Geschäft. Seine Matrix stellt einzigartigen Nutzen den Wechselkosten gegenüber. Standarddienste, die sich leicht ersetzen lassen, sind wegwerfbar: Nutzen Sie sie frei. Wo ein Dienst einzigartigen Wert bietet, der seine Wechselkosten wert ist, akzeptieren Sie den Lock-in, und zwar bewusst. Seien Sie vorsichtig, wo der Ausstieg teuer, der einzigartige Nutzen aber gering ist. Und der Idealfall, einzigartig und leicht zu verlassen, ist selten.
Portabilität ist nicht kostenlos: Sie bedeutet, nur die Funktionen zu nutzen, die alle Clouds teilen, und Abstraktionsschichten zu bauen, die undicht sind. Viele Multi-Cloud-Strategien enden mit den Kosten aller ihrer Anbieter und den Vorteilen keines einzigen. Eine solide Mittelposition: Lock-in akzeptieren, wo er klaren Nutzen bringt, Geschäftslogik an den wenigen Nahtstellen, die sich am ehesten ändern, hinter Ports and Adapters halten und Daten in exportierbaren Formaten speichern. Und schreiben Sie eine Exit-Strategie auf und proben Sie sie zumindest teilweise. In der EU verlangt die Verordnung über die digitale operationale Resilienz inzwischen von Finanzunternehmen eine solche Strategie für kritische Dienste.
Damit ist Kapitel 10 abgeschlossen. Wenn Sie so weit sind, legen Sie den optionalen Kapiteltest ab: zwanzig Multiple-Choice-Fragen und zwei schriftliche Antworten, mit einer Bestehensgrenze von achtzig Prozent. Machen Sie dann mit Kapitel 11 weiter, über Bewertung, Entscheidungsfindung und Governance. Bis gleich.
Was Sie wissen müssen
- In der Cloud ist jede Architekturentscheidung auch eine Kaufentscheidung, daher sind Kosten ein Qualitätsmerkmal, das sich mit jedem Deployment ändert und sich am besten pro Einheit Geschäftswert ausdrücken lässt, etwa als Kosten pro Bestellung.
- FinOps, definiert von der FinOps Foundation (einem Projekt der Linux Foundation), verteilt die finanzielle Verantwortung auf Engineering, Finanzen und Fachbereiche, in drei iterativen Phasen: Inform, Optimise und Operate.
- Häufige Kostentreiber sind Datenabfluss (Egress) und zonenübergreifende Übertragung, ungenutzte und überdimensionierte Ressourcen, Logging-Volumen, Aufpreise für Managed Services und unkontrolliertes Speicherwachstum; die meisten werden von der Architektur geprägt.
- Rabatte für Nutzungszusagen eignen sich nur für die sichere Grundlast, Spot-Kapazität für unterbrechbare und wiederholbare Arbeit, und On-Demand-Autoscaling deckt die Spitzen ab; erst Rightsizing, dann Zusagen.
- Tagging ermöglicht die Zuordnung; Showback meldet Teams ihre Kosten, Chargeback belastet ihre Budgets und braucht eine genaue Zuordnung und vereinbarte Regeln für gemeinsame Kosten.
- Lock-in ist eine Abwägung: Hohpe (2019) unterscheidet viele Arten und wägt Wechselkosten mal Wahrscheinlichkeit gegen die Kosten der Vermeidung ab; akzeptieren Sie Lock-in dort, wo er einzigartigen Nutzen bringt.
- Portabilität hat echte Kosten; halten Sie die Geschäftslogik an wahrscheinlichen Nahtstellen hinter Ports, halten Sie Daten exportierbar und pflegen Sie eine getestete Exit-Strategie, die die EU-Finanzmarktregulierung inzwischen für kritische Dienste verlangt.
Kosten als Architekturqualität
Abschnitt 2.7 (Sicherheit, Benutzbarkeit und mehr) führte Kosten unter den Qualitätsmerkmalen auf und empfahl, sie pro Arbeitseinheit auszudrücken. Im Rechenzentrum waren die Kosten weitgehend fix: Hardware wurde alle paar Jahre gekauft, und die Entscheidungen eines Architekten bewegten die Monatsrechnung kaum. In der Cloud ist jede Architekturentscheidung auch eine Kaufentscheidung, laufend getroffen von Engineers statt einmal im Jahr vom Einkauf. Eine gesprächige Service-Grenze, ein Debug-Log-Level, eine vergessene Testumgebung oder ein synchroner regionsübergreifender Aufruf taucht jeweils auf der Rechnung des nächsten Monats auf. Kosten sind zu einem Qualitätsmerkmal geworden, das sich mit jedem Deployment ändert.
Zwei Disziplinen helfen. FinOps ist die betriebliche Praxis, die Cloud-Ausgaben sichtbar, verantwortet und gesteuert macht. Kostenbewusste Architektur ist die Entwurfspraxis, die Systeme von vornherein günstig im Betrieb pro Werteinheit macht. Dieser Abschnitt behandelt beide und wendet sich dann ihrem unbequemen Nachbarn zu: dem Lock-in, also den Kosten des Ausstiegs.
FinOps: Phasen, Prinzipien und wer was tut
FinOps wird von der FinOps Foundation, einem Projekt der Linux Foundation, definiert als operatives Framework und kulturelle Praxis, die den Geschäftswert von Technologie maximiert, durch zeitnahe, datengestützte Entscheidungen und eine finanzielle Verantwortung, die Engineering, Finanzen und Fachbereiche teilen. Der Name spielt bewusst auf DevOps an: So wie DevOps die Mauer zwischen dem Bauen und dem Betreiben von Software eingerissen hat, reißt FinOps die Mauer zwischen dem Ausgeben von Geld und der Entscheidung ein, wie Software gebaut wird.
Das FinOps Framework gliedert die Arbeit in drei iterative Phasen. Inform (Informieren): Kosten sichtbar machen, sie den Teams und Produkten zuordnen, die sie verursachen, prognostizieren und vergleichen. Optimise (Optimieren): Verschwendung abbauen und Preise verbessern, durch Rightsizing, Zeitpläne, Nutzungszusagen und Designänderungen. Operate (Betreiben): die Gewohnheiten aufbauen, die Kosten unter Kontrolle halten, etwa Budgets, Richtlinien, Zuständigkeiten und Kosten als Kriterium jeder Designentscheidung. Organisationen durchlaufen den Zyklus wiederholt und reifen in jeder Fähigkeit von Crawl über Walk zu Run. Zu den Prinzipien des Frameworks gehört, dass Teams zusammenarbeiten, dass der Geschäftswert Technologieentscheidungen bestimmt, dass alle Verantwortung für ihre Technologienutzung übernehmen, dass Kostendaten zugänglich, zeitnah und korrekt sind, dass FinOps zentral ermöglicht wird und dass das variable Kostenmodell der Cloud vorteilhaft genutzt werden sollte. Neuere Versionen erweitern das Framework über die Public Cloud hinaus auf andere Technologieausgaben wie SaaS-Lizenzen, Rechenzentren und KI-Dienste.
Der FinOps-Zyklus
Unit Economics: Kosten pro Bestellung
Eine Cloud-Rechnung, die von 80.000 auf 100.000 im Monat steigt, kann eine Katastrophe oder ein Triumph sein, je nachdem, ob das Geschäft um 5 % oder um 50 % gewachsen ist. Unit Economics drückt Kosten pro Einheit Geschäftswert aus: Kosten pro Bestellung bei der Essenslieferplattform, pro aktivem Kunden bei einem Streamingdienst, pro tausend API-Aufrufe bei einer Entwicklerplattform. Das trennt Effizienz von Wachstum, verbindet Engineering-Entscheidungen mit Geschäftsergebnissen und gibt Teams ein Ziel, das sie beeinflussen können.
Um das gut zu berechnen, braucht es drei Dinge. Erstens eine Einheit, die für das Geschäft zählt, gemeinsam mit Finanzen und Produkt gewählt, nicht von Engineers erfunden. Zweitens Kostenzuordnung: direkte Kosten (Rechenleistung und Datenbank des Bestellservice), zugeordnet über Tags oder Namespaces, und gemeinsame Kosten (die Kubernetes Control Plane, der Observability-Stack, die Werkzeuge des Plattformteams), aufgeteilt nach einer vereinbarten Regel wie der anteiligen Nutzung. Drittens eine Unterscheidung zwischen Durchschnitts- und Grenzkosten: Die durchschnittlichen Kosten pro Bestellung enthalten Fixkosten, die nicht mit den Bestellungen wachsen, daher sind die Kosten der nächsten tausend Bestellungen meist niedriger, als der Durchschnitt vermuten lässt, was bei der Preisgestaltung einer Aktion oder einer Wachstumsprognose wichtig ist.
Wohin das Geld fließt: häufige Kostentreiber
Die meisten überraschenden Cloud-Rechnungen gehen auf eine Handvoll Treiber zurück, und fast alle werden von der Architektur geprägt, nicht durch das Aushandeln besserer Preise.
Häufige Kostentreiber und Antworten der Architektur
| Treiber | Warum er wächst | Antworten der Architektur |
|---|---|---|
| Datenabfluss (Egress) und Übertragung | Anbieter berechnen pro Gigabyte für Daten, die ins Internet abfließen, und oft auch für Datenverkehr zwischen Zonen und Regionen sowie über verwaltete NAT-Gateways. Gesprächige Services, die über Zonen verteilt sind, zahlen bei jedem Aufruf. | Öffentliche Inhalte über ein CDN ausliefern; gesprächige Services zonenlokal halten (topologiebewusstes Routing); private Endpoints zu Anbieterdiensten nutzen; komprimieren; synchronen regionsübergreifenden Verkehr vermeiden. |
| Ungenutzte und überdimensionierte Ressourcen | Testumgebungen, die 168 Stunden pro Woche für 50 Stunden Nutzung laufen; Container-Resource Requests weit über dem tatsächlichen Verbrauch; verwaiste Volumes, Snapshots und Load Balancer. | Rightsizing anhand des gemessenen Verbrauchs; Zeitpläne und Autoscaling auf null für Nicht-Produktionsumgebungen; zeitlich begrenzte Preview-Umgebungen; automatisches Aufräumen nicht zugeordneter Ressourcen. |
| Logging- und Observability-Volumen | Aufnahme und Aufbewahrung werden pro Gigabyte berechnet; Debug-Logs in Produktion, ausführliches Request-Logging und Metrik-Labels mit hoher Kardinalität wachsen mit dem Traffic. | Log-Level und Sampling für erfolgreiche Anfragen; gestaffelte Aufbewahrung (Hot für Tage, Archiv für Monate); Metriken statt Logs für Zählungen; Trace-Sampling. |
| Aufpreise für Managed Services | Ein Managed Service kostet pro Kapazitätseinheit mehr, als die Software selbst zu betreiben; Preise pro Anfrage wachsen linear mit dem Volumen. | Gesamtbetriebskosten einschließlich Personal und Risiko vergleichen; Dienste mit Abrechnung pro Anfrage bei hohem, gleichmäßigem Volumen überprüfen (siehe Serverless); sie dort nutzen, wo der Aufpreis echte Zuverlässigkeit oder Geschwindigkeit bringt. |
| Speicherwachstum | Daten, die nie gelöscht werden, Objektversionen, doppelte Kopien und alte Backups sammeln sich unbemerkt an. | Lifecycle-Richtlinien für günstigere Speicherklassen und das Löschen; mit dem Fachbereich und nach geltendem Recht vereinbarte Aufbewahrungsregeln; deduplizierte, inkrementelle Backups. |
Weniger für dieselbe Kapazität zahlen
Ist die Verschwendung beseitigt, lässt sich der Preis für die verbleibende Kapazität senken. On-Demand-Kapazität ist am flexibelsten und am teuersten. Ein Rabatt für Nutzungszusagen tauscht Flexibilität gegen Preis: AWS Reserved Instances und Savings Plans, Azure Reservations und Savings Plans sowie Google Cloud Committed Use Discounts bieten erhebliche Nachlässe (AWS nennt bis zu 72 % für manche Zusagen), wenn man sich für ein oder drei Jahre auf ein bestimmtes Nutzungs- oder Ausgabenniveau festlegt. Zusagen sollten nur die Grundlast abdecken, die für die Laufzeit sicher gebraucht wird; wer sich auf Spitzenkapazität festlegt, verwandelt einen Rabatt in Verschwendung.
Spot-Kapazität (AWS Spot Instances, Azure Spot Virtual Machines, Google Cloud Spot VMs) verkauft freie Kapazität mit hohen Rabatten, oft 60 % bis 90 %, doch der Anbieter kann sie kurzfristig zurückfordern: mit zwei Minuten Vorlauf bei AWS, etwa 30 Sekunden bei Azure und Google Cloud. Sie eignet sich für Arbeit, die zustandslos, unterbrechbar und wiederholbar ist, etwa Batch-Verarbeitung, CI-Runner, Rendering und manche zustandslosen Web-Schichten, die über viele Instanztypen verteilt sind. Sie eignet sich nicht für Datenbanken oder alles, was sich nicht mitten in einer Aufgabe stoppen lässt. Die Architektur entscheidet, wie viel einer Workload Spot nutzen kann: idempotente Jobs mit Checkpoints können es, lange, zustandsbehaftete nicht.
Preismodelle an die Form der Nachfrage anpassen
Tagging, Showback und Chargeback
Niemand optimiert Kosten, die er nicht sieht. Die Zuordnung beginnt mit einer Tagging-Richtlinie (oder Labeling-Richtlinie): Jede Ressource trägt einige wenige verpflichtende Tags, etwa verantwortliches Team, Service, Umgebung und Kostenstelle, durchgesetzt durch Guardrails im Infrastrukturcode und durch Richtlinien der Cloud-Organisation, denn von Hand vergebene Tags fehlen bald. Bei Kubernetes werden Kosten nach Namespace und Label zugeordnet, mit Werkzeugen wie dem Open-Source-Projekt OpenCost oder den Kostenzuordnungsfunktionen der Anbieter. Die FOCUS-Spezifikation der FinOps Foundation definiert ein gemeinsames Format für Abrechnungsdaten, sodass sich Kosten mehrerer Anbieter zusammenführen lassen.
Sind die Kosten zugeordnet, entscheidet eine Organisation, wie sie sie nutzt. Showback meldet jedem Team seine Kosten, ohne sein Budget zu berühren; das schafft Bewusstsein und ist der übliche Einstieg. Chargeback belastet das Budget jedes Teams mit den Kosten, was stärkere Anreize schafft, aber eine genaue Zuordnung, vereinbarte Regeln für gemeinsame Kosten und ein Verfahren für Streitfälle erfordert. In beiden Fällen gilt: Veröffentlichen Sie den Anteil der Ausgaben, der sich nicht zuordnen lässt; ein ungetaggter Anteil von mehr als ein paar Prozent bedeutet, dass die Zahlen noch nicht verlässlich genug sind, um danach zu handeln.
Architekturentscheidungen, die Kosten treiben
Die größten Einsparungen kommen aus dem Design, nicht aus Rabatten, und sie lassen sich am günstigsten erzielen, bevor ein System gebaut ist. Jede der folgenden Entscheidungen hat ein vorhersehbares Kostenprofil. Service-Granularität: Jeder Netzwerk-Hop kostet Rechenleistung, Serialisierung und eventuell Datenübertragung, daher kosten feingranulare Services in vielen Zonen pro Anfrage mehr als ein modularer Monolith. Synchroner Fan-out: Eine Anfrage, die zehn Services aufruft, hält für ihre Dauer elf Sätze von Ressourcen beschäftigt. Anzahl der Umgebungen: Vollständige Kopien der Produktion für jedes Team und jeden Branch vervielfachen die Rechnung; gemeinsame Umgebungen mit Isolation oder kurzlebige Previews kosten weit weniger. Datenaufbewahrung und Replikation: Jede zusätzliche Kopie und jede zusätzliche Region vervielfacht Speicher und Übertragung. Caching und CDNs: Ein Cache-Treffer ist meist weit billiger als eine Neuberechnung, und ein CDN-Treffer vermeidet Egress vom Ursprung. Rechenmodell: Serverless mit Abrechnung pro Anfrage ist unterhalb eines Schnittpunkts billiger als ständig laufende Kapazität und darüber teurer.
Halten Sie wesentliche Kostenfolgen in Entscheidungsdokumenten fest, neben den anderen Qualitätsabwägungen, und erwägen Sie, Kosten in die Fitness Functions aufzunehmen, die die Architektur absichern: zum Beispiel eine monatliche Prüfung, dass die Kosten pro Bestellung ohne Erklärung nicht um mehr als 10 % gestiegen sind.
Lock-in ist eine Abwägung, keine Sünde
Lock-in sind die Kosten und Schwierigkeiten, etwas zu verlassen, von dem man abhängt. Meist wird er als etwas diskutiert, das um jeden Preis zu vermeiden ist; Gregor Hohpes Artikel von 2019 auf martinfowler.com, Don't get locked up into avoiding lock-in, argumentiert, dass genau das selbst eine Falle ist. Er unterscheidet mehrere Arten von Lock-in: Anbieter (Verträge und kommerzielle Bedingungen), Produkt (die APIs und Funktionen eines bestimmten Produkts, auch wenn es Open Source ist), Version, Architektur (ein Stil wie Serverless), Plattform (Konten, Identitäts- und Sicherheitsmodelle), Fähigkeiten (was Ihre Leute können), rechtlich (Compliance und Lizenzierung) und mental (Annahmen, die Sie davon abhalten, Alternativen zu erwägen). Open-Source-Software verringert den Anbieter-Lock-in, lässt die meisten anderen Arten aber bestehen.
Der entscheidende Schritt ist, Lock-in als Problem der Optionsbewertung zu behandeln. Die Wechselkosten sind das, was ein Umzug kosten würde; multipliziert mit der Wahrscheinlichkeit, jemals umzuziehen, ergeben sie die erwarteten Kosten des Lock-ins. Die Wechselkosten zu senken hat seinen eigenen Preis: zusätzliche Abstraktion, Entwürfe auf dem kleinsten gemeinsamen Nenner und Verzicht auf Funktionen. Ein Wechsel, der 50.000 kosten würde und mit 5 % Wahrscheinlichkeit eintritt, hat erwartete Kosten von 2500, daher ist es ein schlechtes Geschäft, weit mehr auszugeben, um ihn zu vermeiden. Hohpes Matrix aus einzigartigem Nutzen und Wechselkosten macht daraus eine schnelle Einordnung.
Einzigartiger Nutzen und Wechselkosten
Die Kosten der Portabilität und die Exit-Strategie
Portabilität ist nicht kostenlos. Jede Komponente so zu entwerfen, dass sie auf mehreren Clouds läuft, bedeutet, nur Funktionen zu nutzen, die alle gemeinsam haben, Abstraktionsschichten zu bauen und zu testen, die undicht sind (siehe Information Hiding und Leaky Abstractions), Know-how für mehrere Plattformen vorzuhalten und auf Managed Services zu verzichten, die Aufwand gespart hätten. Viele Multi-Cloud-Strategien enden mit den Kosten aller ihrer Anbieter und den Vorteilen keines einzigen. Am günstigsten ist Portabilität dort, wo es bereits offene Standards gibt: OCI-Container-Images, Kubernetes-Manifeste, PostgreSQL-kompatible Datenbanken, S3-kompatible Object-Storage-APIs, Standardprotokolle wie HTTP, AMQP und das Kafka-Protokoll sowie OpenTelemetry für Observability. Selbst die Werkzeuge, mit denen man portabel bleibt, etwa Terraform oder OpenTofu, sind für sich genommen Abhängigkeiten.
In der Praxis ist umstritten, wie weit man gehen sollte. Befürworter der Portabilität verweisen auf Preiserhöhungen, Ausfälle, Sanktionen, Regulierung und die Fälle, in denen sich der Auszug aus der Cloud gelohnt hat (siehe Cloud-Repatriierung in Abschnitt 10.1). Befürworter der Bindung an einen Anbieter verweisen auf die Geschwindigkeit und Zuverlässigkeit, die die volle Nutzung von Managed Services bringt. Eine solide Mittelposition ist, Lock-in bewusst dort zu akzeptieren, wo er klaren Nutzen bringt, die Geschäftslogik an den wenigen Nahtstellen, die sich am ehesten ändern, hinter Ports and Adapters unabhängig von Anbieter-APIs zu halten, Daten in exportierbaren Formaten zu speichern und eine Exit-Strategie schriftlich festzuhalten.
Regulierung verlangt diesen letzten Schritt zunehmend. Die EU-Verordnung über die digitale operationale Resilienz im Finanzsektor (DORA, Verordnung (EU) 2022/2554, anwendbar seit dem 17. Januar 2025; nicht zu verwechseln mit den DORA-Metriken für die Auslieferung) verpflichtet Finanzunternehmen zu Exit-Strategien für IKT-Dienstleistungen, die kritische oder wichtige Funktionen unterstützen. Die Regeln der EU-Datenverordnung (Data Act) zum Wechsel von Cloud-Anbietern gelten seit dem 12. September 2025: Kunden dürfen den Anbieter mit einer Frist von höchstens zwei Monaten wechseln, und Anbieter dürfen bis zum 12. Januar 2027 nur ihre direkten Wechselkosten berechnen, einschließlich Datenabfluss, danach gar nichts mehr. 2024 kündigten die größten Anbieter außerdem unter Bedingungen kostenlose Datenübertragung für Kunden an, die sie verlassen. Eine Exit-Strategie sollte für jeden kritischen Dienst den Ersatz benennen, Zeit und Kosten des Umzugs schätzen, zeigen, dass sich Daten in einem nutzbaren Format exportieren lassen, und zumindest teilweise geprobt werden, zum Beispiel durch das Wiederherstellen eines Backups in einer anderen Umgebung.
Ausgearbeitetes Beispiel
Ausgearbeitetes Beispiel: Kosten pro Bestellung und drei Architekturänderungen
Die Essenslieferplattform wickelt 1,2 Millionen Bestellungen im Monat ab. Ihre monatliche Cloud-Rechnung beträgt 96.000: Rechenleistung 42.000, Managed Databases 18.000, Observability 14.000, Datenübertragung 12.000, sonstige Managed Services 6000 und Speicher 4000. Alle Zahlen sind Beispielwerte in Pfund.
| Ausgangslage | 96.000 / 1.200.000 Bestellungen = 0,080 pro Bestellung. Showback zeigt, dass die Compute-Requests etwa doppelt so hoch sind wie der gemessene Verbrauch, dass die Hälfte des Log-Volumens Debug-Ausgaben sind und dass der Bestell- und der Preisgestaltungsservice pro Bestellung etwa 40 Aufrufe über Availability Zones hinweg austauschen. |
|---|---|
| Änderung 1: erst Rightsizing, dann Zusage | Requests, die anhand des gemessenen p95-Verbrauchs gesetzt werden, senken die Zahl der Nodes um 25 %: Rechenleistung von 42.000 auf 31.500. Die stabilen 60 % davon (18.900) werden durch eine einjährige Zusage mit etwa 30 % Rabatt abgedeckt, was 5670 spart. Die Rechenleistung kostet nun 25.830, eine Einsparung von 16.170. |
| Änderung 2: weniger loggen, kürzer aufbewahren | Debug-Logging in Produktion aus, erfolgreiche Anfragen zu 10 % gesampelt, Hot-Aufbewahrung von 90 auf 14 Tage verkürzt, mit einer Archivstufe. Die Aufnahme sinkt um etwa 60 %: Observability von 14.000 auf 6500, eine Einsparung von 7500. |
| Änderung 3: nicht mehr für Entfernung zahlen | Preislogik für den Hot Path in den Prozess des Bestellservice verlagert (womit die meisten der 40 Aufrufe entfallen), zonenbewusstes Routing für die übrigen Aufrufe und Restaurantbilder über ein CDN statt vom Ursprung ausgeliefert. Datenübertragung von 12.000 auf 6000; das CDN kostet 1000 zusätzlich. Nettoeinsparung 5000. |
| Ergebnis | 96.000 minus 28.670 = 67.330 im Monat, also 0,056 pro Bestellung: 30 % weniger pro Bestellung, ohne Änderung an Features oder Zuverlässigkeitszielen. |
| Was sich nicht geändert hat | Datenbank- und Speicherkosten blieben in diesem Quartal unangetastet, weil die dort möglichen Einsparungen im Verhältnis zum Risiko klein waren; sie bleiben im Backlog. |
Die größte strukturelle Änderung war architektonisch (eine gesprächige Grenze entfernen und ein CDN einführen), die Logging-Änderung war eine Designentscheidung zur Observability, und der Preisrabatt kam erst nach dem Rightsizing, sodass sich das Unternehmen nicht auf Verschwendung festlegte.
Wer die Kosten pro Bestellung statt der Gesamtrechnung verfolgt, sieht, ob künftiges Wachstum die Verbesserung hält: Wenn sich die Bestellungen verdoppeln und die Kosten pro Bestellung nahe 0,056 bleiben, hat die Effizienz gehalten.
Häufige Fragen
Sollte jedes Team mit seinen Cloud-Kosten belastet werden?
Beginnen Sie mit Showback, damit Teams ihre Kosten sehen und handeln können, und wechseln Sie erst zu Chargeback, wenn die Zuordnung genau ist und gemeinsame Kosten nach Regeln aufgeteilt werden, die alle akzeptieren; ungenaue Zahlen in Rechnung zu stellen erzeugt Streit, keine Einsparungen.
Ist Multi-Cloud der beste Schutz vor Lock-in?
Für sich allein selten. Dasselbe System auf mehreren Clouds zu betreiben ist teuer und beschränkt Sie auf gemeinsame Funktionen. Verschiedene Anbieter für verschiedene, unabhängige Workloads zu nutzen, plus eine getestete Exit-Strategie für die kritischen, bietet meist den Großteil des Schutzes zu einem Bruchteil der Kosten.
Wann ist Kostenoptimierung verfrüht?
Wenn das Produkt seinen Markt noch nicht gefunden hat und Engineering-Zeit die knappste Ressource ist. Selbst dann sind Tagging vom ersten Tag an und grobe Kosten pro Einheit günstig und machen spätere Optimierung weit einfacher.
Prüfen Sie Ihr Verständnis
Warum sind die Kosten pro Bestellung nützlicher als die gesamte Monatsrechnung?
Sie trennen Effizienz von Wachstum: Eine steigende Rechnung bei sinkenden Kosten pro Bestellung ist gesund, eine gleichbleibende Rechnung bei sinkenden Bestellzahlen nicht.
Warum sollte Rightsizing vor dem Kauf von Rabatten für Nutzungszusagen kommen?
Eine Zusage legt ein Ausgabenniveau für ein oder drei Jahre fest; wer sich festlegt, bevor die Überdimensionierung beseitigt ist, verwandelt Verschwendung in eine langfristige Verpflichtung.
Welche Art von Workload eignet sich für Spot-Kapazität, und warum?
Zustandslose, unterbrechbare und wiederholbare Arbeit wie Batch-Jobs und CI-Runner, weil der Anbieter Spot-Kapazität mit Sekunden oder Minuten Vorlauf zurückfordern kann.
Wann ist Lock-in laut Hohpe akzeptabel?
Wenn er einzigartigen Nutzen bringt, der die Wechselkosten wert ist, oder wenn ein Wechsel so unwahrscheinlich ist, dass die erwarteten Kosten niedriger sind als die Kosten, den Lock-in zu vermeiden.
Quellen und weiterführende Literatur
Haben Sie eine Frage zu diesem Abschnitt? ArchitectBot, der KI-Lernassistent des Kurses, antwortet zuerst aus dem Kurs.
Fragen: „Unsere Cloud-Rechnung ist dieses Jahr um 40 % gestiegen, die Bestellungen nur um 15 %. Wie finde ich heraus, welche Architekturentscheidungen die Kosten treiben, und welche Korrekturen sollte ich zuerst ausprobieren?“