Was kostet jede Snowflake-App? App für App sichtbar machen
Snowflake macht es heute leicht, Apps direkt neben den Daten zu bauen: Streamlit in Snowflake für Python-Apps, App Runtime für vollwertige Web-Apps. Sobald ein Unternehmen ein paar Dutzend davon hat, stellt die Person, die sich um die Snowflake-Rechnung kümmert, eine Frage: Was kostet jede dieser Apps, und wer nutzt sie noch?
Snowflake erfasst alles, was für die Antwort nötig ist. Nur eben nicht als eine Zahl pro App. So setzen sich die Kosten einer App zusammen, hier zeigt Snowflake sie, und so sieht man sie App für App.
Wie sich die Kosten einer App zusammensetzen
Eine App auf Snowflake bezahlt zwei Dinge: die Rechenleistung, auf der die App läuft, und die, auf der ihre Abfragen laufen.
Streamlit auf einem Warehouse. Der Python-Code der App und ihre Abfragen laufen auf einem virtuellen Warehouse. Ein Warehouse wird sekundengenau abgerechnet, solange es läuft, mit mindestens 60 Sekunden bei jedem Start, und es läuft nach der letzten Abfrage weiter, bis seine Auto-Suspend-Zeit abgelaufen ist. Eine App, die über den Tag verteilt von einigen Leuten geöffnet wird, kann ihr Warehouse einen großen Teil des Tages wach halten.
Streamlit auf der Container-Runtime und App-Runtime-Apps. Sie laufen auf einem Compute Pool, der abgerechnet wird, solange seine Knoten laufen. Der Produktmanager von Snowflake für App Runtime erklärte auf Reddit, dass Apps sich einen von Snowflake verwalteten Pool teilen, der pro Knotenstunde abgerechnet wird, und dass Apps laufen, bis man sie stoppt. Die Abfragen einer solchen App laufen wie jede andere Last auf einem Warehouse.
Die Kosten einer App hängen also weniger von ihrer Größe ab als davon, wie oft sie geöffnet wird und wie lange ihre Rechenleistung danach weiterläuft.
Wo Snowflake die Kosten zeigt
- Account-Usage-Views.
WAREHOUSE_METERING_HISTORYundMETERING_HISTORYim SchemaSNOWFLAKE.ACCOUNT_USAGEerfassen Credits pro Warehouse und pro Dienst, Stunde für Stunde, und die Query History zeigt, wer was ausgeführt hat. - Cost Management in Snowsight für die Summen pro Warehouse und pro Dienst.
- Budgets und Resource Monitors für Grenzen und Warnungen zu den Ausgaben.
Was diese nicht liefern, ist eine Liste der Apps mit den Kosten neben jeder einzelnen. Ein Warehouse, das sich zehn Apps teilen, zeigt eine einzige Zahl, und bei App Runtime sieht man, so derselbe Produktmanager, die Nutzung pro Konto, nicht pro App.
Vier Gewohnheiten, die App-Kosten sichtbar machen
Diese funktionieren mit Snowflake allein:
- Geben Sie Apps ein eigenes Warehouse, oder eines pro Team, damit die Credits eines Warehouses etwas aussagen.
- Stellen Sie Auto-Suspend passend zur Nutzung der App ein. Ein Dashboard, das zweimal am Tag geöffnet wird, braucht sein Warehouse zwischen den Besuchen nicht wach.
- Nutzen Sie Snowflake Budgets, damit die Verantwortlichen von den Ausgaben erfahren, bevor der Monat endet, nicht danach.
- Schauen Sie auf Apps, die niemand öffnet. Eine App ohne Nutzer seit 60 Tagen ist eine Frage an ihren Verantwortlichen.
App für App mit StreamGen
StreamGen liest dieselben Account-Usage-Views und bringt die Antwort in eine Liste: jede Streamlit- und App-Runtime-App, die Ihre Snowflake-Rolle sehen kann, ob mit StreamGen gebaut oder nicht, mit Verantwortlichem, den Nutzern der letzten 30 Tage, der letzten Nutzung und den Kosten in Credits und in Geld. Apps, die 60 Tage niemand geöffnet hat, werden markiert. Eine ehrliche Grenze: App-Runtime-Apps, die nicht StreamGen bereitgestellt hat, erscheinen ohne Nutzungszahlen, weil Snowflake diese nicht pro App erfasst.
Dieses Inventar gibt es heute in StreamGen, gehostet auf Uppcoder. Die Snowflake Native App, deren Freigabe im Snowflake Marketplace noch aussteht, bringt Kontrolle für die Apps, die StreamGen betreibt: Apps zu einer festen Uhrzeit ausschalten, etwa werktags um 20:00 Uhr, oder nach einigen Stunden ohne Nutzer, mit automatischem Neustart, sobald jemand sie öffnet, und ein Monatsbudget mit einer E-Mail an die Admins bei 80 % und 100 %.
Es geht nicht darum, weniger für Snowflake auszugeben. Es geht darum zu wissen, was jede App kostet und wem sie dient, damit die Entscheidung für weitere Apps leichtfällt.
Ausprobieren
Sehen Sie das Inventar mit den Daten eines Beispiel-Einzelhändlers: StreamGen zwei Stunden kostenlos testen, ohne Anmeldung und ohne Snowflake-Konto.
StreamGen ist ein Produkt der Websson d.o.o., Pula, den Machern von Uppcoder.