Tecnologia para configurar ambientes temporários para reproduzir problemas do cliente

Tecnologia para configurar ambientes temporários para reproduzir problemas do cliente

Às vezes preciso reproduzir problemas que aparecem apenas no ambiente do cliente. Eu poderia configurar manualmente as máquinas virtuais para espelhar suficientemente seu ambiente, mas seria muito bom encontrar uma maneira semiautomática de fazer isso.

Em outras palavras, estou procurando algo que me permita dizer: "Crie um ambiente que rode esta versão do Linux, tenha esta versão do PHP instalada" e assim por diante. Então espero poder fazer login nesse ambiente e executar as etapas de reprodução.

Obviamente, esses ambientes teriam vida relativamente curta, pois, depois de reproduzir esse problema específico, há uma chance de nunca mais precisar recriar o mesmo ambiente. Dito isto, seria bom se a configuração do ambiente estivesse em um formato de fácil controle de versão, caso fosse necessário novamente.

Existe uma tecnologia adequada para este tipo de caso de uso?

Coisas que ouvi que podem ser relevantes

  • Proxmox (parece um exagero e insuficiente por si só)
  • Vagrant (pode ser insuficiente por si só, também pode precisar de gerenciamento de configuração como Ansible)
  • Docker (comumente usado para executar aplicativos únicos, não para recriar ambientes de sistema operacional completos)

Alguma dessas opções é adequada para este caso de uso? Devo procurar outras opções?

Responder1

Eu usei o docker para praticamente isso no passado e funcionou perfeitamente. Eu recomendo que você dê uma olhada nisso, mas é melhor você fazer essa pergunta no StackExchange de recomendação de software.

Responder2

Acabei optando pelo Vagrant, depois de saber que ele também pode provisionar a máquina usando shell scripts:https://www.vagrantup.com/intro/getting-started/provisioning.html

Esta parece ser a maneira mais fácil de realizar o que desejo, configurando rapidamente um ambiente específico temporário separado do meu, com configuração simples baseada em texto que pode ser controlada por versão.

informação relacionada