O Amazon DevOps Guru é um serviço relativamente novo que usa machine learning para analisar dados de serviços em nuvem, como CloudWatch, CloudTrail, X-Ray e AWS Config. Ele identifica padrões e anomalias de uso de aplicativos e detecta problemas potenciais antecipadamente. Ele também permite que os administradores de TI analisem problemas passados e atuais, visualizem descobertas e enviem notificações sobre problemas. Uma das principais vantagens desse serviço é a experiência significativa de gerenciamento de dados e sistemas da Amazon, que é usada para treinar os algoritmos de aprendizado de máquina que alimentam o DevOps Guru.
O que o Amazon DevOps Guru oferece
O DevOps Guru oferece dois tipos de descobertas: insights reativos e insights proativos. Reativo insights fornecem uma lista de problemas que estão ocorrendo agora ou que ocorreram no passado; proativo insights são recomendações para evitar problemas futuros.
Os administradores de TI e nuvem não precisam configurar uma longa lista de parâmetros, apenas os recursos que desejam monitorar. Como o Amazon DevOps Guru usa algoritmos de aprendizado de máquina para reconhecer padrões de várias fontes de dados, é uma ferramenta poderosa para identificar anomalias nos recursos que monitora. Na minha experiência no momento da publicação, a maioria das descobertas do DevOps Guru são insights reativos.
Ao selecionar um insight, o console exibe informações detalhadas e gráficos que descrevem a natureza e a gravidade da anomalia, bem como a principal métrica afetada e outras anomalias. Ao solucionar problemas operacionais, revise não apenas a métrica principal, mas também as métricas relacionadas. Isso pode mostrar como várias métricas se relacionam e orientar os desenvolvedores para a causa raiz de um problema. A variedade de anomalias métricas exibidas em um espaço ajuda os profissionais de operações de TI a descobrir causas e efeitos não óbvios de um problema específico.
O que fazer com um insight
Quando o Amazon DevOps Guru encontra um insight, ele envia automaticamente um evento para Amazon EventBridge. Os proprietários de aplicativos podem configurar regras no EventBridge, incluindo destinos nos quais realizar ações corretivas ou enviar notificações. O EventBridge permite que os profissionais de TI configurem regras que encontram padrões de texto específicos no evento de entrada. Isso permite que os desenvolvedores configurem respostas para eventos específicos — por exemplo, eventos que contêm um nome de recurso ou métrica específica, como HTTPCode_ELB_5XX_Count ou 5xxErrorRate. Alguns destinos compatíveis com o Amazon EventBridge incluem funções do Lambda, streams do Kinesis, tópicos do Amazon Simple Notification Service, filas do Amazon Simple Queue Service, máquinas de estado gerenciadas pelo Step Functions e execuções do AWS Systems Manager Run Command. Esses destinos permitem uma ampla variedade de personalizações em termos de tarefas operacionais que podem ser automatizadas em resposta a insights.
A configuração do DevOps Guru é relativamente simples, pois os únicos parâmetros a serem configurados estão relacionados aos recursos da AWS a serem analisados. O DevOps Guru oferece a opção de escolher recursos com base em tags ou pilhas do CloudFormation ou selecionar todos os recursos aplicáveis na conta. Ele oferece suporte a uma ampla variedade de tipos de recursos da AWS, incluindo distribuições do CloudFront, balanceadores de carga de aplicativos, instâncias do Amazon Elastic Compute Cloud, buckets do Simple Storage Service, funções do Lambda, Clusters de redshift, serviços Amazon Elastic Container Service (ECS) e bancos de dados Amazon Relational Database Service (RDS). Ele também oferece uma calculadora de custos com base nos recursos analisados selecionados. Cada recurso pode custar aproximadamente US$ 2 a US$ 3 por mês — esteja ciente deste modelo e seja seletivo. Escolher analisar todos os recursos na conta da AWS pode levar rapidamente a centenas de dólares ou mais gastos por mês.
O console também oferece uma opção para avaliar cada insight com um ícone de polegar para cima ou polegar para baixo, o que ajuda a refinar os algoritmos do DevOps Guru e as descobertas futuras. Os insights são classificados automaticamente como alto, médio ou baixo, com base nos algoritmos de aprendizado de máquina do DevOps Guru. Se estiver usando o RDS, habilite o recurso Performance Insights nos bancos de dados a serem analisados. Para implantações do ECS, ative o recurso Container Insights, que publica um conjunto extra de Métricas do CloudWatch relacionados aos serviços do ECS para análise do DevOps Guru.
O Amazon DevOps Guru fornece dados úteis que podem economizar muito tempo dos administradores de DevOps ao investigar a causa raiz de um problema operacional. Ele também permite que os administradores de TI automatizem ações corretivas implementando software personalizado que reage a insights específicos. Embora a configuração de alarmes do CloudWatch continue sendo essencial para prevenir e reagir a problemas operacionais, o DevOps Guru complementa e fortalece essa funcionalidade ao introduzir o aprendizado de máquina no processo de análise de métricas.