Já parou para pensar qual a relação entre Observabilidade, Monitoramento e AIOps e seu impacto no novo cenário de negócios, totalmente focado na transformação digital das empresas? De forma simples, podemos dizer que, enquanto Observability é sobre a visibilidade completa de sistemas e a combinação de métricas de negócios com dados técnicos, o Monitoramento é sobre entender se as coisas estão funcionando corretamente, enquanto a AIOps (Inteligência Artificial para Operações de TI) é sobre como obter a melhor interpretação dessa visibilidade “holística” das aplicações.
Embora AIOps e Observability possam um funcionar bem sem o outro, eles se complementam para formar uma “solução holística”: enquanto AIOps requer a Observabilidade para obter visibilidade completa de dados de operações, a Observabilidade depende da IA para fornecer insights profundos, pois a quantidade de dados coletados é enorme quando executamos aplicativos de microsserviços distribuídos na nuvem.
Observabilidade: métricas, logs e tracing
Quer saber o que está acontecendo? As métricas permitem observar o status do aplicativo e seus componentes. As informações de telemetria, que medem taxas, erros e a duração (tempo de resposta/latência), permitirão constatar se o aplicativo está funcionando corretamente. No mínimo, devem ser monitorados os 4 “sinais de ouro” conforme declarados no Google SRE: latência, tráfego, erros e saturação.
Quer saber onde isso está acontecendo? Quando criamos um aplicativo distribuído, ele é espalhado por containers em vários clusters do Kubernetes, em vários locais de nuvem, on-premise etc. É aqui que o rastreio e monitoramento podem ajudar. O rastreamento (ou rastreamento distribuído) permite rastrear uma transação do início ao fim. Ao rastrear o caminho, é possível descobrir facilmente onde o aplicativo está ficando lento ou quais componentes estão causando o problema.
Quer saber porque isso está acontecendo? É aqui que os logs podem ajudar. Ambos os logs, tanto de máquina (criados por sistemas) como humanos (criados por desenvolvedores) podem ajudar a identificar se há um problema. Como o caminho foi todo rastreado, um componente específico pode ser identificado, sendo muito mais fácil mergulhar fundo e descobrir o que efetivamente deu errado.
Embora possam existir separadamente, a AIOps é, ao menos tecnicamente, parte da Observability. É preciso notar, entretanto, que existe uma escola de pensamento onde a automação de TI e a autocorreção de aplicativos fazem parte do AIOps, algo que geralmente está fora do escopo da Observabilidade.
Dentro do escopo da Observabilidade está, em grande medida, a identificação do problema assim que, e muitas vezes até mesmo antes, um incidente qualquer acontecer. Em outras palavras, se você não atingiu o status de Observabilidade total, então você estará desperdiçando muito dinheiro e esforço na construção de sistemas AIOps.
“Vamos supor o seguinte cenário: você tem informações de Observabilidade total com as quais pode alimentar uma plataforma AIOps; esta, por sua vez, pode correlacionar os eventos e identificar o problema usando machine learning ou inteligência artificial sem a necessidade de intervenção manual mais profunda. Um sistema AIOps implementado corretamente detecta anomalias, suprime o ruído do incidente, alerta APENAS o incidente real que necessita de atenção, identifica o local e a causa do incidente e sugere o que pode ser feito para corrigi-lo”
Assim, podemos concluir que a Observability é uma resposta à crescente complexidade dos sistemas distribuídos nativos da nuvem. Ao focar na Observabilidade, é possível trazer a AIOps e o monitoramento para alcançar objetivos reais de negócio – e usar a AIOps para subir de nível.