Introdução
O recente anúncio do Google Cloud sobre habilitar a API Dataplex por padrão para todos os clientes do BigQuery a partir de 04/03/2024 abre possibilidades empolgantes para análises mais avançadas.
MAS essa mudança também traz consigo implicações de custo potencialmente perigosas! Ainda mais considerando a natureza da própria API Dataplex e de APIs complementares, como as APIs Data Lineage e Data Catalog.
Neste post, vamos detalhar essa novidade, seu impacto nos custos e as estratégias para mitigar esses efeitos, conforme apresentado originalmente por mim e pelo meu colega Google Data Practice Lead na DoiT, Sayle Matthews, em nosso webinar de 29 de fevereiro e neste post no LinkedIn.
Entendendo a mudança
Em um e-mail enviado pela equipe do Google Cloud a todos os usuários do Google BigQuery em meados de fevereiro, com o título "[Action Advised] Review the updates to BigQuery to confirm if you need to take action on your projects", foi anunciado que, a partir de 04/03/2024, a API Dataplex será habilitada automaticamente em todos os projetos BigQuery ativos e ativada por padrão em novos projetos do Google Cloud.
Essa medida faz parte do lançamento mais amplo do BigQuery Studio (link), que tem como objetivo entregar aos usuários recursos adicionais da plataforma de analytics de forma transparente.
Os pontos importantes desse e-mail estão abaixo, e ele também destaca outras APIs que serão habilitadas automaticamente em decorrência das mudanças que entram em vigor em 04 de março:
O impacto da habilitação do serviço Dataplex em geral, bem como das APIs associadas a ele, como as APIs Data Catalog e Data Lineage, é o maior motivo de preocupação entre os itens listados acima.
Para os fins deste post, vale destacar que, conforme o post de Sayle Matthews no LinkedIn, o Google lançou um grande release do Dataplex na semana de 26 de fevereiro, que corrigiu várias dessas preocupações em torno da habilitação automática de recursos com custos associados — então, felizmente, essa mudança hoje impacta menos usuários potenciais.
Implicações do Dataplex nos custos do GCP
Embora a chegada do Dataplex traga o potencial de recursos avançados de governança e gestão de dados para os clientes do GCP, é fundamental ficar atento às possíveis implicações de custo associadas à sua habilitação automática a partir de 04 de março.
O Dataplex traz funcionalidades e processos ocultos atrelados a vários serviços e APIs de dados do Google Cloud, como Google BigQuery, Cloud Dataflow e Cloud Pub/Sub, por exemplo, o que pode elevar custos caso você não gerencie essa mudança nos seus projetos GCP de forma eficaz!
De acordo com a página oficial de preços do Dataplex, o próprio Dataplex cobra por meio de 4 SKUs principais, faturados de formas diferentes:
- Processamento Dataplex (standard e premium)
- Armazenamento de shuffle do Dataplex
- Chamadas à API Data Catalog
- Armazenamento de metadados do Data Catalog
O mais relevante desses SKUs nos seus custos do Dataplex é o de Processamento, que, no momento em que escrevemos, é cobrado em DCU-horas (US$ 0,060 por DCU-hora no processamento Dataplex Standard e US$ 0,089 no Premium, sendo que esses valores podem variar por região).
A tabela abaixo, retirada da página de preços do Dataplex, mostra como o processamento Dataplex é cobrado na prática:
Como mostra a tabela, o SKU de processamento do Dataplex pode executar uma boa quantidade de funções nas suas fontes de dados do GCP se for deixado rodando livremente (e isso antes mesmo de chegarmos nas APIs associadas Data Lineage e Data Catalog!). Mas, afinal, como o SKU de processamento do Dataplex realmente funciona?
A resposta está na criação de Lakes e Zones do Dataplex. No Dataplex, um Lake funciona, na prática, como um domínio de data mesh para abrigar os artefatos de dados de uma unidade de negócio, conforme mostrado abaixo. Os Lakes, por sua vez, podem conter Zones, Assets e Entities para gerenciar seus dados conforme as estruturas de negócio e de dados da sua empresa dentro do Google BigQuery, GCS etc.
Ao tentar criar um Dataplex Lake (link), depois de definir o nome do Lake, a região e as políticas de rotulagem que quiser aplicar, é preciso também vincular o Lake a um Dataproc Metastore.
Esse é um grande contribuinte para o custo total do processamento Dataplex, já que o Metastore é usado pelo Dataplex para gerenciar o processamento do workbench de exploração de dados e ainda afeta seus custos do Dataproc por meio do custo de execução do próprio Metastore. Ele também está disponível em diferentes tiers (Developer e Enterprise no Metastore v1; Enterprise e Enterprise Plus no v2), com recursos e preços diferentes conforme as necessidades específicas do seu Dataproc Metastore, como detalhado aqui.
Depois de criado o seu Dataplex Lake, a API Dataplex passa a processar e escanear seus dados conforme os processos de exploração de dados destacados anteriormente. É nessa hora que você vai ver os SKUs de processamento aparecerem nos seus relatórios do Google Cloud Billing — e é também nessa hora que os custos podem disparar!
Um ponto-chave, porém, é que, embora o Dataplex em si com um Dataproc metastore execute alguns processos custosos, outros serviços oferecidos sob o guarda-chuva do Dataplex — como Data Lineage, Data Profiling, Data Catalog e Data Quality — só geram custos quando ativados. Este post vai focar em particular nas APIs Lineage e Catalog, pois é onde costumamos ver as maiores implicações de custo para os nossos clientes.
Sobre a API Data Lineage: como o nome sugere, ela serve para escanear todos os processos de dados definidos via Dataplex e rastrear quaisquer operações que tenham levado à criação dos seus assets — por exemplo, jobs do BigQuery, pipelines do Dataflow ou operações do Pub/Sub ou Dataproc que tenham resultado em alguma modificação nos seus assets. À primeira vista, isso pode parecer inofensivo, mas os exemplos acima podem gerar uma quantidade enorme de chamadas de API por operação, o que se reflete diretamente no preço da API Data Lineage, conforme a explicação a seguir.
A API Data Catalog, assim como a Data Lineage, é outra API separada que precisa ser habilitada. Ela trabalha diretamente com a Data Lineage para armazenar metadados das suas operações e também atua com a maioria dos serviços do guarda-chuva Dataplex para gerar chamadas de API a partir das suas operações associadas ao Dataplex e à API Data Lineage em particular.
O screenshot abaixo, retirado das páginas de preços do Dataplex do Google, detalha a composição dos seus custos com Data Lineage e Data Catalog em particular.
Como mencionamos, ambas as APIs são faturadas com base em chamadas de API e, dependendo da escala dos diversos serviços de dados que você usa no Google Cloud, esse número pode facilmente chegar à casa dos milhões, o que torna essa cobrança bastante significativa quando as duas APIs estão habilitadas.
Além disso, o Data Catalog também usa o Dataproc metastore para armazenar metadados, o que, assim como no caso do Dataplex, vai custar mais conforme a versão do Dataproc metastore em uso e, claro, o volume de metadados armazenados.
Estimando o impacto total de custo do Dataplex
Uma das principais perguntas que nossos clientes nos fazem sobre essas mudanças no Dataplex é: "Como conseguimos estimar quanto todos esses elementos do Dataplex vão custar?". Infelizmente, a resposta curta é: não há uma forma fácil de estimar isso.
Conversando diretamente com o Google sobre o tema, nossos Engineers descobriram que não há como vincular um determinado processo a uma chamada específica da API Dataplex, o que torna praticamente impossível estimar essa parte dos seus custos.
O elemento de custo de Processamento também é difícil de estimar, embora esteja documentado que esses custos são linearmente proporcionais ao volume de dados associado aos seus Dataplex Lakes.
Embora essa não seja a resposta simples e direta que você gostaria, é totalmente possível mitigar TODOS esses elementos de custo com uma boa gestão das suas APIs e serviços do Dataplex!
Mitigando o impacto desses custos adicionais — suas opções
Desabilitar o Dataplex e suas APIs associadas por completo
Quem não está aproveitando os recursos avançados do Dataplex hoje, ou não tem planos imediatos de implementar seus recursos específicos de governança de dados, pode considerar desabilitar o Dataplex e suas APIs por completo.
Uma forma fácil de fazer isso é pelo Google Cloud Console: por meio da sua interface simples, dá para habilitar/desabilitar qualquer uma das suas APIs na página "APIs and Services" — nome bastante apropriado.
Ao acessar essa página no Google Cloud Console, você verá algo parecido com a imagem acima, mostrando todas as APIs e serviços habilitados. A partir daí, basta buscar a API que deseja desabilitar — por exemplo, as APIs Cloud Dataplex, Data Catalog ou Data Lineage — e clicar em "Disable API", como mostra o screenshot abaixo, desligando assim a API e todos os custos ou operações que ela habilitaria.
Por outro lado, vários clientes nos perguntaram, durante o webinar, se esse processo pode ser feito de forma programática, via scripts de linha de comando. A resposta é sim: o trecho de script abaixo pode ser executado em uma API específica dentro dos seus projetos do Google Cloud para desabilitá-la programaticamente:
gcloud services disable API_SERVICE_NAME — project PROJECT_ID
O script acima não funciona automaticamente se a API tiver sido usada nos últimos 30 dias, então, nesse caso, é preciso adicionar a opção –force após o nome do serviço da API para conseguir desabilitar as APIs do Dataplex.
Um script semelhante também pode ser executado em toda a sua Organização do GCP, caso você precise rodar esse processo em vários projetos dentro da sua Org GCP. Veja um exemplo abaixo:
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
Para facilitar ainda mais, no e-mail original enviado em 16 de fevereiro o Google forneceu um link de formulário que impede automaticamente que as APIs previstas para 04/03/2024 sejam habilitadas nos seus projetos. Portanto, se você ou alguém com o acesso pertinente na sua organização já tiver seguido esse link, todas as APIs relevantes já devem estar desabilitadas.
Para os fins deste post, no entanto, queremos reforçar: só desabilite APIs e serviços no Google Cloud se tiver certeza de que eles não estão sendo usados por nenhum dos seus processos de negócio. Por isso, recomendamos que os scripts acima sejam executados apenas em APIs específicas relacionadas ao Dataplex e somente quando você tiver certeza de que não está utilizando processos como Dataplex Data Lineage ou Data Catalog.
Garanta a ativação seletiva de recursos do Dataplex
Para quem quer manter o equilíbrio entre uma governança de dados mais robusta e o custo-benefício ao usar o Dataplex, ativar seletivamente recursos específicos pode ser uma estratégia inteligente.
Avaliando com cuidado quais funcionalidades e APIs do Dataplex são realmente necessárias para os seus projetos, é possível habilitar apenas o que estiver alinhado com a sua necessidade. Recomendamos fortemente que os usuários do Google Cloud pensem com calma sobre o uso que pretendem fazer do Dataplex e, se decidirem adotá-lo, sejam criteriosos quanto aos recursos e APIs habilitados.
Também aconselhamos os usuários do Google Cloud que pretendem usar o serviço Dataplex a criarem um único projeto GCP "admin", onde toda a funcionalidade do Dataplex resida e seja executada, para minimizar custos e complexidade no negócio após essa mudança. Isso ajuda a limitar o impacto das diversas chamadas de API, dos encargos de Processamento e de Armazenamento de Metadados que podem surgir ao habilitar o Dataplex e seus recursos em vários projetos da sua Organização Google Cloud.
Garanta monitoramento e otimização constantes
Monitorar de forma constante os seus custos relacionados ao Dataplex é essencial. O Google Cloud oferece ferramentas detalhadas de billing e gestão de custos que ajudam você a acompanhar suas despesas. Entre elas estão o Google Cloud Billing, o Cloud Monitoring e o Cloud Logging, que permitem rastrear seus gastos diretos por SKU, seu uso por meio de dashboards de fácil leitura e entradas individuais de logging relacionadas ao serviço Dataplex e às APIs mencionadas.
Revisar regularmente esses relatórios e saídas de serviço permite identificar picos inesperados de custos e agir a tempo para otimizar o uso.
Também é possível configurar alertas via Cloud Monitoring Policies (como na imagem) para acompanhar proativamente quaisquer violações em métricas de uso que você queira monitorar, como o serviço Dataplex e seus recursos conectados.
Conclusão
A iminente ativação padrão da API Dataplex em projetos do Google BigQuery traz tanto oportunidades quanto desafios para os clientes do Google Cloud.
Ao entender as implicações e adotar estratégias proativas de gestão de custos, os usuários conseguem continuar aproveitando o poder do BigQuery e dos recursos em evolução do Dataplex sem abrir mão de operações com bom custo-benefício.
As recomendações apresentadas neste post, somadas aos insights dos especialistas do setor da DoiT, podem posicionar os usuários do Google BigQuery para atravessar essa mudança com sucesso e otimizar seu uso e gasto no Google Cloud diante dessa virada iminente.
Para encerrar, gostaria de acrescentar alguns pontos finais sobre nós da DoiT International. Apoiar nossos clientes em análises e planejamento de longo prazo após mudanças de grande impacto como essa é uma das principais coisas que fazemos como empresa.
Se você ainda não é cliente da DoiT, recomendamos que dê uma olhada nas nossas páginas aqui. Temos um time extremamente qualificado e experiente, ajudamos nossos clientes a tirar o máximo proveito dos seus recursos do Google Cloud (assim como AWS e Azure) e produzimos continuamente blogs e webinars como este para guiar nossos clientes da melhor forma diante dessas mudanças.
Obrigado pela leitura — esperamos que este post, nosso conteúdo mais amplo e a experiência do nosso time ajudem você a navegar com tranquilidade essa mudança nos recursos do BigQuery e do Dataplex nas próximas semanas!
Perguntas frequentes adicionais
Além do artigo no LinkedIn do nosso colega da DoiT, Sayle Matthews, aqui, que esclarece as implicações mais amplas dessa mudança no BigQuery a partir de 04 de março, eu e o Sayle também conduzimos um webinar sobre o tema na quinta-feira, 29/02/2024 (link aqui), em que recebemos várias perguntas adicionais sobre o assunto. Selecionamos algumas e suas respostas abaixo, para referência (e você pode ouvir todas elas no próprio link do webinar):
P1: Qual seria a melhor (e menos dolorosa) forma de "escanear" essas APIs habilitadas em mais de 100 projetos GCP?
Resposta: Confira o script disponibilizado no conteúdo principal do post acima. Vale reforçar, no entanto, que desabilitar APIs todas de uma vez pode ser arriscado, então recomendamos desabilitar seletivamente as APIs que você tem certeza de que não são necessárias, conforme a realidade da sua organização.
P2: Vocês sabem o horário do dia 04 de março em que precisamos desabilitar essas APIs?
Resposta: O Google não especifica um horário em que as mudanças entrarão em vigor, mas recomendamos aos usuários do Google Cloud que desabilitem o quanto antes — no dia 04 de março ou logo depois — as APIs que não pretendem usar, para reduzir qualquer impacto inesperado nas faturas do Google Cloud. Embora muitos clientes não sejam afetados por essa mudança, queremos evitar que alguém receba surpresas desagradáveis no faturamento depois dela.
P3: Se eu não estiver usando nenhum dos serviços que o Google está habilitando automaticamente aqui, desabilitar as APIs depois do dia 04 manteria os custos como estão hoje? (considerando que usamos principalmente o BigQuery)
Resposta: Isso mesmo. Após a mudança feita outro dia, felizmente tudo passa a funcionar em um modelo de "opt-in". Sugerimos, ainda assim, que você confirme se desativou antes as APIs Data Lineage, Data Catalog e Data Discovery, para garantir que nenhum desses processos comece a gerar cobranças automaticamente.
P4: Dá para usar o DoiT Support Console para visualizar/acompanhar esses custos do Dataplex?
Resposta: Sim. Se você aplicar um filtro pelo serviço "Dataplex", ele lista todos. Quando nossos Engineers fazem troubleshooting, costumamos filtrar por Service em Dataplex e depois agrupar por SKU e projeto. Isso mostra os custos por projeto e por SKU no DoiT Console.