Como reduzimos o trabalho repetitivo utilizando chatbot

Bruno Correia
Serasa
Published in
4 min readMar 27, 2019

Quem nunca se viu realizando aquela tarefa repetitiva ao longo de um dia de trabalho?

Se você atua na área de tecnologia, seu instinto naturalmente vai alertar sobre a necessidade de desenvolver uma automação ou melhoria do processo que vem tomando seu tempo, certo?

Pois bem, foi exatamente isso o que me ocorreu quando iniciei minha jornada na Serasa Consumidor, onde atualmente faço parte da squad de SRE (Site Reliability Engineering).

No começo nem tudo são flores…

Recém-chegado na Serasa Consumidor, minhas demandas iniciais eram atender casos relacionadas a squad de operações atuando como SysAdmin:

Provisionamento, criação de pipelines, deploy de aplicações, gestão de variáveis e etc…

Se você já acompanhou de perto as demandas dessa squad (operações), vai entender o quão manual e repetitivo alguns trabalhos ainda podem ser.

São tantos os pontos de melhoria nos processos de infraestrutura, que até mesmo o Google viu a necessidade de criar uma squad para mitigar alguns problemas: SRE.

Se você ainda não sabe sobre o que estou falando, indico que leia rapidinho alguns trechos dessa entrevista aqui.

SlackBot (Projeto Dalvito)

Considerando que o Slack é a nossa ferramenta padrão de comunicação interna, desenvolvi inicialmente uma espécie de CLI (Interface de Linha de Comando), onde conseguimos automatizar algumas primeiras tarefas simples.

Os primeiros commits desse projeto já resolviam problemas como:

  • Criação de novos repositórios no Bitbucket;
  • Invalidação de path no CloudFront.

Nesse pontapé inicial reduzimos a zero o número de tickets para novos repositórios e limpeza de cache 🎉 🎉 🎉

Aderência trouxe abrangência

Histórico apontando 2722 acionamentos do bot nos últimos 30 dias.

Ao longo da existência do nosso amigo Dalvito, percebemos o engajamento dos desenvolvedores, que já não tinham mais que abrir um ticket no Jira para solicitar tarefas simples.

Nesse momento, mapeamos novas oportunidades de automação. Foi quando o bot (cli) ganhou novos poderes:

  • Gestão de Tickets no Jira;
  • Gestão de variáveis de ambiente;
  • Criação e desativação de usuários na AWS.
Gráfico de 30 dias de uso do bot, por funcionalidade.

Dalvito + Kubernetes

Agora a coisa ficou séria… O Dalvito recebeu novas patentes.

Com o intuito de resolver um problema histórico de comissionamento de infraestrutura, desenvolvemos uma funcionalidade mais recente.

Essa funcionalidade que vem para provisionar ambientes em Kubernetes ao alcance de uma mensagem no Slack.

Enviando dalvito deploy em um canal de slack, o bot devolve o modal para receber detalhes sobre a aplicação que vai subir no cluster…

Ao submeter as informações do form, é criado o pipeline (Jenkins) e os manifestos da nova aplicação são versionados em um repositório de manifestos do kubernetes.

Considerando um Dockerfile na raiz do projeto, o pipeline faz toda a mágica acontecer.

O comando dalvito appinfo retorna os endpoints da aplicação em hml e prd.

A stack

Para chegar ao ponto atual, estamos fazendo uso das seguintes tecnologias:

  • Python

Utilizando libs e apis do Slack, Jira, Bitbucket e etc, fomos incrementando o código para atender demandas específicas, e as integrações vem dando certo até aqui.

  • ElasticSearch

Para quantificar os acionamentos do bot e tipos de ocorrências recebidas pela squad de operações, o Elasticsearch foi bastante útil. A identificação de tickets e assuntos reincidentes, deixaram em evidência alguns pontos de melhora.

  • Jenkins

Com a lib do Jenkins vimos a possibilidade de automatizar a criação de novos pipelines, que são baseados em um Jenkinsfile modelo.

  • Kubernetes

Além de hospedar o próprio bot dalvito, o processo de automação de provisionamento está baseado nesse orquestrador.

O Futuro

Apesar dos incontáveis ganhos até aqui, o Dalvito ainda não deixa de ser um CLI que entende uma série de comandos 'limitados', e isso deve mudar em breve.

Em contato com soluções como IBM Watson, entendemos que a evolução do Dalvito deve seguir na direção de virar um bot de verdade, interpretando intenções e aprendendo com a interação dos desenvolvedores internos.

Photo by Alex Knight on Unsplash

Quer saber mais ?

Queremos estreitar relações com as comunidades e profissionais de tecnologia que queiram trocar figurinhas.

Por enquanto, os comentários aqui do Medium são nosso canal de comunicação oficial. Deixa sua mensagem para que possamos interagir ou mande um e-mail para ecs_it@br.experian.com.

Temos várias vagas nas áreas de Negócios e TI! O que você acha de dar uma olhada lá? É só clicar nesse link.

Até breve…

Bruno Correia | Serasa Consumidor

--

--