Qualquer pessoa que trabalhe em DevOps hoje provavelmente concordaria que codificar recursos torna mais fácil observar, governar e automatizar. No entanto, a maioria dos engenheiros também reconheceria que essa transformação traz consigo um novo conjunto de desafios.
Talvez o maior desafio das operações de IaC seja a deriva — um cenário onde os ambientes de execução se desviam de seus estados definidos por IaC, criando um problema persistente que pode ter sérias implicações a longo prazo. Essas discrepâncias minam a consistência dos ambientes em nuvem, levando a potenciais problemas com a confiabilidade e a manutenibilidade da infraestrutura e até mesmo a riscos significativos de segurança e conformidade.
Em um esforço para minimizar esses riscos, aqueles responsáveis por gerenciar esses ambientes estão classificando a deriva como uma tarefa de alta prioridade (e um grande desperdício de tempo) para as equipes de operações de infraestrutura.
Isso impulsionou a crescente adoção de ferramentas de detecção de deriva que sinalizam discrepâncias entre a configuração desejada e o estado real da infraestrutura. Embora sejam eficazes na detecção de deriva, essas soluções estão limitadas a emitir alertas e destacar diferenças de código, sem oferecer insights mais profundos sobre a causa raiz.
Por que a Detecção de Deriva é Insuficiente
O estado atual da detecção de drift decorre do fato de que os drifts ocorrem fora do pipeline CI/CD estabelecido e muitas vezes estão ligados a ajustes manuais, atualizações acionadas por API ou correções de emergência. Como resultado, essas mudanças geralmente não deixam um histórico de auditoria na camada de IaC, criando um ponto cego que limita as ferramentas a apenas sinalizar discrepâncias de código. Isso deixa as equipes de engenharia de plataforma especulando sobre as origens do drift e como ele pode ser melhor abordado.
Essa falta de clareza torna a resolução do drift uma tarefa arriscada. Afinal, reverter automaticamente mudanças sem entender seu propósito – uma abordagem padrão comum – pode abrir uma caixa de Pandora e desencadear uma cascata de problemas.
Um risco é que isso poderia desfazer ajustes ou otimizações legítimos, potencialmente reintroduzindo problemas que já foram abordados ou interrompendo as operações de uma valiosa ferramenta de terceiros.
Por exemplo, considere uma correção manual aplicada fora do processo usual de IaC para resolver um problema súbito de produção. Antes de reverter tais mudanças, é essencial codificá-las para preservar sua intenção e impacto ou correr o risco de prescrever um remédio que pode se revelar pior do que a própria doença.
A Detecção Encontra o Contexto
Ver organizações lidando com esses dilemas inspirou o conceito de ‘Drift Cause.’ Este conceito utiliza lógica assistida por IA para filtrar grandes registros de eventos e fornecer contexto adicional para cada desvio, rastreando as mudanças até sua origem — revelando não apenas ‘o quê’, mas também ‘quem’, ‘quando’ e ‘por quê.’
Essa capacidade de processar registros não uniformes em massa e reunir dados relacionados ao desvio muda a abordagem do processo de reconciliação. Para ilustrar, deixe-me levá-lo de volta ao cenário que mencionei anteriormente e pintar um quadro de como receber um alerta de desvio da sua solução de detecção — desta vez com contexto adicional.
Agora, com as informações fornecidas pelo Drift Cause, você pode não apenas estar ciente do desvio, mas também descobrir que a mudança foi feita por John às 2 da manhã, bem na hora em que a aplicação estava lidando com um pico de tráfego.
Sem essa informação, você poderia assumir que o desvio é problemático e reverter a mudança, potencialmente interrompendo operações críticas e causando falhas posteriores.
Com o contexto adicional, no entanto, você consegue conectar os pontos, entrar em contato com John, confirmar que a correção resolveu um problema imediato e decidir que não deve ser reconciliada cegamente. Além disso, usando esse contexto, você também pode começar a pensar à frente e introduzir ajustes na configuração para adicionar escalabilidade e evitar que o problema volte a ocorrer.
Este é um exemplo simples, é claro, mas espero que ajude a mostrar o benefício de ter um contexto adicional sobre a causa raiz — um elemento há muito ausente na detecção de desvios, apesar de ser padrão em outras áreas de depuração e solução de problemas. O objetivo, é claro, é ajudar as equipes a entender não apenas o que mudou, mas por que mudou, capacitando-as a tomar a melhor decisão com confiança.
Além da Gestão de IaC
Mas ter um contexto adicional para desvios, por mais importante que seja, é apenas uma parte de um quebra-cabeça muito maior. Gerenciar grandes frotas na nuvem com recursos codificados introduz mais do que apenas desafios de desvio, especialmente em larga escala. As ferramentas de gestão de IaC de última geração são eficazes em abordar a gestão de recursos, mas a demanda por maior visibilidade e controle em ambientes de grande escala empresarial está introduzindo novos requisitos e impulsionando sua inevitável evolução.
Uma direção que vejo essa evolução tomando é a Gestão de Ativos na Nuvem (CAM), que rastreia e gerencia todos os recursos em um ambiente de nuvem — sejam provisionados via IaC, APIs ou operações manuais — fornecendo uma visão unificada dos ativos e ajudando as organizações a entender configurações, dependências e riscos, todos essenciais para conformidade, otimização de custos e eficiência operacional.
Enquanto a gestão do IaC se concentra nos aspectos operacionais, a Gestão de Ativos na Nuvem enfatiza a visibilidade e o entendimento da postura na nuvem. Atuando como uma camada adicional de observabilidade, ela preenche a lacuna entre fluxos de trabalho codificados e alterações ad hoc, fornecendo uma visão abrangente da infraestrutura.
1+1 Vai Ser Igual a Três
A combinação da gestão do IaC e da CAM capacita equipes a gerenciar a complexidade com clareza e controle. À medida que o final do ano se aproxima, é a “temporada de previsões” — então aqui está a minha. Tendo passado a maior parte da última década construindo e aprimorando uma das plataformas de gestão do IaC mais populares (se me permitir dizer), vejo isso como a progressão natural de nossa indústria: combinando gestão do IaC, automação e governança com visibilidade aprimorada sobre ativos não codificados.
Essa sinergia, acredito, formará a base para um tipo melhor de estrutura de governança na nuvem — uma que seja mais precisa, adaptável e à prova de futuro. Neste momento, é quase certo que o IaC é o alicerce da gestão da infraestrutura na nuvem. No entanto, também devemos reconhecer que nem todos os ativos serão codificados. Em tais casos, uma solução de gerenciamento de infraestrutura de ponta a ponta não pode se limitar apenas à camada do IaC.
A próxima fronteira, então, é ajudar equipes a expandir a visibilidade sobre ativos não codificados, garantindo que, à medida que a infraestrutura evolui, ela continue a funcionar perfeitamente — uma derivação reconciliada de cada vez e além.
Source:
https://dzone.com/articles/the-problem-of-drift-detection-and-drift-cause-analysis