Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Controle custos com CUDs do Google Cloud SQL

By Matthew PorterAug 10, 20216 min read

Esta página também está disponível em English, Deutsch, Español, Français, Italiano e 日本語.

Os custos do Google Cloud SQL estão tirando seu sono? Talvez você já tenha ouvido falar dos Committed Use Discounts (CUDs) para Cloud SQL, que podem reduzir drasticamente sua fatura de SQL, mas não sabe como estimar com precisão o potencial de economia. Existe uma ferramenta que torna rápido e fácil calcular quanto você vai economizar comprando CUDs do Cloud SQL e exatamente o quanto deve se comprometer — então vamos ao que interessa.

Os commitments do Google Cloud SQL são ótimos, mas como saber qual valor comprometer?

O que são os CUDs do Cloud SQL?

Para quem ainda não conhece os Committed Use Discounts, ou CUDs: são uma forma de obter capacidade computacional com descontos expressivos em uma região específica do GCP, em troca do compromisso de pagar pelo uso 24/7 desse recurso de compute regional por um período de um ou três anos, em pagamentos mensais e sem entrada. Você precisa pagar pela quantidade de Compute contratada, use ou não, o que faz dos CUDs uma boa escolha apenas quando você tem certeza de que um determinado workload vai manter uma carga consistente e pesada.

Originalmente, os CUDs eram limitados ao Compute Engine, mas os mesmos princípios foram estendidos recentemente ao Cloud SQL.

Como funcionam os CUDs?

Quando você compra um commitment de Cloud SQL, ele funciona da mesma forma que um commitment do Compute Engine: você se compromete a usar uma quantidade específica de CPUs e GBs de RAM. Esse modelo de commitment de Compute é vantajoso para quem usa o GCP, já que permite flexibilidade na hora de aproveitar o commitment. Você pode, por exemplo, usar todo um commitment de 100 CPUs e 400 GB de memória em um único banco de alta capacidade, ou então distribuir o uso entre 50 bancos menores de 2 CPUs e 8 GB — a economia será a mesma.

Todos os tipos de máquina do Cloud SQL, com exceção dos tipos de CPU compartilhada (como db-f1-micro e db-g1-small), podem aplicar o seu commitment. Assim, se um novo tipo de máquina Cloud SQL for lançado durante a vigência do commitment, você pode atualizar seus bancos para esse tipo mais recente e seguir aproveitando o desconto, desde que continue consumindo a mesma quantidade de CPU e memória.

No geral, a metodologia de CUDs do GCP é menos restritiva do que a de outros provedores de nuvem, em que você é obrigado a se comprometer com um tipo e tamanho de máquina específicos, e com uma quantidade fixa dessa máquina, durante todo o período do commitment.

Potencial de economia com CUDs

Os preços dos CUDs do Cloud SQL em agosto de 2020 são os seguintes: um commitment de um ano gera 25% de desconto sobre o preço sob demanda, enquanto um commitment de três anos chega a 52% de desconto. Esse desconto vale para qualquer tipo de banco Cloud SQL (MySQL, PostgreSQL e SQL Server), mas é fundamental lembrar que os CUDs se aplicam apenas ao número de CPUs e à quantidade de memória contratados — eles não cobrem custos de armazenamento, rede ou (no caso do SQL Server) licenciamento. Veja abaixo exemplos de preços do SQL Server na configuração padrão e em alta disponibilidade (HA):

Preços do SQL Server: sob demanda vs. CUDs de 1 ou 3 anos

Embora a tabela de preços pareça simples à primeira vista, fazer essa conta para um ambiente de produção pode ser bem desafiador. Você pode ter várias instâncias de Cloud SQL espalhadas por várias regiões. Cada nó leader pode ter várias réplicas de leitura que sobem e descem ao longo do tempo, conforme a demanda pelos seus serviços oscila. Pode haver desenvolvedores provisionando instâncias temporárias de Cloud SQL para testes e desenvolvimento. Todos esses fatores geram flutuações intermitentes de custo que dificultam identificar o seu gasto base.

Se você usar a fatura de Cloud SQL do fim do mês para estimar o commitment necessário de CPU e RAM, é bem provável que acabe superprovisionando e gastando mais do que o necessário para a operação real do dia a dia. O ideal é poder explorar o uso horário do Cloud SQL ao longo de um período mais amplo, segmentado por região, e, com esses dados em mãos, dimensionar rapidamente o uso e o gasto de baseline.

Relatório de elegibilidade para CUDs do Cloud SQL

Exclusivos para clientes da DoiT International como parte da nossa Cloud Management Platform, os Cloud Reports são uma forma interativa e exploratória de decifrar rapidamente os custos de nuvem. Como o FAQ da DoiT diz com elegância, os Cloud Reports oferecem "visibilidade instantânea dos seus custos do Google Cloud, sem ter que perder horas a fio vasculhando faturas".

Embora seja simples e fácil criar relatórios personalizados que abrangem um ou mais serviços do GCP, também há relatórios padrão prontos, como o "Cloud SQL CUD Eligible Consumption". Ele mostra, por região, o seu gasto horário com Cloud SQL elegível a CUDs (uso de CPU e RAM).

No caso do cliente DoiT a seguir, o gasto com CUDs de Cloud SQL na região us-central1 chega a picos de cerca de US$ 28/h. Ainda assim, o ideal seria provisionar quantidades de CPU e RAM mais próximas do baseline histórico, em torno de US$ 23/h, a menos que a expectativa seja sustentar US$ 28/h de uso pelos próximos 1 a 3 anos:

Gasto horário elegível a CUDs do Cloud SQL, segmentado por região

Gasto horário elegível a CUDs do Cloud SQL, com o cursor sobre a região us-west1

Os Cloud Reports oferecem uma visualização interativa do gasto horário elegível a CUDs do Cloud SQL, segmentado por região

Em outro cliente da DoiT, com máquinas Cloud SQL em 10 regiões, dá para perceber facilmente o quão complexa pode ficar a estimativa de CUDs do Cloud SQL por região.

Tentar definir os CUDs para cada região no exemplo abaixo seria um prato cheio para erros e levaria a super e subprovisionamento por região, caso as estimativas fossem baseadas apenas no custo mensal total de Cloud SQL. Há variações regionais e diárias significativas no gasto com Cloud SQL, e é preciso conhecê-las e entendê-las para definir com precisão o uso de baseline adequado de CPU e RAM nos CUDs regionais:

Variações no uso de Cloud SQL de uma empresa global. Há muito potencial de economia com CUDs, mas avance com cautela!

Para ver a distribuição horária de quantas CPUs e quantos GBs de RAM foram usados, basta clicar em Customize e ajustar o seguinte:

  • Metric: troque "Cost" por "Usage"
  • View As: troque "Area Spline" por "Table"
  • Arraste "Unit" como Breakout Dimension para separar o uso de CPU do uso de RAM

Tabela de consumo horário de CPU e RAM no Cloud SQL

Sem os Cloud Reports da DoiT para explorar os dados, definir um CUD adequado de Cloud SQL para cada região de um deployment global levaria semanas de desenvolvimento de soluções de monitoramento sob medida e análise de dados. Pular esse caminho mais preciso e simplesmente chutar o uso com base na fatura mensal vai, muito provavelmente, resultar em CUDs superprovisionados e, com isso, em um aumento expressivo dos seus custos de nuvem durante o período de 1 a 3 anos do commitment.

Próximos passos

Quer economizar no seu gasto com Cloud SQL identificando rapidamente os níveis de uso de baseline e usando isso como ponto de partida para um Committed Use Discount?

Fale com a DoiT International e descubra como usar os Cloud Reports para economizar rapidamente em Cloud SQL. Pode valer muito a pena.