Introducción
El reciente anuncio de Google Cloud sobre la activación por defecto de la API de Dataplex para todos los clientes de BigQuery a partir del 4 de marzo de 2024 abre posibilidades muy interesantes para potenciar las capacidades analíticas.
PERO este cambio también trae consigo implicaciones de costo potencialmente peligrosas. Sobre todo, considerando la naturaleza de la propia API de Dataplex y de APIs complementarias como las de Data Lineage y Data Catalog.
En este artículo profundizaremos en los detalles de este cambio, su impacto en los costos y las estrategias para mitigar sus efectos, tal como lo expusimos originalmente mi colega Sayle Matthews (Google Data Practice Lead en DoiT) y yo en nuestro webinar del 29 de febrero y a través de este post de LinkedIn.
Entendiendo el cambio:
En un correo enviado por el equipo de Google Cloud a mediados de febrero a todos los usuarios de Google BigQuery, titulado "[Action Advised] Review the updates to BigQuery to confirm if you need to take action on your projects", se anunció que a partir del 4 de marzo de 2024 la API de Dataplex se habilitará automáticamente en todos los proyectos activos de BigQuery y se activará por defecto en los nuevos proyectos de Google Cloud.
Esta acción forma parte del lanzamiento más amplio de BigQuery Studio (link), cuyo objetivo es ofrecer a los usuarios capacidades adicionales de plataforma analítica de manera transparente.
Los puntos clave de ese correo se muestran a continuación. También se destacan otras APIs que se activarán automáticamente como consecuencia de los cambios del 4 de marzo:
La activación del servicio Dataplex en general, así como de las APIs asociadas a él como Data Catalog y Data Lineage, es la mayor causa de preocupación entre las mencionadas.
Para los efectos de este post, vale la pena señalar que, según el post de LinkedIn de Sayle Matthews, Google lanzó una versión mayor de Dataplex en la semana del 26 de febrero que solucionó varias de estas preocupaciones relacionadas con la auto-activación de funciones que generaban costos. Por suerte, este cambio impacta ahora a menos usuarios potenciales.
Implicaciones de Dataplex en los costos de GCP:
Si bien la llegada de Dataplex ofrece el potencial de funciones avanzadas de gobierno y gestión de datos para los clientes de GCP, es clave estar atento a las posibles implicaciones de costo asociadas a su activación automática a partir del 4 de marzo.
Dataplex introduce funcionalidades y procesos ocultos relacionados con varios servicios y APIs de datos de Google Cloud, como Google BigQuery, Cloud Dataflow y Cloud Pub/Sub, lo que podría derivar en mayores costos si no gestionas eficazmente este cambio dentro de tus proyectos de GCP.
Según la página principal de precios de Dataplex, este servicio cobra a través de 4 SKUs principales que se facturan de forma distinta:
- Procesamiento de Dataplex (estándar y premium)
- Almacenamiento de shuffle de Dataplex
- Llamadas a la API de Data Catalog
- Almacenamiento de metadatos de Data Catalog
El más relevante de estos SKUs en tus costos de Dataplex es el de Procesamiento, que al momento de escribir este artículo se cobra en DCU-horas (USD 0.060 por DCU-hora para el procesamiento estándar de Dataplex y USD 0.089 para el procesamiento premium, aunque estos cargos pueden variar según la región).
La siguiente tabla, tomada de la página de precios de Dataplex, muestra cómo se cobra el procesamiento de Dataplex en la práctica:
Como se ve arriba, el SKU de procesamiento de Dataplex puede ejecutar bastantes funciones sobre tus fuentes de datos en GCP si se le deja correr libremente (¡y esto es antes de entrar a las APIs asociadas de Data Lineage y Data Catalog!). Pero ¿cómo funciona realmente el SKU de procesamiento de Dataplex?
La respuesta está en la creación de Lakes y Zones de Dataplex. En Dataplex, un Lake es básicamente un dominio de data mesh que contiene los artefactos de datos de una unidad de negocio, como se muestra a continuación. Los Lakes, a su vez, pueden contener Zones, Assets y Entities para gestionar tus datos según las estructuras de tu negocio dentro de Google BigQuery, GCS, etc.
Cuando intentas crear un Dataplex Lake (link), tras especificar el nombre del Lake, la región y las políticas de etiquetado que quieras aplicarle, también necesitas vincularlo a un Dataproc Metastore.
Este es un gran contribuyente a los costos generales de procesamiento de Dataplex, ya que el Metastore se utiliza para gestionar el procesamiento del workbench de exploración de datos y también afecta tus costos de Dataproc por la ejecución del propio Metastore. Este último está disponible en distintos niveles (Developer y Enterprise para Metastore v1, y Enterprise y Enterprise Plus para v2), que se aprovisionan y se cobran de manera diferente según las necesidades específicas de tu Dataproc Metastore, como se detalla aquí.
Una vez creado tu Dataplex Lake, la API de Dataplex empezará a procesar y escanear tus datos según los procesos de exploración mencionados antes. En esta etapa, los SKUs de procesamiento aparecerán en tu facturación de Google Cloud, y es ahí donde los costos pueden dispararse.
Un punto clave es que, si bien Dataplex en sí mismo con un Dataproc Metastore ejecutará algunos procesos costosos, otros servicios bajo el paraguas de Dataplex como Data Lineage, Data Profiling, Data Catalog y Data Quality requieren activarse para generar costos. Este blog cubrirá en particular las APIs de Lineage y Catalog, ya que son las que normalmente representan las mayores implicaciones de costo para nuestros clientes.
Respecto a la API de Data Lineage, como su nombre lo indica, se utiliza para escanear todos tus procesos de datos definidos a través de Dataplex y rastreará cualquier operación que haya derivado en la creación de tus assets, por ejemplo: jobs de BigQuery, pipelines de Dataflow u operaciones de Pub/Sub o Dataproc en ejecución que hayan modificado tus assets. Aunque esto pueda sonar inofensivo, los ejemplos mencionados pueden generar una cantidad enorme de llamadas a la API por cada operación, lo cual se vincula directamente con los precios de la API de Data Lineage según la explicación a continuación.
La API de Data Catalog, al igual que la de Data Lineage, es otra API independiente que debe habilitarse. Trabaja directamente con Data Lineage para almacenar metadatos relacionados con tus operaciones y también funciona con la mayoría de los servicios bajo el paraguas de Dataplex para generar llamadas a la API a partir de operaciones asociadas con Dataplex y, en particular, con la API de Data Lineage.
La siguiente captura, tomada de las páginas de precios de Dataplex de Google, detalla el desglose de los costos de Data Lineage y Data Catalog en particular.
Como se mencionó, ambas APIs se facturan en función de las llamadas a la API y, dependiendo de la escala de tus distintos servicios de datos en Google Cloud, estas pueden dispararse fácilmente a millones de llamadas, convirtiéndose en un cargo significativo cuando ambas están habilitadas.
Además, Data Catalog también utiliza el Dataproc Metastore para almacenar metadatos, lo que, al igual que en el uso que hace Dataplex, costará más según la versión del Dataproc Metastore que estés usando, así como del volumen de metadatos almacenados, claro está.
Cómo estimar el impacto total en costos de Dataplex
Una de las principales preguntas que nos hacen nuestros clientes sobre estos cambios en Dataplex es: "¿Cómo podemos estimar cuánto nos costarán todos estos elementos de Dataplex?". Lamentablemente, la respuesta corta es que no hay una forma sencilla de estimarlo.
Tras conversarlo directamente con Google, nuestros Engineers han comprobado que no existe forma de vincular un proceso determinado con una llamada específica a la API de Dataplex, por lo que estimar este componente de tus costos es prácticamente imposible.
El componente de costo de Procesamiento también es difícil de estimar, aunque está documentado que estos costos son linealmente proporcionales al volumen de datos asociado a tus Dataplex Lakes.
Aunque esta no sea la respuesta sencilla que esperabas, sin duda se pueden mitigar TODOS estos componentes de costo con una buena gestión de tus APIs y servicios de Dataplex.
Cómo mitigar el impacto de estos costos adicionales — tus opciones:
Deshabilitar Dataplex y sus APIs asociadas por completo:
Quienes hoy no estén aprovechando las funciones avanzadas de Dataplex o no tengan planes inmediatos de implementar sus capacidades específicas de gobierno de datos pueden considerar deshabilitar Dataplex y sus APIs por completo.
Una forma sencilla de lograrlo es desde la Google Cloud Console, ya que con su interfaz simple puedes habilitar/deshabilitar cualquiera de tus APIs en la página llamada precisamente "APIs and Services".
Cuando entres a esa página en la Google Cloud Console, deberías ver una pantalla similar a la de arriba con todas tus APIs y servicios habilitados. Desde ahí, puedes buscar la API que quieras deshabilitar (p. ej. Cloud Dataplex, Data Catalog o Data Lineage) y luego hacer clic en "Disable API" como se muestra en la siguiente captura, deshabilitando así la API y todos los costos u operaciones que esta habilitaría.
Por otro lado, varios clientes en el webinar nos preguntaron si este proceso se puede hacer de forma programática mediante scripts de línea de comandos. La respuesta es sí: el siguiente extracto de script puede ejecutarse sobre una API específica dentro de tus proyectos de Google Cloud para deshabilitarla programáticamente:
gcloud services disable API_SERVICE_NAME — project PROJECT_ID
El script anterior no funcionará automáticamente si la API se ha utilizado en los últimos 30 días, por lo que, además, deberás añadir la opción –force después del nombre del servicio de la API para deshabilitar las APIs de Dataplex correctamente.
También se puede ejecutar un script similar a nivel de toda tu organización en GCP, en caso de que necesites correr este proceso en varios proyectos de tu Org. Un ejemplo:
API_TO_DISABLE=API_SERVICE_NAME
for PROJECT_ID in $(gcloud projects list –filter=’parent.id=ORG_ID’ — format=’value(projectId)’)
do
echo "Processing $PROJECT_ID"
# Disable the API for the project
echo "Disabling $API_TO_DISABLE in $PROJECT_ID"
gcloud services disable $API_TO_DISABLE — project $PROJECT_ID
done
Como dato útil, en su correo original del 16 de febrero, Google compartió un enlace a un formulario que evita automáticamente que las APIs que se activarán a partir del 4 de marzo de 2024 se habiliten en tus proyectos. Así que si tú o alguien con los permisos correspondientes en tu organización ya siguió ese enlace, todas las APIs relevantes ya deberían estar deshabilitadas.
Sin embargo, para los efectos de este post, queremos enfatizar que solo deberías deshabilitar APIs y servicios en Google Cloud si tienes la certeza de que ninguno de tus procesos de negocio los está utilizando. Por eso recomendamos que los scripts anteriores se ejecuten únicamente sobre APIs específicas relacionadas con Dataplex y solo si estás seguro de que no usas los procesos de Data Lineage o Data Catalog de Dataplex.
Activa funciones de Dataplex de forma selectiva:
Para quienes deseen mantener el equilibrio entre un mejor gobierno de datos y la eficiencia en costos al usar Dataplex, activar funciones de forma selectiva puede ser una estrategia prudente.
Al evaluar con cuidado qué funcionalidades y APIs específicas de Dataplex se necesitan para sus proyectos, los usuarios pueden habilitar solo las que se ajusten a sus requerimientos. Recomendamos a los usuarios de Google Cloud pensar bien para qué necesitan Dataplex y, si deciden usarlo, ser cautelosos con las funciones y APIs que habilitan.
También aconsejamos a los usuarios de Google Cloud que sí deseen usar Dataplex que creen un único proyecto "admin" en GCP donde resida y se ejecute toda la funcionalidad de Dataplex, para minimizar costos y complejidad para tu negocio tras este cambio. Esto ayudará a limitar el impacto de las distintas llamadas a la API y de los cargos por procesamiento y por almacenamiento de metadatos que pueden surgir al habilitar Dataplex y sus funciones en múltiples proyectos de tu organización en Google Cloud.
Mantén un monitoreo y optimización constantes:
El monitoreo constante de tus costos relacionados con Dataplex es esencial. Google Cloud ofrece herramientas detalladas de facturación y gestión de costos que te ayudan a llevar el control de tus gastos. Algunos ejemplos son Google Cloud Billing, Cloud Monitoring y Cloud Logging, que te permiten rastrear tu gasto directo por SKU, tu uso a través de dashboards fáciles de leer y entradas de logs individuales relacionadas con el servicio Dataplex y las APIs mencionadas.
Revisar regularmente estos reportes y outputs permite a los usuarios de Google Cloud identificar cualquier pico inesperado en costos y tomar acciones a tiempo para optimizar su uso.
Los usuarios también pueden configurar alertas mediante Cloud Monitoring Policies, como se muestra en la captura, para rastrear de forma proactiva cualquier umbral en métricas de uso específicas que les interese controlar, como las del servicio Dataplex y los recursos conectados.
Conclusión:
La próxima activación por defecto de la API de Dataplex en proyectos de Google BigQuery presenta tanto oportunidades como desafíos para los clientes de Google Cloud.
Al comprender las implicaciones e implementar estrategias proactivas de gestión de costos, los usuarios pueden seguir aprovechando el poder de BigQuery y las capacidades en evolución de Dataplex, manteniendo a la vez operaciones eficientes en costos.
Las recomendaciones de este post, junto con las perspectivas de los expertos del sector en DoiT, pueden ayudar a los usuarios de Google BigQuery a navegar este cambio con éxito y optimizar su uso y gasto en Google Cloud frente a esta transición inminente.
Para cerrar este post, me gustaría agregar algunos puntos finales sobre nosotros en DoiT International. Acompañar a nuestros clientes con análisis y planeación a largo plazo tras cambios de gran impacto como este es una de las cosas principales que hacemos como empresa.
Así que si aún no eres cliente de DoiT, te invitamos como lector de este post a echar un vistazo a nuestras páginas aquí. Contamos con un equipo altamente capacitado y con amplia experiencia en DoiT, ayudamos siempre a nuestros clientes a sacarle el máximo provecho a sus recursos en Google Cloud (así como en AWS y Azure) y constantemente preparamos blogs y webinars como este para guiar a nuestros clientes ante estos cambios a medida que ocurren.
¡Gracias por leer este post! Esperamos que él, junto con el resto de nuestro contenido y nuestro equipo experimentado, te ayuden a navegar este cambio en BigQuery y las funciones de Dataplex en el futuro cercano.
Preguntas frecuentes adicionales
Además del artículo de LinkedIn de Sayle Matthews de DoiT aquí, que aborda las implicaciones más amplias de este cambio en BigQuery a partir del 4 de marzo, Sayle y yo también hicimos un webinar sobre el mismo tema el jueves 29 de febrero de 2024 (enlace aquí), donde nos hicieron varias preguntas adicionales sobre el tema. A continuación dejamos nuestras respuestas a una selección de ellas para referencia de nuestros lectores (puedes escuchar todas las respuestas en el enlace del webinar):
P1: ¿Cuál sería la mejor forma (la menos dolorosa) de "escanear" estas APIs habilitadas en más de 100 proyectos de GCP?
Respuesta: Consulta el script proporcionado en el contenido principal del blog. Queremos volver a recalcar que deshabilitar todas las APIs de golpe puede ser peligroso, así que te recomendamos deshabilitar de forma selectiva las APIs específicas que estés seguro de no necesitar, según las necesidades de tu organización.
P2: ¿Saben a qué hora del 4 de marzo debemos deshabilitar estas APIs?
Respuesta: Aunque Google no especifica una hora del día en la que estos cambios entrarán en vigor, recomendamos a los usuarios de Google Cloud deshabilitar las APIs que no necesiten lo antes posible el 4 de marzo o después de esa fecha, para reducir cualquier impacto imprevisto en sus facturas de Google Cloud. Si bien muchos clientes no se verán afectados por este cambio, no queremos que reciban sorpresas desagradables en su facturación tras el mismo.
P3: Si no estoy usando ninguno de los servicios que Google está habilitando automáticamente aquí, ¿deshabilitar las APIs después del día 4 mantendría los costos como están? (sabiendo que usamos principalmente BigQuery)
Respuesta: Correcto: tras el cambio reciente, todo queda afortunadamente en un modelo de "opt-in". Aun así, te sugerimos asegurarte de haber apagado las APIs de Data Lineage, Data Catalog y Data Discovery con anticipación, para garantizar que ninguno de estos procesos comience a generar cargos automáticamente.
P4: ¿Podemos usar la consola de soporte de DoiT para ver/rastrear estos costos de Dataplex?
Respuesta: Sí, si filtras por el servicio "Dataplex" aparecerán todos. Cuando nuestros Engineers hacen troubleshooting, normalmente filtramos por el servicio Dataplex y luego agrupamos por SKU y proyecto. Eso muestra los costos por proyecto y por SKU en la consola de DoiT.