Sobes.tech
Middle

O que é o desvio de configuração?

sobes.tech IA

Resposta da IA

O desvio de configuração (Configuration Drift) é a divergência do estado real da configuração do sistema (servidor, aplicação, rede) em relação ao estado desejado ou padrão.

Principais causas:

  • Alterações manuais: Fazer alterações diretamente no servidor sem usar ferramentas e processos automatizados.
  • Automação insuficiente: Ausência ou cobertura incompleta da infraestrutura com ferramentas de gestão de configuração.
  • Diferenças entre ambientes: Ausência de padrões ou alterações não sincronizadas entre ambientes de desenvolvimento, teste e produção.
  • Erros na implantação: Scripts ou procedimentos de implantação incorretamente executados.

Consequências do desvio de configuração:

  • Inestabilidade do sistema: Comportamento imprevisível, falhas.
  • Dificuldade de diagnóstico: Dificuldade em determinar a causa do problema devido às diferenças nas configurações.
  • Problemas de escalabilidade e recuperação: Incapacidade de implantar rapidamente novas instâncias ou recuperar o sistema após uma falha.
  • Violação de segurança: Pacotes desatualizados ou configurações de segurança incorretas.

Superando o desvio de configuração:

  • Uso de IaC (Infraestrutura como Código): Gestão da infraestrutura e configuração através de código.
  • Ferramentas de gestão de configuração: Puppet, Chef, Ansible, SaltStack.
  • Implantação automatizada: Pipelines CI/CD.
  • Monitoramento e auditoria: Controle constante do estado da configuração e detecção de desvios.

Exemplo de IaC no Terraform para manter o estado desejado de uma instância EC2:

// main.tf
resource "aws_instance" "web_server" {
  ami           = "ami-0abcdef1234567890" # AMI desejado
  instance_type = "t2.micro"           # Tipo de instância desejado
  tags = {
    Name = "WebServerProd"
  }
  // Configurações adicionais para garantir o estado desejado
}

O Terraform tentará manter a instância no estado especificado. Se o tipo de instância for alterado manualmente, o Terraform na próxima execução terraform apply tentará retorná-lo a t2.micro (ou sugerirá um plano de alterações para corrigir o desvio).