
Con la diffusione degli ambienti multicloud e il bisogno crescente di soluzioni di data warehouse cloud scalabili, flessibili e ad alte prestazioni, Snowflake si è imposto come forza dominante del mercato, con una quota superiore persino a quella di soluzioni cloud-native come Amazon Redshift e Google BigQuery, e quasi doppia rispetto al concorrente terzo più diretto.
Come per qualsiasi servizio cloud, però, una gestione efficace dei costi è decisiva per massimizzare il valore dell'investimento. Senza un monitoraggio adeguato, i costi di Snowflake possono crescere in modo imprevisto, con il rischio di sforare il budget e di perdere trasparenza finanziaria. Da questo punto di vista, i dati di costo e utilizzo di Snowflake non sono diversi da quelli degli altri provider cloud.
Man mano che l'azienda cresce e i costi del cloud aumentano di conseguenza, le spese di data warehousing arrivano spesso a rappresentare una quota significativa della spesa cloud (tra il 10% e il 50%), soprattutto per le realtà con elevate esigenze di elaborazione e analisi. Considerato l'impatto sui budget IT e operativi complessivi, è chiaro perché serva una gestione efficace di costi e utilizzo su tutti i principali driver di spesa cloud.
Visibilità completa sui costi con Snowflake Lens
È proprio l'esigenza di un unico punto di osservazione ad aver dato vita a Snowflake Lens in DoiT Cloud Intelligence™: un dashboard pronto all'uso che porta funzionalità avanzate di analisi e governance su utilizzo e costi di Snowflake.
Dashboard di Snowflake Lens
Affiancare i costi di Snowflake a quelli degli altri provider cloud restituisce un quadro completo della spesa cloud complessiva. Questa vista unificata aiuta a capire come le risorse vengono allocate tra i diversi servizi (compute, storage, networking e data warehousing) e offre una lettura più approfondita dell'impatto finanziario dell'intera infrastruttura cloud. Inquadrare il data warehousing nel contesto più ampio della spesa cloud consente inoltre decisioni più consapevoli su allocazione delle risorse, pianificazione del budget e individuazione delle aree dove ottenere risparmi.
Una volta collegato il proprio account Snowflake a DoiT Cloud Intelligence – un'operazione che richiede pochi minuti – e completata l'acquisizione dei dati, il dashboard si popola in automatico, senza alcuna configurazione aggiuntiva. I contenuti si articolano in sei widget di report:
- Costo mensile per servizio
- Costo mensile per regione
- Warehouse mensili per costo
- Costo mensile per tipo di utilizzo
- Top 10 database per costo di storage
- Top 10 query per utente
Una volta attivato il Lens, ciascun widget può essere aperto in un report Cloud Analytics completo, in cui è possibile cambiare l'intervallo temporale, aggiungere filtri o raggruppamenti, oppure generare analisi di trend a supporto di forecasting e budgeting.
Una volta acquisiti, i dati diventano accessibili anche dalle altre funzionalità di DoiT Cloud Intelligence incluse nel suo abbonamento, tra cui Dashboards, Attributions, Anomaly Detection e Alerts. Questo non solo permette di contestualizzare e monitorare i costi di Snowflake, ma garantisce anche di ricevere una notifica (in console oppure tramite l'integrazione Slack o e-mail) ogni volta che si verifica un picco di costo al di fuori dell'intervallo previsto.
Ottimizzare i costi di Snowflake
Come per qualsiasi spesa IT o cloud, ottenere il massimo dall'investimento in Snowflake significa assicurarsi che i costi siano allineati al budget e, in caso contrario, che servano davvero gli obiettivi di business. In altre parole, non si tratta sempre di tagliare i costi, ma di evitare che il denaro venga speso male.
Detto questo, come confermano molti esperti del team DoiT Cloud Solve, è del tutto normale individuare numerose opportunità di ottimizzazione non appena si inizia ad analizzare l'utilizzo di Snowflake. Sia che proceda in autonomia, sia con il supporto del nostro team interno di servizi, ci sono alcune strategie ricorrenti da tenere a mente nell'esame di questi costi.
Risparmi sul compute
- Effettuare il right-sizing dei virtual warehouse
Uno dei modi più efficaci per ridurre i costi di compute di Snowflake è verificare che i virtual warehouse siano dimensionati correttamente per i workloads che devono gestire. I warehouse di grandi dimensioni costano di più e, in molti casi, un warehouse più piccolo offre prestazioni paragonabili sui workloads di routine. La strategia migliore è quindi partire in piccolo e scalare al bisogno: inizi con dimensioni ridotte, monitori le prestazioni e aumenti solo se serve un'esecuzione più rapida delle query. Molti dei nostri clienti scoprono che, nella maggior parte dei casi, i propri workloads girano senza problemi su un warehouse x-small: partire da lì e scalare verticalmente solo quando necessario è la scelta ideale.
- Consolidare i virtual warehouse
Mantenere più virtual warehouse per workloads simili fa lievitare inutilmente i costi. Consolidando i warehouse, soprattutto per team o reparti con esigenze di elaborazione dati analoghe, si riducono i tempi di inattività e si sfruttano meglio le risorse. Tra le strategie principali:
- Pooling delle risorse: consolidare warehouse piccoli e sottoutilizzati in un unico warehouse più grande, capace di gestire più attività in parallelo, migliorando l'efficienza complessiva.
- Auto-scaling: usando un virtual warehouse condiviso con auto-scaling abilitato, Snowflake adatta le risorse in automatico durante i picchi di domanda, evitando l'over-provisioning e abbattendo i costi nei periodi di inattività.
- Definire guardrail per le query
Query lente o inefficienti possono divorare risorse di compute e far lievitare i costi.
- Impostare timeout per le query: i timeout impediscono a query fuori controllo di monopolizzare le risorse del warehouse. Fissi limiti di timeout per terminare le query che superano un tempo di esecuzione ragionevole, in modo da risparmiare risorse di compute e spingere gli utenti a ottimizzare le query inefficienti.
- Auto-suspend e Auto-resume: valuti anche di attivare le opzioni Auto-suspend e Auto-resume del warehouse; la best practice è impostare il timer intorno ai 5 minuti (anche meno per i warehouse più trafficati). In questo modo si evita di tenere accesi warehouse inutilizzati.
- Ottimizzare le clustering key: ricorrere alle clustering key in Snowflake riduce in modo significativo il compute richiesto dalle query, migliorando l'efficienza di accesso ai dati e diminuendo la quantità di dati da scansionare. Per sfruttarle al meglio, scelga le colonne usate con maggiore frequenza nei filtri delle query (clausole 'WHERE'), nelle condizioni 'JOIN' o nelle operazioni di ordinamento. Così Snowflake organizza i dati in cluster che rendono quelle query più efficienti.
- Effettuare refactoring e ottimizzazione delle query
È inoltre utile rivedere e ottimizzare regolarmente le query per assicurarsi che siano progettate all'insegna di prestazioni ed efficienza di costo. Un'indicizzazione adeguata, l'eliminazione di scansioni superflue e la riduzione dei join migliorano le performance e abbassano i costi.
Risparmi sullo storage
- Eliminare tabelle e dati inutilizzati
Con il tempo, i warehouse di Snowflake possono accumulare tabelle inutilizzate, dati obsoleti o backup superflui: tutti elementi che fanno crescere i costi di storage. Identificare ed eliminare con regolarità le tabelle non più utili aiuta a contenerli. Una fonte tipica sono le tabelle di staging usate per job ETL e mai cancellate, che gonfiano inutilmente lo storage. Può anche automatizzare la loro rimozione al termine dei job, così da prevenire il problema in futuro.
- Ottimizzare la compressione dei dati
Snowflake comprime i dati in automatico per ridurre lo storage richiesto, ma il modo in cui vengono archiviati può migliorarne ulteriormente l'efficienza di compressione. È importante scegliere formati altamente comprimibili come Parquet o ORC, che offrono una compressione migliore rispetto a formati come CSV. Questi formati riducono l'ingombro complessivo dei dati senza penalizzare le prestazioni.
- Ottimizzare le impostazioni di data retention
Le funzionalità Time Travel e Fail-safe di Snowflake consentono di accedere ai dati storici per un certo periodo, ma hanno un costo in termini di storage. Intervenire sulle impostazioni di retention può ridurre i costi, ad esempio accorciando il periodo di Time Travel o limitando quello di Fail-safe. Sebbene Fail-safe offra una finestra di recupero di 7 giorni dopo la scadenza del Time Travel, questo storage aggiuntivo può pesare. Limitarne l'uso ai casi davvero necessari aiuta a evitare grandi picchi di costo nel tempo.
- Utilizzare tabelle temporary o transient
Le tabelle temporary e transient di Snowflake sono uno strumento efficace per ridurre i costi di storage, soprattutto per dati di breve durata o risultati intermedi che non devono essere conservati a lungo termine.
- Le tabelle temporary sono ideali per memorizzare dati intermedi o specifici di una sessione durante processi ETL, query complesse o trasformazioni di dati. Essendo disponibili solo all'interno della sessione che le ha create e venendo eliminate in automatico al termine della stessa, evitano costi di storage a lungo termine non necessari.
- Le tabelle transient sono utili per dati che devono persistere tra più sessioni, ma solo per un breve periodo. A differenza delle tabelle permanenti, non hanno Fail-safe (la finestra di recupero di 7 giorni di Snowflake), e questo aiuta a contenere i costi. Mantengono invece Time Travel, ma è possibile impostare un periodo di retention più breve per minimizzare lo storage.
Un punto di riferimento per i risparmi cloud sempre più completo
Snowflake Lens in DoiT Cloud Intelligence si inserisce nel nostro impegno costante a fornire ai clienti DoiT tutti gli strumenti e le competenze per gestire e controllare in modo efficace l'ambiente cloud, su ogni principale driver di costo. In futuro arriveranno nuovi service provider e nuove integrazioni che le permetteranno di portare in DoiT Cloud Intelligence l'intera spesa IT rilevante, in un unico punto di osservazione, riducendo ulteriormente le frizioni nella sua pratica FinOps in crescita.
Per saperne di più su Snowflake Lens e sul suo funzionamento, clicchi sull'immagine qui sotto per un tour autoguidato completo, oppure contatti un esperto DoiT.
