Contextualizando visibilidade e objetivos em finops
Ter métricas disponíveis não significa necessariamente ter visibilidade. Muitas organizações possuem dashboards (painéis) e alertas, mas ainda têm dificuldade para responder perguntas simples sobre consumo e eficiência. Em FinOps, o objetivo não é gerar mais dados, e sim fornecer contexto para embasar nossas decisões.
Um exemplo são os alertas de anomalia, que ajudam a identificar comportamentos fora do normal, como um aumento repentino no consumo ou um custo elevado devido a um spike (pico) ou a algum problema ocorrido. Também podemos usar alertas para identificar crescimento gradual e antecipar risco de saturação ou de extrapolação do orçamento. Às vezes, temos uma demanda que, no início, parece rotineira, mas acaba se tornando a nova normalidade — seja por aumento de tráfego ou mais pessoas usuárias. Precisamos analisar para afirmar: houve crescimento porque conquistamos mais clientes ou por outro motivo, e é o momento de aumentar recursos para não perder disponibilidade nem desempenho.
Outro aspecto é segmentar a visibilidade, isto é, ter dashboards (painéis) realmente claros. Podemos organizá-los por domínio, aplicação e equipe, o que traz mais clareza ao nosso dia a dia. Isso nos permite analisar tendências, avaliar a eficiência do sistema e os custos, e apoiar a operação cotidiana em caso de problemas.
Por fim, é importante criar relatórios de eficiência. Eles ajudam a identificar desperdícios e priorizar oportunidades de otimização. O objetivo não é criar mais dashboards (painéis) ou mais alertas, e sim integrá-los melhor para entregar a informação correta à pessoa adequada no momento oportuno.
Monitorando padrões no ambiente local e intervalos de tempo
No ambiente local que estamos utilizando, criamos alguns dashboards (painéis). Nos próximos vídeos, abordaremos em mais detalhes esse ambiente. Neles, acompanhamos tanto as CPUs (processadores) do cluster (cluster) quanto a memória utilizada desse cluster (cluster). Também analisamos, por exemplo, a CPU (processador) por namespace (espaço de nomes), como payments, users e stable. Em um caso, observamos uma subida, uma descida e, em seguida, estabilização. Em outro, ocorre uma queda, depois uma alta e novamente estabilização. Em outro cenário, há vários picos pequenos que retornam à normalidade.
No recorte dos últimos 15 minutos, esses padrões ficam claros; ao ampliar para a última meia hora, os picos aparecem de forma mais nítida. Isso indica prováveis mudanças nesses horários, e é importante analisá-las para estudar as tendências. Quando a curva se aproxima de um patamar plano, entendemos que está estável; por alguma razão, surgem picos e, com o tempo, a métrica volta a maior estabilidade. Em cada namespace (espaço de nomes), podemos observar picos com manutenção de certa estabilidade. O mesmo ocorre na memória: picos seguidos de estabilidade, com maior ou menor frequência conforme o namespace (espaço de nomes).
Esses padrões sugerem que os eventos ocorrem em horários comuns, possivelmente devido a maior tráfego nos fins de semana, em determinados momentos do dia ou no horário comercial. Assim, monitoramos nossas aplicações e verificamos por que esses comportamentos se produzem.
Ao ampliar para 24 horas, obtemos uma visão mais nítida. Na memória do ambiente de stage (homologação), por exemplo, a linha permanece praticamente plana, quase sem variação. Já na CPU (processador), observamos maior variação.
A utilização ainda é bastante baixa em comparação com outros namespaces (espaços de nomes). Por isso, é importante trabalharmos também com intervalos de tempo. Podemos alterar o fuso horário; aqui usamos Espanha, porque estamos na Espanha, mas podemos mudar para o fuso horário desejado. Também podemos definir um intervalo personalizado, por exemplo, usar yesterday (ontem), escolher a semana passada e assim por diante. Outra opção é configurar um intervalo de tempo absoluto, especificando de quanto até quanto. Isso é essencial para entendermos como nossas aplicações se comportam e, além disso, identificarmos onde há espaço para otimização.
Aplicando ia para analisar dashboards e identificar perfis por namespace
Criamos uma captura de tela da tela e do dashboard (painel) e pedimos à IA algumas análises. Solicitamos que analisasse os dashboards e indicasse quais alertas poderíamos criar e que tipo de sazonalidade poderia estar ocorrendo. Obtivemos a resposta de que já é possível identificar alguns padrões interessantes, embora seja importante lembrar que este ambiente está usando um gerador de carga acelerada: configuramos para que um dia inteiro seja executado em 12 minutos. Em produção, analisaríamos ao menos de 7 a 30 dias.
A IA aponta que, em payment, há um consumo de CPU muito maior do que nos demais; o medidor está em vermelho, indicando que provavelmente está próximo do limite; o gráfico apresenta oscilações frequentes e relativamente irregulares. Portanto, esse namespace parece representar uma aplicação crítica e de uso constante. Há sinais de carga contínua, possíveis picos recorrentes, possível overprovisioning (superalocação) e possibilidade de saturação futura caso a demanda cresça. Essa conclusão é baseada no comportamento observado do namespace.
No users, o consumo de CPU está baixo e bastante instável, apresentando ainda assim um comportamento previsível. Já em staging, o ambiente está praticamente inativo, sem atividade relevante. Dessa forma, ele permanece ligado, consumindo recursos sem uso — um caso clássico de ambiente pouco utilizado, com desperdício estrutural e oportunidade de desligamento automático.
Embora o período observado seja pequeno, por se tratar de um ambiente local de demonstração, há um padrão claramente repetitivo: alto, baixo, alto e baixo. Isso sugere ciclos de uso previsíveis, alternando entre períodos de pico e de baixa utilização, simulando horário comercial versus fora do expediente, como comentado anteriormente.
Cada namespace apresenta um perfil diferente: payment tem atividade alta e contínua, users apresenta um consumo mais estável e staging permanece quase sempre inativo. A IA complementa com mais análises nesse sentido.
Definindo alertas e recorrendo ao suporte da ia
Em relação a alertas, podemos criar alertas de utilização para disparar se a CPU ficar acima de 80% por mais de 15 minutos, definidos por namespace. Também podemos configurar um alerta de crescimento anormal, por exemplo, comparando o uso atual com a média das últimas 24 horas: podemos solicitar a criação de um alerta quando o uso atual estiver maior que 150% da média histórica. O objetivo é detectar vazamentos, regressões ou mudanças de comportamento, entre outras possibilidades.
Com nosso conhecimento do sistema, podemos fornecer mais informações à IA e solicitar uma análise mais detalhada, ou até pedir ajuda para criar esses alertas no Grafana, se necessário. Isso ilustra como podemos usar a IA para nos apoiar no dia a dia com FinOps (operações financeiras em nuvem).