Alocação: Gerenciamento de Custos na Nuvem Amazon AWS / Azure
Muitas pessoas confundem alocação com eficiência de custos na nuvem. Apesar de estarem completamente ligadas, são coisas diferentes, veja:
Alocação de custos é agrupá-los de acordo com o departamento, projeto, ou centro de custo específico.
Eficiência de custos é otimizar os gastos, gastar menos, fazer mais com menos, usar os recursos mais econômicos para os projetos etc.
Por que é tão importante alocar recursos?
Talvez o leitor esteja fazendo esta pergunta. A resposta, porém, é simples: todo custo precisa ter um responsável.
Em empresas cujos departamentos gerenciam orçamentos (budgets) isso é uma realidade não só para a nuvem, mas para todos os gastos. Definindo os responsáveis pelos custos, é possível identificar os geradores de tais custos, e interagir com eles para melhoria da eficiência.
Sem alocação adequada, é muito difícil ter eficiência.
Como alocar recursos?
Existem, em geral, dois modos para alocar os custos na nuvem:
Criar uma conta para cada projeto ou departamento: este é o modo mais simples e menos prático para alocar os custos. É possível utilizá-lo em todas as nuvens (AWS, Azure e outros). Em alguns clouds, é possível, inclusive, unir todas as contas para realizar um pagamento único mensal.
Usar tags para alocar os custos: Este é o modo mais eficiente e recomendado, porém nem todos os clouds dão suporte. Basicamente aplicamos tags (marcas) em cada recurso utilizado, assim podemos nos relatórios visualizar os gastos separadamente.
Recomenda-se a utilização das tags sempre que possível, pois é seguramente o melhor modo de alocar os recursos.
É importante, porém, atentar-se aos seguintes itens:
Definir claramente um padrão de tags para alocação: isso evita erros nos relatórios. É importante que os analisadores definam estes padrões.
Sempre que possível, utilizar as tags para controlar as permissões de acessos aos recursos. Exemplo: usuários do projeto A somente acessam recursos com a tag "projeto A". Resolve-se dois problemas: alocação e permissões de acesso.
Definir como obrigatoriedade a utilização de tags: assim evita-se que existam recursos sem tags, consequentemente custos sem responsáveis. É possível fazer isso removendo todos os recursos sem tags (tag or terminate) ou rodando algum script que busque recursos sem tags e envie alarmes aos analisadores.
Tagging de recursos na AWS
A cultura de tags na AWS é algo bastante consolidado e, atualmente, a grande maioria dos serviços permite a utilização de tags, com rapidez e simplicidade. É possível fazer tagging de serviços como EC2, ELB, EBS e Snaphosts, S3, CloudFront, Route53, RDS, Elasticache entre outros.
Basicamente uma tag na AWS é uma "etiqueta" do tipo chave-valor. Alguns exemplos simples de tags são:
centrocusto=financeiro
centrocusto=marketing
ambiente=producao
ambiente=test
ambiente=dev
Múltiplas tags podem ser utilizadas ao mesmo tempo em cada recurso, tanto para organização quanto para geração de relatórios customizados de custos.