Bekannte Kostenkontrollen für Serverless Compute
von Piyush Singh und Vijay Raja
Bei Databricks ist unsere Nutzung serverloser Compute-Ressourcen im vergangenen Jahr um das Dreifache gestiegen, und Tausende von Kundinnen und Kunden führen darauf nun geschäftskritische Notebooks, Jobs und Pipelines aus. Mit zunehmender Verbreitung stellt sich jedem Platform Team unweigerlich die Frage: Wie erhalten wir mehr Transparenz über die Kosten für serverlose Workloads und halten diese im Budget?
Databricks Kundinnen und Kunden, die serverloses SQL und Model Serving nutzen, können Kosten bereits zuordnen, den Zugriff steuern und den Verbrauch überwachen, ohne auch nur einen einzigen Cluster-Regler anzupassen. Wir bringen diese Funktionalität nun auch für serverlose Compute-Ressourcen für Notebooks, Jobs und Pipelines. Damit sorgen wir dafür, dass die Kostenkontrolle für serverlose Workloads genau so funktioniert, wie Platform Teams es erwarten.
Bei klassischem Compute war die Kostenkontrolle in der Infrastruktur angesiedelt. Sie haben Ausgaben begrenzt, indem Sie Maschinen gedeckelt haben: Anzahl der Nodes, Instanztypen, Autoscaling-Bereiche und Cluster-Richtlinien, die festlegten, was Benutzerinnen und Benutzer bereitstellen durften. Diese Kontrollen waren notwendig, weil Sie die Infrastruktur selbst verwalten mussten.
Serverless nimmt Ihnen diese Regler ganz bewusst ab. Das Bereitstellen, Skalieren und Anpassen der Infrastruktur ist nun Aufgabe der Plattform und wird von Databricks übernommen – das macht einen großen Teil des Werts aus. Die Kostenkontrolle muss jedoch irgendwo stattfinden und wandert daher eine Ebene nach oben. Statt an Maschinen ist sie nun an Personen und Workloads gekoppelt. Wer darf serverlose Workloads ausführen, wie schnell darf ein Workload Kosten verursachen und wo schlagen die Kosten nieder – das sind jetzt die entscheidenden Fragen.
Platform Teams beschreiben ihre Anforderungen auf drei Arten:
Klassisches Compute hat dies mit drei Tools beantwortet: Tags zur Kostenzuordnung, Berechtigungen zur Zugriffskontrolle und Limits für die Cluster-Größe zur Kostenbegrenzung. Serverless benötigt dieselben drei Tools. Zwei davon gibt es bereits, und das dritte folgt bald.

Wir schauen uns diese Punkte nun nacheinander an.
Die Zuordnung beginnt mit Tags. Bei klassischem Compute haben Sie das Cluster getaggt; bei Serverless taggen Sie die Compute-Ressource, und jedes DBU, das darauf ausgeführt wird, trägt dieses Tag bis zur Abrechnung mit sich.
system.billing.usage, aufgeschlüsselt nach Benutzerin bzw. Benutzer, Produkt und Tag. Eine führungskräftetaugliche Ansicht der Kosten nach Team ist nur eine einzige Abfrage entfernt, und die Kosten-Dashboards der Account Console zeigen dies an, ohne dass Sie auch nur eine Zeile SQL schreiben müssen.
Dieselbe Tabelle beantwortet die Audit-Frage, die Sie klären möchten, bevor Sie den Zugriff von irgendjemandem ändern: Wer führt aktuell überhaupt serverlose Workloads aus und wie viel geben diese Personen aus? Das ist eine weitere Abfrage, sortiert nach Verbrauch, und die vollständigen Beispiele finden Sie in der Dokumentation zu den Systemtabellen.
Verfügbarkeit: Serverless Compute Tags für die Zuordnung sind derzeit als Beta verfügbar.
Die Observability ist bereits verfügbar, und Kundinnen und Kunden können serverlose Kosten bereits mit Systemtabellen auf AWS, Azure und Google Cloud überwachen.
Dieselbe Systemtabelle, die Kosten zuordnet, ermöglicht Ihnen auch deren Nachverfolgung. Budgets in der Account Console lösen E-Mail-Benachrichtigungen aus, wenn die serverlosen Kosten einen Schwellenwert überschreiten, und mit den Kostenmanagement-Dashboards können Sie den Verbrauch nach Produkt, Workspace und Tag verfolgen. Eine SQL-Benachrichtigung zu den serverlosen Kosten des gestrigen Tages schließt den Kreis innerhalb weniger Stunden.
Die Überwachung ist jedoch reaktiv: Sie meldet den kostenintensiven Tag am nächsten Morgen, anstatt ihn zu verhindern. Genau deshalb gibt es die nächsten beiden Ziele.
Verfügbarkeit: Die Überwachung ist ab heute allgemeine Verfügbarkeit (GA). Richten Sie Budgets und Ausgabenbenachrichtigungen auf AWS, Azure und Google Cloud ein.
Die erste proaktive Kontrolle besteht darin zu entscheiden, wer überhaupt serverlose Workloads ausführen darf. Diese Berechtigung ist ein sogenanntes Entitlement: Sie legt fest, welche Benutzerinnen, Benutzer oder Gruppen auf Serverless zugreifen können – genau wie bestehende Berechtigungen steuern, wer Cluster erstellen oder sich mit einem SQL Warehouse verbinden kann. Serverless Compute Access Controls sind jetzt allgemein verfügbar (GA) und ermöglichen Ihnen die Verwaltung von Serverless über dieses Modell: Berechtigungen für ein Compute-Objekt statt Richtlinien, die an jeden Workload geknüpft sind.

Ein serverloses Compute-Objekt ist die Berechtigungsgrenze für Serverless. Jeder Workspace erhält standardmäßig zwei davon:
Die Berechtigungen für diese Objekte entsprechen den beiden, die Sie bereits von Warehouses kennen: Can Use und Can Manage. Wenn Sie nachvollziehen können, wer sich mit einem SQL Warehouse verbinden darf, können Sie auch nachvollziehen, wer serverlose Workloads ausführen darf.
Das Modell ist standardmäßig sicher. Jede Person beginnt mit Can Use. Das Einschalten der Funktion ändert also erst einmal nichts, bis ein Admin aktiv wird. Wenn ein Admin aktiv wird, verläuft der Prozess wie erwartet: Öffnen Sie die Compute-Seite, rufen Sie den Tab „Serverless“ auf, öffnen Sie ein standardmäßiges Compute-Objekt, entfernen Sie „All Users“ und fügen Sie eine spezifische Gruppe hinzu. Benutzerinnen oder Benutzer außerhalb dieser Gruppe sehen Serverless im Notebook-Compute-Auswahlmenü nun grau hinterlegt, und bereits laufende Prozesse werden nicht unterbrochen.

Verfügbarkeit: Ab heute allgemein verfügbar. Weitere Informationen finden Sie in der Dokumentation für AWS, Azure und Google Cloud.
Die Zugriffskontrolle entscheidet, ob ein Workload ausgeführt wird, aber nicht, wie viel er kosten darf, sobald er läuft. Diese Lücke zu schließen ist die dritte Aufgabe – Rate Limits – und sie betrifft dieselben Compute-Objekte, die Sie gerade gesehen haben.
Die Zuordnung verbessert sich gleichzeitig. Eine neue serverless_compute_id in system.billing.usage ordnet die Ausgaben pro Compute-Objekt zu, sodass „Kosten nach Compute-Objekt“ genauso einfach werden wie „Kosten nach Team“.
Eine Klarstellung für alle, die DBSQL-T-Shirt-Größen kennen: Bei Notebooks und Jobs ist die Größe eine maximale Obergrenze für das Autoscaling und keine feste Clustergröße. Wählen Sie XL für einen Job, der nur Medium benötigt, wird ihm Medium zugewiesen.
Verfügbarkeit: Ratenlimits sind jetzt in der Beta-Version verfügbar. Aktivieren Sie Ratenlimits über Ihre Databricks-Vorschau-Einstellungen; weitere Informationen finden Sie in der Dokumentation für AWS, Azure und Google Cloud.
Fügen Sie die drei Jobs wieder zusammen:
serverless_compute_id in Systemtabellen, nutzbar in Budgets und Dashboards.Sie können noch heute mit der Implementierung von serverlosen Kostenkontrollen beginnen. So geht's:
system.billing.usage sowie eine Budgetwarnung für serverlose Ausgaben hinzu.Zugriffskontrollen für serverloses Compute sind ab sofort allgemein verfügbar. Um sich heute intensiver mit Zuordnung und Monitoring zu befassen, ist die Dokumentation zu Systemtabellen (AWS | Azure| GCP) und serverlosem Tagging (AWS | Azure | GCP) der ideale Ausgangspunkt.
(Dieser Blogbeitrag wurde mit KI-gestützten Tools übersetzt.) Originalbeitrag
Abonnieren Sie unseren Blog und erhalten Sie die neuesten Beiträge direkt in Ihren Posteingang.