Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

O dilema do troubleshooting em DevOps

Em práticas de DevOps, é comum utilizar uma variedade de ferramentas que se integram, permitindo que uma acione a outra para executar processos específicos de forma automatizada e contínua.

Para obtermos uma compreensão mais aprofundada desse conteúdo, vamos analisar o diagrama simplificado apresentado abaixo:

Cada ferramenta possui um registro (log) que contém informações sobre o que acontece sob seu controle. No entanto, essas ferramentas não são capazes de obter informações específicas de outras ferramentas.

Da mesma forma ocorre na execução dos testes do PROBAT, que só tem conhecimento das informações de execução dos testes que ele mesmo iniciou.

O que queremos destacar é que, em um ambiente automatizado, haverá uma grande quantidade de informações sobre os eventos, mas essas informações estarão descentralizadas. Isso pode gerar um trabalho significativo para realizar a resolução de problemas (troubleshooting) quando os testes não forem executados conforme o esperado.

Se o erro estiver relacionado apenas a um teste específico, você poderá localizá-lo facilmente pelos resultados do PROBAT. No entanto, e se o evento ocorrer durante a execução do script ou em alguma outra ferramenta? Nesses casos, as informações descentralizadas podem dificultar a identificação e resolução do problema, tornando o processo de troubleshooting mais desafiador.


A Solução

Diante desse "problema", o PROBAT apresenta uma solução ao disponibilizar um recurso no qual ferramentas externas podem enviar informações importantes para o PROBAT usando o mesmo ID personalizado. Dessa forma, ao exportar os resultados dos testes, os dados dos eventos externos também são considerados, proporcionando uma visão mais completa e integrada das informações, facilitando o processo de análise e troubleshooting.

Com a centralização das informações, o trabalho de identificação do que ocorreu torna-se mais fácil, mesmo para pessoas menos experientes em ambientes complexos, uma vez que o PROBAT terá prontamente as informações de todas as ferramentas utilizadas no processo automatizado.

A proposta não é substituir as informações detalhadas presentes em cada log individual, mas sim centralizar os principais eventos para que o PROBAT possa sinalizar problemas ocorridos fora de sua própria execução, tornando o processo de troubleshooting mais assertivo e ágil. Essa abordagem permite que as equipes detectem e resolvam problemas de forma mais eficiente, melhorando a produtividade e a qualidade do desenvolvimento de software em um ambiente automatizado.


Como utilizar?

O PROBAT possui algumas 'Main Function', na qual permite que sejam executadas diretamente através do AppServer Command Line por qualquer processo de sua escolha. Aqui iremos utilizar como exemplo um Shell Script em Linux para orquestrar as tarefas de uma automação.

...