La solución flexible y eficiente para procesamiento de datos en la nube

En la actualidad, la necesidad de procesar grandes volúmenes de datos de manera rápida y eficiente se ha convertido en una prioridad para muchas organizaciones. Tradicionalmente, este procesamiento se ha realizado utilizando clústeres fijos que, aunque efectivos, implican costos asociados a recursos ociosos. Aquí es donde entra en juego Google Cloud Dataproc Serverless.

¿Qué es Dataproc Serverless?

Dataproc Serverless es un servicio que permite ejecutar cargas de trabajo Apache Spark sin necesidad de administrar ni mantener infraestructura específica. A diferencia de soluciones tradicionales, Dataproc Serverless escala automáticamente en función de las necesidades del job y cobra únicamente por los recursos realmente utilizados.

La unidad fundamental de facturación en Dataproc Serverless es el DCU (Data Compute Unit), que se determina en función del número de CPUs virtuales (vCPU) y la memoria utilizada.

En Dataproc Serverless, la configuración mínima requerida es 1 driver y 2 workers, cada uno con al menos 1 vCPU y 16 GB de RAM.

Con esta base clara, pasemos a entender cómo se calculan los costos de forma detallada.

¿Cómo se calculan los costos?

El cálculo del costo en Dataproc Serverless es transparente y se basa en el concepto de DCU:

  • 1 vCPU equivale a 0.6 DCU.

  • La memoria se factura según su proporción:

  • Hasta 8 GB por vCPU: 0.1 DCU por GB

  • Más de 8 GB por vCPU: 0.2 DCU por GB

Es importante considerar que los DCU en Dataproc pueden pasar de estándar a premium si la memoria que definimos para nuestros jobs supera los 8 GB por vCPU. Esto significa que ajustar la memoria más allá de ese punto incrementará significativamente el costo por DCU utilizado.

La tarifa estándar es aproximadamente $0.06 por DCU por hora.

Ahora que entendemos cómo funciona la estructura de costos, veamos cómo se aplica este cálculo en un ejemplo práctico.

Ejemplo práctico: Procesando 1 TB de datos

Imaginemos un job sencillo que procesa 1 TB de datos en Dataproc Serverless con 1 driver y 2 workers, ejecutándose en un tiempo promedio de 20 minutos.

Configuración del Job:

  • Driver: 4 vCPU y 16 GB de RAM

  • Cada Worker: 4 vCPU y 16 GB de RAM

Calculamos los DCU:

  • Driver: 4 vCPU × 0.6 = 2.4 DCU; Memoria: 16 GB (8 GB iniciales al 0.1 DCU/GB = 0.8 DCU + 8 GB adicionales al 0.2 DCU/GB = 1.6 DCU). Total Driver: 4 DCU.

  • Workers (cada uno): 4 DCU. Total Workers: 2 × 4 DCU = 8 DCU.

  • DCU total por job: 4 DCU (Driver) + 8 DCU (Workers) = 12 DCU.

Cálculo del costo:

  • Duración: 20 minutos (1/3 hora).

  • DCU totales: 12 DCU × 1/3 hora = 4 DCU-hora

  • Costo total: 4 DCU-hora × $0.06 = $0.24.

Este ejemplo nos ayuda a visualizar cómo la facturación se ajusta a los recursos consumidos. Ahora, exploremos qué sucede cuando necesitamos ejecutar múltiples trabajos en paralelo.

Ejecutando múltiples jobs en paralelo

Una de las grandes ventajas de Dataproc Serverless es su capacidad para ejecutar múltiples jobs simultáneamente, escalando cada uno de forma independiente. Supongamos dos jobs idénticos ejecutándose al mismo tiempo:

  • Job A: duración 30 minutos (0.5 hora)

  • Job B: duración 60 minutos (1 hora)

Cálculo del costo:

  • Job A: 12 DCU × 0.5 hora = 6 DCU-hora → 6 × $0.06 = $0.36

  • Job B: 12 DCU × 1 hora = 12 DCU-hora → 12 × $0.06 = $0.72

  • Costo total por ambos jobs = $0.36 + $0.72 = $1.08

Como podemos ver, cada job se factura de forma independiente y solo por el tiempo que realmente utiliza recursos. Esto permite un uso mucho más eficiente del presupuesto.

Para entender cómo optimizar esta flexibilidad, es clave conocer qué parámetros podemos ajustar en nuestra configuración.

¿Cómo ajustar los recursos?

La flexibilidad de Dataproc Serverless permite ajustar fácilmente los recursos para optimizar costos o rendimiento. Puedes modificar parámetros como:

  • Número de CPUs virtuales (spark.executor.cores)

  • Cantidad de memoria (spark.executor.memory)

Según la documentación oficial, es más relevante analizar si conviene tener más workers o más vCPUs por worker para lograr un procesamiento más rápido. En general, escalar el número de workers suele ser más eficiente, pero cada escenario puede requerir un ajuste distinto.

Un aumento en recursos incrementará el DCU y, en consecuencia, el costo total. Por ejemplo, si aumentas cada executor a 8 vCPU y 64 GB de RAM:

  • vCPU: 8 × 0.6 DCU = 4.8 DCU

  • Memoria: primeros 8 GB al 0.1 DCU/GB (0.8 DCU) + 56 GB al 0.2 DCU/GB (11.2 DCU) → 12 DCU en memoria.

  • Total executor: 4.8 + 12 = 16.8 DCU ≈ 17 DCU por executor.

Así, podrás encontrar el equilibrio entre velocidad de procesamiento y optimización de costos.

Con esto claro, veamos por qué Dataproc Serverless se destaca frente a otras opciones tradicionales.

Beneficios clave de Dataproc Serverless

  • Escalabilidad automática: se adapta instantáneamente al volumen y la complejidad de los datos.

  • Facturación transparente: solo se paga por lo realmente consumido, sin costos ocultos.

  • Optimización del rendimiento: permite ejecutar múltiples procesos simultáneamente sin afectar el desempeño individual de cada job.

Estos beneficios lo convierten en una opción poderosa para cualquier proyecto de análisis de datos en la nube.

Conclusión

Dataproc Serverless ofrece una manera sencilla, eficiente y rentable de gestionar procesamiento de datos en la nube, ajustándose perfectamente a las necesidades específicas de cada job. Esto hace que sea una solución ideal tanto para pequeñas empresas como para grandes corporaciones que necesitan flexibilidad y control en sus gastos operativos.

Utiliza Dataproc Serverless y maximiza la eficiencia y el valor de tus cargas de trabajo en Google Cloud.

0
Subscribe to my newsletter

Read articles from Jesús Castellanos directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Jesús Castellanos
Jesús Castellanos