Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Picchi di costo su BigQuery: intercettarli prima che diventino un incubo in fattura

By Craig LowellJan 8, 20264 min read

Questa pagina è disponibile anche in English, Deutsch, Español, Français, 日本語 e Português.

BigQuery è in grado di eseguire query complesse e onerose in pochi secondi. Quando però qualcosa va storto, anche i costi possono lievitare con la stessa rapidità, spesso prima che qualcuno se ne accorga.

Il rilevamento in tempo reale delle anomalie di costo per Google BigQuery nasce proprio per colmare questa lacuna. Offre una visibilità pressoché immediata sui comportamenti di costo anomali in BigQuery, sia sui workloads on-demand sia su quelli con reservation, permettendo ai team di individuare e fermare i problemi prima che sfuggano di mano.

Perché le anomalie di costo di BigQuery sono così difficili da intercettare

La maggior parte degli strumenti FinOps si basa sull'importazione del file di fatturazione del giorno successivo. Significa che, se oggi alle 10:00 viene eseguita una query problematica, l'avviso arriverà solo domani mattina, dopo che ha già accumulato addebiti per quasi 24 ore. E se il ritardo coincide con un weekend o con orari non lavorativi, l'impatto economico può essere ancora più pesante.

Per superare questo ritardo, il rilevamento in tempo reale delle anomalie di DoiT per BigQuery analizza i metadati di utilizzo dal vivo, senza attendere gli export di fatturazione.

Una volta attivata, questa funzionalità:

  • Analizza in modo continuo i pattern di utilizzo di BigQuery
  • Rileva comportamenti anomali o inattesi
  • Stima l'impatto sui costi quasi in tempo reale
  • Invia avvisi via Slack o email in meno di un'ora, non il giorno dopo

Tutto questo vale sia per BigQuery on-demand sia per le reservation, garantendo ai team piena visibilità su tutti i loro workloads BQ.

Un caso reale: un picco di costo intercettato prima che degenerasse

Un cliente ha ricevuto un avviso di anomalia BigQuery in tempo reale e ha subito aperto un ticket P1 per indagare insieme a noi. In condizioni normali, non si sarebbe accorto del problema prima del giorno successivo, ovvero, in questo caso, a tarda sera di un venerdì pomeriggio.

Come si presentava l'anomalia

L'utilizzo on-demand tipico di BigQuery di questo cliente arriva al massimo intorno ai 3.000 dollari al giorno, come si vede chiaramente nell'interfaccia di rilevamento delle anomalie.

Il giorno dell'avviso, però, un breve picco di attività ha fatto salire i costi a 6.000 dollari, quasi il doppio del massimo abituale. Un picco breve, ma sufficientemente rilevante da essere segnalato dal motore di rilevamento in tempo reale di DoiT, che ha inviato l'avviso.

Guardi il video qui sotto per una panoramica dettagliata del caso reale e per vedere come il rilevamento in tempo reale delle anomalie ha evitato un incidente costoso su BigQuery prima che la situazione precipitasse.

Individuare la causa in pochi minuti

Indagando, abbiamo scoperto che erano in esecuzione 122 job BigQuery in contemporanea, tutti on-demand. Ogni job aveva il prefisso airflow, segnale di un deployment self-hosted di Airflow o di Google Cloud Composer.

I job:

  • Venivano eseguiti molto più spesso del previsto
  • Elaboravano volumi di dati insolitamente elevati
  • Erano probabilmente innescati più volte a causa di un problema di configurazione

La causa di fondo era un cron schedule digitato male in Airflow.

È un problema più diffuso di quanto si pensi. Un job pensato per girare una volta al giorno può finire per essere eseguito ogni ora, o addirittura ogni minuto. Quando succede, una query da 100 dollari si trasforma improvvisamente in una spesa giornaliera di 2.400 dollari, semplicemente perché viene eseguita più spesso del dovuto.

Poiché questi job venivano eseguiti ripetutamente e senza caching, i costi sono schizzati quasi all'istante, e il rilevamento in tempo reale delle anomalie li ha intercettati con la stessa rapidità.

Perché il rilevamento in tempo reale cambia tutto

Questo episodio si è verificato un venerdì pomeriggio alle 16:30.

Senza il rilevamento in tempo reale, il cliente probabilmente non si sarebbe accorto di nulla fino al lunedì mattina. Se il job fosse stato pianificato in modo ancora più aggressivo (per esempio ogni minuto anziché ogni ora), il solo weekend avrebbe potuto generare decine di migliaia di dollari di addebiti BigQuery imprevisti.

Grazie a DoiT, invece, l'anomalia è stata segnalata entro un'ora. Il cliente ha fermato subito i job, evitando un grave problema di fatturazione prima che avesse il tempo di crescere.

Più del semplice controllo dei costi: perché è importante

Il rilevamento in tempo reale delle anomalie di BigQuery aiuta i team a:

  1. Intercettare le query fuori controllo in pochi minuti, così che i team di engineering possano fermare le query inefficienti o accidentali prima che generino costi significativi.
  2. Proteggersi dagli errori operativi, ricevendo un avviso quando configurazioni sbagliate o comportamenti inattesi iniziano a incidere sulla spesa.
  3. Rafforzare la postura di sicurezza, perché picchi di costo improvvisi possono indicare accessi non autorizzati o sistemi compromessi, non solo query inefficienti (veda questo esempio dell'anno scorso, in cui alcuni clienti AWS si sono visti addebitare migliaia di dollari su EC2 a causa di un attore malevolo).

Invece di reagire alla fattura di ieri, oggi i team possono intervenire mentre il problema è ancora in corso.

Prenda il controllo della spesa BigQuery in tempo reale

BigQuery è uno strumento estremamente potente, ma anche piccoli errori possono diventare costosi molto in fretta. Il rilevamento in tempo reale delle anomalie di costo offre ai team finance, data e platform la visibilità necessaria per anticipare i rischi prima che i costi sfuggano di mano.