Caso a empresa faça a gestão da sua cloud da mesma forma que como se estivesse num ambiente on premises a tendência é que os custos cresçam de forma exponencial. A gestão de custos na cloud vai além de apenas definir um limite de budget e esperar o alarme ser acionado quando esse limite for atingido. Dentro desse contexto que entra em cena o termo conhecido como FinOps.
FinOps é uma abordagem (ou metodologia) que busca a gestão e otimização dos custos em cloud, buscando obter o máximo de benefícios da cloud, com o menor custo possível. Seja buscando revisões contratuais junto ao fornecedor da cloud ou melhorando a performance no desenvolvimento das soluções em ambiente cloud.
Tal como o DevOps, o FinOps também envolve uma conjuntura entre pessoas, processos e ferramentas. Sendo necessário aos stakeholders estarem conscientes de como funciona a plataforma em cloud no aspecto de geração de custos. Uma opção para esse fim seria a capacitação dos stakeholders nos conceitos das certificações de cloud em nível fundamental (como a AZ-900 do microsoft azure), de forma a nivelar o entendimento sobre a cloud. Enfatizando também a questão de que se não houver um controle mais assertivo dos custos da cloud, isso poderá ter um impacto expressivo no fluxo de caixa da empresa.
O processo do FinOps começa com a estrutura da equipe que ficará responsável pelo controle gastos com o ambiente cloud. Essa equipe irá atuar em parceria com os diversos níveis e times da empresa:
Engenheiros de Dados, Arquitetos de Dados, Analista de Infraestrutura, DBAs, etc
Equipes de Negócios e POs
C-Levels
Setor Financeiro da Empresa
Pode-se inicialmente começar a equipe de forma gradativa, com apenas uma pessoa que irá atuar como ponto focal, e ir crescendo ela de acordo com as necessidades da empresa.
A equipe de FinOps irá, em parceria com as equipes de Negócios e TI, definir os padrões de custos a serem adotados pela empresa. Sendo acertado um período para entendimento e avaliação de como os serviços em cloud são utilizados, e a partir daí se estabelecer uma média de custos por serviço. Essa prática será feita regularmente ao longo do ano, de modo a poder se realizar uma revisão contínua dos custos e a exploração de novas oportunidades de melhoria.
Também será realizado o processo de Tagging (“tageamento”), a aplicação de tags nos serviços provisionados em ambiente cloud, como forma de agrupar eles dentro de budgets específicos. Dando assim maior visibilidade na gestão dos custos. Segue abaixo alguns exemplos:
Desenvolvimento, Homologação, Produção
Logística, Marketing, Compras, Vendas
Através do processo de tags é possível entender quais áreas (centro de custo), quais serviços estão demandando maior custo, e com isso entender novas formas de otimizar os processos daquela área. Em caso do serviço cloud precisar ser partilhado entre mais de um centro de custo, pode-se ratear o custo entre as diferentes áreas. Segue abaixo alguns exemplos:
50% - 50%
40% - 60%
40% - 40% - 20%
Deve-se adotar como boa prática as reuniões periódicas com todos os stakeholders envolvidos no processo de custos em ambiente cloud para demonstrativo dos custos por área, e realizar uma análise em maior profundidade da real necessidade de cada área. Pode ser utilizada uma ferramenta de Dashboard nesse processo, visando facilitar o entendimento da situação para os stakeholders. O processo de tag facilita também o agrupamento das informações no dashboard. E toda nova demanda envolvendo serviços em cloud passará por um crivo junto a equipe de FinOps para pré-avaliação dos custos envolvidos.
O FinOps geralmente irá possuir 03 approaches junto a empresa:
Comercial
Técnico
Negócio
A abordagem comercial envolve a revisão das licenças adquiridas, a busca por descontos e novos acordos junto ao fornecedor cloud. Análise de reservas de 1 a 3 anos e mudanças de preço por região.
A abordagem técnica envolve mudanças de arquitetura, tunning de recursos e recursos ociosos (que não estão sendo utilizados):
Readequação das configurações de hardware do recurso de acordo com o uso do mesmo
Melhoria na codificação, de forma a reduzir o tempo de processamento das aplicações
Mudanças em recursos que não precisam ser utilizados 24/7
Mudanças que em recursos já foram utilizados, mas depois ficaram parados e sem uso efetivo
A abordagem de negócio envolve o entendimento das necessidades da empresa em relação disponibilidade e resiliência dos serviços em cloud utilizados para se realizar a entrega requisitada pelo time de negócio. Bem como as políticas compliance da empresa.
Definir quais áreas são mais críticas para a empresa a nível de disponibilidade
Definir política de SLA das aplicações para saber quais delas devem ter maior nível de disponibilidade
Entendimento das políticas de compliance para retenção dos dados em storage
A cultura de FinOps possui uma maturidade gradativa, não sendo algo imediato. Uma ação inicial pode ser começar fazendo um showback de custos por área. Depois de evidenciado os custos, começar a elaborar os budgets por área e pôr fim a criação de KPIs para indicadores de custos dos serviços.
Segue abaixo algumas das ferramentas que podem ser utilizadas no processo do FinOps (a nível de cloud azure):
ACM power BI App (Azure Cost Management Power BI App)
o Visualização dos cursos e criação de KPIs sobre o tema no dashboard Power BI
Azure Cost Management and Billing
o Acompanhamento dos custos do Azure
Azure Advisor
o Recomendações de melhorias e otimizações nos serviços Azure
Azure Policy
o Definição de políticas de utilização dos serviços do Azure
Azure Automation Account
o Scripts de automação para ligar e desligar a Azure Virtual Machine conforme necessidade