Jede Cloud-Plattform muss eine Metrik für die mit ihren Diensten verbundenen Kosten haben. Bei den meisten öffentlichen Cloud-Angeboten sind die Zielmetriken für die Kosten in der Regel die Anzahl der CPU-Kerne und die Menge des Speichers. Diese werden mit der Nutzungsdauer multipliziert und führen so zu einer nutzungsbasierten Preisgestaltung.
Dieses Modell hat seine Vor- und Nachteile, daher wollen wir es ein wenig weiter durchdenken.
Da alle Kosten an ein Nutzungsmuster gebunden sind, besteht das Ziel darin, Kosten durch eine geringere Nutzung zu senken.
Der Gesamtpreis kann einigermaßen geschätzt werden, indem man einfach die benötigte CPU-/Speichermenge über die Zeit aufsummiert. Das macht die Preisgestaltung einigermaßen vorhersehbar (mehr dazu bei den Nachteilen).
Unternehmen, die Wert auf Kostenvorhersagbarkeit legen, werden die Lösung wählen, die diese bietet. Wenn ich also Sicherheit über die Kosten haben möchte, wähle ich den wenig flexibelsten Weg und skaliere auf die Spitzenleistung. Das klingt zunächst kontraintuitiv (was die Kosten betrifft), aber das passiert oft in großen Organisationen, da die meisten Vorhersagbarkeit einem unvorhersehbaren Kosteneinsparungen vorziehen.
Jeder hat eine Vorstellung davon, was eine CPU/vCPU ist, aber tatsächlich ist dies keine gute Metrik für den Vergleich zwischen Anbietern. Ich muss immer eigene Benchmarks durchführen, um zu sehen, wie Instanztypen, CPU-Architektur und vertikale Skalierung meine Leistung beeinflussen.
Die variable CPU-Verarbeitungskapazität macht es auch sehr schwierig, den tatsächlichen Einfluss, z.B. den Umwelteinfluss, für mein Projekt zu vergleichen. Einige Anbieter haben bereits damit begonnen, CO2-(bzw. CO2-Äquivalent-)Metriken bereitzustellen, aber auch diese werden sehr komplex, da es immer schwerer wird zu verstehen, was darin enthalten ist und was ausgeschlossen wird.
Die nutzungsbasierte Preisgestaltung ist also ein großer Fortschritt im Vergleich dazu, einfach einen monatlichen Betrag zu zahlen, ohne dass jemand sich darum sorgt, was dahinter steckt. Sie versucht auch einen Anreiz zu geben, den Gesamt-Footprint zu reduzieren, bietet aber nur begrenzte Möglichkeiten, Dienste zwischen Anbietern zu vergleichen.
Vielleicht ist es daher an der Zeit, die nutzungsbasierte Preisgestaltung einen Schritt weiterzudenken und die Metrik zu ändern.
Wenn wir mit CPU- und Speichernutzung über die Zeit beginnen, können wir die Menge der auf Anbieterebene genutzten Ressourcen erfassen. Eine Metrik, die hier fehlt oder die wir in die Preisgestaltung einbeziehen sollten, ist der Stromverbrauch (also in Watt).
Anstatt also Kosten basierend auf der Verarbeitung und einen Umwelt-Footprint basierend auf einer CO2-Metrik zu berechnen, wie wäre es, wenn wir beides verbinden und die Verarbeitungskapazität in Watt messen? So könnten wir eine einzige Metrik für Kosten und Umweltbelastung bereitstellen.
Dadurch würde ein Unternehmen, das seinen ökologischen Fußabdruck verbessern möchte, automatisch auch seine Kosten senken und umgekehrt. Beide Ziele wären sichtbar und umsetzbar.
Das führt zur Frage, wie das funktionieren soll, denn theoretisch klingt alles einfach. In der Realität gibt es ein großes Problem: Unsere aktuelle Hardware liefert solche Metriken nicht in der benötigten Auflösung.
Für den Moment müssen wir deshalb schätzen und mit den Hardware-Einschränkungen umgehen.
Was wir bislang umgesetzt haben, ist ein Strommesser an jeder Maschine, so wissen wir den insgesamt verbrauchten Energieverbrauch (mit minutengenauer Auflösung). Diese Metrik wird über die benutzerbezogene Arbeitslast auf diesen Maschinen gelegt. Was wir dadurch erhalten, ist eine Schätzung, wie viel Energie von welchem Nutzer verbraucht wurde. Wir möchten diese Metrik auch so schnell wie möglich in die Benutzeroberfläche bringen.
Das ist also unser erster Versuch zu diesem Thema. Wir werden ein weiteres Update liefern, wenn wir Fortschritte in diese Richtung sehen oder auf Probleme stoßen, die diese Idee infrage stellen.
Für den Moment sieht das nach dem richtigen Weg aus.