Aplicando a técnica Self-Healing na rotina de Monitoramento de TI

Fernando Domingues
Trilha AIOps
Published in
5 min readAug 29, 2019

Por Fernando Domingues, Denis Santos e Eli Melo

Sabemos que toda empresa possui diversos sistemas, esses por sua vez dependem de uma infraestrutura além das mais diversas integrações. Tudo isso para poder digitalizar os fluxos operacionais das mais diversas áreas de negócio, o que se traduz na tão conhecida Operação. Cada parte com sua responsabilidade, como o RH, Vendas, Distribuição, Logística, Pagamentos entre outras áreas. O ponto é que quanto mais a empresa cresce, maior é o volume de dados, acessos, consultas, atualizações, backups e monitorias.

Mas porque falamos sobre Operação?

Para qualquer negócio poder escalar de maneira orgânica é essencial investir em automação de processos para não ter o crescimento do Opex atrelado à escalabilidade do negócio.

E é aqui que que entra o tema Self-Healing

Self-Healing ou Auto-Cura, consiste na prática de automatizar ações de cura / remediação com base em rotinas de observação que por sua vez tomam ações para agilizar a atuação em temas da Operação.

Self-Healing na prática

Quando penso em Self-Healing me lembro da rotina de um Pronto Atendimento de um hospital, onde as pessoas chegam com sintomas e rapidamente são diagnosticadas e recebem tratamentos para mediar o problema naquele instante, e posteriormente segue-se com o tratamento efetivo.

Durante a nossa rotina de trabalho numa Operação de TI, as soluções também podem apresentar alguns sintomas, que por sua vez precisam de medidas de cura para manter a operação funcional. Justamente por serem problemas que possam se repetir, nós precisamos ter rotinas parecidas com a de um hospital, permitindo resolver esses problemas e solicitar um tratamento efetivo, como:

  • Reinicializações de processos;
  • Limpeza de recursos (ex: disco);
  • Reverter alterações de configuração incorretas;
  • Escalonar para cima ou para baixo uma infraestrutura ou aplicação.

É aqui que começamos a entender que "A técnica Self-Healing" realmente otimiza e viabiliza a escalabilidade do negócio, otimizando o tempo das pessoas para realizar atividades de maior valor. Além de construir uma documentação viva sobre rotinas operacionais, o que agrega ainda mais conhecimento nos times, facilita o entendimento de novos integrantes e torna o negócio ainda mais seguro.

Segue aqui uma receita que facilita a Introduzir as técnicas de Self-Healing

  • Primeiro passo: quantifique e classifique os problemas de baixo impacto operacional;
  • Segundo passo: conheça a causa do problema e autonomia para resolve-los;
  • Terceiro passo: através do ferramental da empresa, verifique se existem serviços REST disponíveis e se atendem tais ações que precisam ser realizadas, partindo da premissa que já sabemos o que precisa ser feito para corrigir os problemas identificados anteriormente;
  • Quarto e último passo: agora vamos consumir os serviços REST para manipular as informações necessárias através de uma camada lógica onde teremos a estrutura de inteligência do Self-Healing.

Caso de uso prático de como aplicamos a Técnica de Self-Healing na Natura Cosméticos

Primeiro vamos listar as ferramentas utilizadas:

  • AWS Lambda: Utilizado para a camada lógica
  • CA SDM: Ferramenta de Service Desk
  • CA Nimsoft: Ferramenta para o monitoramento de infraestrutura
  • Rundeck: Automação de processos e rotinas DevOps
  • Slack: Comunicação por chat e notificação
  • Splunk: Ingestão de dados para geração de métricas
  • SolarWinds: Monitoramento de rede

Sistemas de Notificação

No nosso caso de uso, o Slack e a Ferramenta de envio de SMS da Moville ficam responsáveis pelas rotinas de comunicação e notificação, gerando a interface com os usuários.

Exemplo de notificação através da integração com o Slack

Exemplo de notificação através da integração com a Moville

Ganho Operacional

Os ganhos operacionais foram mensurados através dos dados enviados ao Splunk, que contabiliza o tempo de cada etapa de atuação das rotinas de um chamado, que no nosso caso foi solucionado pelo Self-Healing.

Desde que introduzimos essa disciplina, os ganhos se mostraram expressivos logo de cara, em menos de três meses foram 237 chamados encerrados com automação.

Para calcularmos os ganhos operacionais precisamos entender o esforço médio em unidade de tempo para cada situação em que o Self-Healing atua.

No nosso caso estimamos que o esforço médio operacional humano para cada incidente leva em média 15 minutos pelo N1, levando em consideração o seguinte fluxo de execução:

  • Atrelar o chamado ao seu nome;
  • Verificar na ferramenta se o problema permanece ativo;
  • Iniciar as atividades para solucionar o problema;
  • Verificar na ferramenta se o problema foi solucionado;
  • Registrar o resultado no chamado;
  • Encerrar o chamado.

Com base nesse raciocínio lógico conseguimos comparar o tempo de execução de uma rotina automatizada de Self-Healing VS a média de tempo de execução de uma analista de N1. Foi assim que chegamos em resultados expressivos, veja:

Observe que ao longo do tempo houve um pequeno aumento no tempo de execução das rotinas automatizadas, isso porque ao longo dos meses novas regras foram adicionadas na camada de inteligência do nosso Self-Healing.

Conheça a Arquitetura

Fluxo de uma das nossas rotinas de Self-Healing

Conclusão

Um pequeno passo para a disciplina de Self-Healing, mas um grande passo na introdução de AIOps na Natura

Todo o esforço para a construção das automações de Self-Healing na Natura foi muito satisfatório com base nos resultados conquistados!

Com isso tivemos a nossa primeira entrega de AIOps, esse novo aprendizado criou espaço e trouxe valor direto para o negócio e a operação. Também ficou claro o quanto a disciplina de AIOps torna-se fundamental para as rotinas dos times de DevOps & Monitoring!

Estamos constantemente evoluindo nossas automações para garantir maiores ganhos e resiliência das nossas aplicações.

--

--