Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Detecta picos de costos en BigQuery antes de que se vuelvan una pesadilla de facturación

By Craig LowellJan 8, 20264 min read

Esta página también está disponible en English, Deutsch, Français, Italiano, 日本語 y Português.

BigQuery es capaz de ejecutar consultas grandes y costosas en cuestión de segundos. Cuando algo falla, los costos se acumulan con esa misma velocidad y, muchas veces, antes de que alguien alcance a notarlo.

La detección de anomalías de costos en tiempo real para Google BigQuery está pensada precisamente para cerrar esa brecha. Ofrece visibilidad casi en tiempo real sobre comportamientos inesperados de costos en BigQuery, tanto en workloads on-demand como con reservas, para que los equipos identifiquen y frenen los problemas antes de que se salgan de control.

Por qué es tan difícil detectar las anomalías de costos en BigQuery

La mayoría de las herramientas de FinOps dependen de la ingesta del archivo de facturación al día siguiente. Es decir, si una consulta defectuosa se ejecutó hoy a las 10:00 AM, la alerta no llegaría sino hasta mañana por la mañana, después de haber acumulado cargos durante casi 24 horas. Y si ese retraso cae en un fin de semana o fuera del horario laboral, el impacto financiero puede ser todavía mayor.

Para sortear ese retraso, la detección de anomalías en tiempo real de DoiT para BigQuery analiza los metadatos de uso en vivo en lugar de esperar a las exportaciones de facturación.

Una vez activada, esta función:

  • Analiza de forma continua los patrones de uso de BigQuery
  • Detecta comportamientos anómalos o inesperados
  • Estima el impacto en costos casi en tiempo real
  • Envía alertas por Slack o correo en menos de una hora, no al día siguiente

Esto aplica tanto a BigQuery on-demand como a reservas, lo que da a los equipos visibilidad sobre todos sus workloads de BQ.

Un caso real: un pico de costos detectado antes de escalar

Un cliente recibió una alerta de anomalía en BigQuery en tiempo real y abrió de inmediato un ticket P1 para investigar en conjunto. En condiciones normales, no habría visto este problema hasta el día siguiente, como mínimo, lo que en este caso habría sido a última hora de un viernes.

Cómo se veía la anomalía

El uso on-demand habitual de BigQuery de este cliente llega como máximo a unos $3,000 por día, algo que se ve con claridad en la interfaz de detección de anomalías.

El día de la alerta, una breve ráfaga de actividad disparó los costos hasta los $6,000, casi el doble de su máximo habitual. El pico fue corto, pero lo bastante significativo como para que el motor de detección en tiempo real de DoiT lo marcara y enviara una alerta.

Mira el video a continuación para ver un recorrido detallado del caso real y cómo la detección de anomalías en tiempo real evitó un incidente costoso en BigQuery antes de que escalara.

Identificar la causa raíz en minutos

Al investigar, descubrimos que 122 jobs de BigQuery se estaban ejecutando en simultáneo, todos on-demand. Cada job tenía el prefijo airflow, lo que apuntaba a un despliegue autoalojado de Airflow o a Google Cloud Composer.

Los jobs se estaban:

  • Ejecutando con mucha más frecuencia de la esperada
  • Procesando volúmenes de datos inusualmente grandes
  • Disparando varias veces, probablemente por un problema de configuración

La causa raíz fue un cron mal escrito en Airflow.

Es un problema mucho más común de lo que parece. Un job que debía correr una vez al día puede terminar ejecutándose por accidente cada hora, o incluso cada minuto. Cuando eso ocurre, una consulta de $100 se transforma de pronto en un gasto diario de $2,400, solo porque se ejecuta con más frecuencia de la prevista.

Como estos jobs corrían repetidamente y sin caché, los costos se dispararon casi de inmediato, y la detección de anomalías en tiempo real los captó con la misma rapidez.

Por qué la detección en tiempo real lo cambia todo

Este incidente en particular ocurrió un viernes a las 4:30 PM.

Sin la detección en tiempo real, lo más probable es que el cliente no se hubiera dado cuenta hasta el lunes por la mañana. Si el job hubiera estado programado de forma aún más agresiva (por ejemplo, cada minuto en lugar de cada hora), solo el fin de semana podría haber generado decenas de miles de dólares en cargos inesperados de BigQuery.

En cambio, DoiT marcó la anomalía en menos de una hora. El cliente detuvo los jobs de inmediato y evitó un problema serio de facturación antes de que creciera.

Más que control de costos: por qué importa

La detección de anomalías en tiempo real para BigQuery ayuda a los equipos a:

  1. Detectar consultas descontroladas en minutos, para que los equipos de Engineering puedan frenar consultas ineficientes o accidentales antes de que generen costos serios.
  2. Protegerse de errores operativos, recibiendo alertas cuando configuraciones erróneas o comportamientos inesperados empiezan a impactar el gasto.
  3. Reforzar la postura de seguridad, ya que los picos repentinos de costos pueden indicar accesos no autorizados o sistemas comprometidos, no solo consultas ineficientes (mira este ejemplo del año pasado, en el que algunos clientes de AWS sufrieron el ataque de un actor malicioso que acumuló miles de dólares en cargos no autorizados de EC2).

En lugar de reaccionar a la factura de ayer, los equipos ya pueden actuar mientras el problema todavía está ocurriendo.

Toma el control del gasto en BigQuery en tiempo real

BigQuery es enormemente potente, pero hasta los errores más pequeños pueden volverse costosos muy rápido. La detección de anomalías de costos en tiempo real les da a los equipos de finanzas, datos y plataforma la visibilidad que necesitan para adelantarse al riesgo antes de que los costos se salgan de control.