Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Estratégia de alocação de custos na nuvem: entenda o custo por ambiente

By Matan BordoOct 20, 20227 min read

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

A alocação de custos permite atribuir gastos de nuvem aos grupos que os geram, localizar custos ocultos e identificar despesas fora de governança. Veja como alocar custos de nuvem por ambiente.

O que é alocação de custos

A migração do data center para a nuvem transformou os gastos de TI de despesa de capital em despesa operacional, o que trouxe novos desafios de governança de custos na nuvem. Em vez de precisar pedir verba formalmente para comprar servidores ou equipamentos, desenvolvedores (ou sistemas automatizados) podem subir instâncias com facilidade, o que muitas vezes leva a gastos excessivos e despesas sem atribuição.

Um dos primeiros passos para trazer mais governança aos gastos de nuvem é organizar e agrupar os custos em categorias definidas internamente (por exemplo, unidades de negócio) dentro da sua organização. Esse processo, conhecido como Cost Allocation, ajuda a enxergar quais custos são compartilhados entre grupos, para que você possa dividi-los adequadamente. Também ajuda a encontrar custos ocultos e despesas fora de governança. Não se preocupe: a alocação de custos é uma disciplina que sua organização vai amadurecer com o tempo — não é preciso alocar tudo perfeitamente desde o início.

Com os custos alocados, fica mais fácil gerar relatórios e criar orçamentos e previsões mais precisos. Ainda assim, não existe uma única forma de alocar seus dados de custo e uso, e também não faltam ferramentas para isso.

Vamos falar sobre como alocar seus custos de nuvem por ambiente usando Google Cloud, AWS e a tecnologia proprietária de cloud analytics da DoiT.

Por que alocar custos por ambiente

Entender o custo por ambiente ajuda a responder perguntas como "Quanto custa atender nossos clientes em comparação com construir, testar ou experimentar?". Em alguns países, dá para aproveitar incentivos fiscais capitalizando os custos de P&D e depreciando-os ao longo do tempo para liberar caixa. Isso também fomenta o tipo de conversa interna que leva os Engineers a tomar atitudes capazes de gerar economia lá na frente.

Por exemplo, você pode querer focar nos custos de produção — não só pelo volume de gastos, mas também porque essas descobertas ajudam a calcular margens por cliente, o que é útil em conversas comerciais para definir até onde dá para descontar. Além disso, ajuda a entender melhor a sazonalidade caso seu setor tenha uso cíclico por parte dos clientes.

Acompanhar as tendências de gasto no seu ambiente de dev permite identificar cedo problemas de estabilidade ou de escala e reduzir dores de cabeça quando uma feature for para produção.

Por fim, entender melhor os custos de cada ambiente e suas tendências capacita você e seus Engineers a montar previsões e orçamentos precisos. É a sua resposta para a pergunta "Quanto gasto é gasto demais?".

Como alocar custos por ambiente

A forma de acompanhar o custo por ambiente depende de como você define um ambiente. Normalmente isso é feito por meio de tags ou labels definidos pelo usuário, com valores da chave "environment" representando prod, dev, staging e por aí vai.

Definir ambientes dessa maneira permite criar visões mais granulares, como medir custos de produção por conta ou projeto.

Também já vimos clientes definirem ambientes usando Projects (Google Cloud) ou Accounts (AWS), e até com IAM Folders no Google Cloud.

Calculando custo por ambiente no Google Cloud

Abaixo, um exemplo de como você pode visualizar custos por ambiente nos Billing Reports do Google Cloud. Nesse caso, filtrei por três projetos, cada um representando um ambiente diferente.

cloud cost

Calculando custo por ambiente na AWS

Abaixo, um exemplo de como visualizar custos por ambiente no AWS Cost Explorer. Filtramos por valores específicos da tag "Environment" e agrupamos pela mesma tag "Environment" para detalhar os custos por ambiente.

Para configurar essa tag e seus valores, primeiro é preciso criar User-Defined Cost Allocation Tags — de preferência com o AWS Tag Editor. Depois de criadas, basta ativar as tags para alocação de custos antes de poder usá-las no Cost Explorer. Vale lembrar que as tags podem demorar de 24 a 48 horas para aparecer no Cost Explorer depois de criadas. Quanto antes você fizer isso, melhor, já que tags não podem ser aplicadas retroativamente aos recursos. Qualquer análise por tags vai mostrar dados a partir do dia em que o recurso foi marcado.

cloud cost allocation

Calculando custo por ambiente com a tecnologia DoiT Cloud Analytics

Os clientes DoiT têm acesso a uma tecnologia proprietária que ajuda a entender a fatura de nuvem, principalmente por meio dos Cloud Analytics Reports e das Attributions.

As Attributions ajudam a definir entidades específicas da empresa, como um ambiente, permitindo agrupar recursos de nuvem (projects/accounts, labels/tags etc.). Depois de criadas, você pode usá-las para montar Reports que ajudam a entender seus custos de nuvem no contexto do negócio.

Abaixo, criei uma Attribution chamada "Staging Environment" que agrupa todos os Google Cloud Projects que contêm a palavra "staging". Nesse caso, essa é a definição de ambiente de staging da MINHA empresa.

AWS Tag Editor

Outra opção é usar tags/labels para representar seus diferentes ambientes. Por exemplo, você pode ter duas (ou mais) tags/labels representando o mesmo ambiente, como "Prod", "prod", "Production" e "production", como mostra a imagem abaixo. Um problema comum é que esse trabalho de relatórios fica a cargo de um time de FinOps ou de uma área central, mas eles não conseguem garantir facilmente a consistência dos metadados, então a ferramenta de analytics precisa cumprir esse papel. Agrupando essas tags/labels com Attributions, você consegue exatamente isso.

cost allocation

Também criei Attributions para os ambientes de Prod e Dev. Depois de criadas, dá para visualizar os custos de todas juntas nos Cloud Analytics Reports, como fiz abaixo.

cloud spend

A partir daí, você pode criar previsões de custo de um ambiente específico com um clique, como fiz abaixo com o Dev.

cloud analytics

Ou, se quiser se aprofundar nos custos de um ambiente, dá para detalhar os custos por serviço. Como você vê abaixo, é possível identificar os serviços que tiveram os maiores aumentos percentuais de gasto mês a mês.

cost allocation tags

Depois de identificar o(s) serviço(s) que mais subiu(ram) — no nosso caso, o Google Cloud Pub/Sub — você pode descer mais um nível para identificar quais SKUs causaram esse aumento.

DoiT Cloud Analytics technology

Por fim, você pode usar as Attributions para criar orçamentos específicos por ambiente e reduzir surpresas, como fizemos abaixo para o nosso ambiente de Desenvolvimento. Definimos limites que, ao serem ultrapassados, nos avisam por e-mail e/ou Slack quando for preciso agir (por exemplo, consumir 50% do orçamento mensal nos primeiros sete dias do mês). Também conseguimos ver o gasto atual em relação ao orçamento e o gasto previsto em relação ao orçamento.

AWS Cost Explorer

Conseguir destrinchar os custos de cada ambiente assim — ou qualquer categoria de custo semelhante que não seja tão simples de calcular de cara — abre conversas com o time que talvez não aconteceriam de outra forma. No fim, isso traz mais responsabilidade e consciência sobre os gastos de nuvem em toda a organização. Como resultado, sua empresa reduz surpresas e cria ciclos de feedback mais rápidos, levando a comportamentos mais eficientes daqui para frente. Você também ganha mais autonomia para os responsáveis de cada bucket alocado.

Feito isso em um nível tier-1, dá para delegar a gestão pilha abaixo (para o nível de time, no caso de um gerente de engenharia, ou de produto, no caso de um gerente de produto, por exemplo). Lembre-se: alocação de custos é uma disciplina em constante aprimoramento!

Entender os custos de nuvem é só o começo

Nos próximos posts, vamos abordar outros casos de uso de alocação de custos que vale a pena considerar — fique de olho!

O DoiT Cloud Analytics ajuda você a entender sua fatura de nuvem, mas isso é só uma peça do quebra-cabeça da gestão de nuvem. Como Premier Partner da AWS e do Google Cloud, já ajudamos milhares de empresas a gerenciar e otimizar seus deployments na nuvem.

Por isso, os clientes DoiT também ganham acesso a produtos proprietários que ajudam a garantir que você está pagando os melhores preços e a eliminar tarefas administrativas que consomem tempo, por meio de automação. E, para tarefas que ficam melhor nas mãos de pessoas — como migrar para uma arquitetura em contêineres ou montar um data pipeline — você tem acesso ilimitado a arquitetos de nuvem sêniores no mundo todo. Pense nisso como "capacidade cerebral sob demanda" ou um StackOverflow pessoal.

Para saber mais sobre trabalhar com a DoiT, fale com um especialista hoje mesmo ou confira nosso e-book recente, The Cost Conscious Cloud.