Mori’s Lab

Uma plataforma ChatOps para
automação e monitoramento de
Orientador: Vinicius Garcia
servidores Ian Fireman
Roteiro

- Motivação
- Objetivos
- Contexto
- O projeto
- Casos de uso
- Conclusão
Motivação
Levar adiante a proposta de ChatOps de automações via chat para um nível de
plataforma, trazendo esses benefícios de modo serverless
Objetivos
Implementar uma plataforma ChatOps capaz de
prover

- Transparência
- Resiliência

- Alta disponibilidade

A servidores e seus serviços com automação de um
ChatBot comunicando-se via microservices
Especificos

-Dashboard para cadastro de dados e configurações
- ChatBot como interface de execução

- REST API para orquestração de ações

- Microservice de autenticação e segurança
- Microservice para controle de servidores
Contexto
MICROSERVI
CES
Definição

- Microservice Architecture surgiu nos últimos anos para
descrever uma maneira específica de desenvolver software
como suítes de serviços com deploy independente…
...deploy automatizado, inteligência nos terminais e controle
descentralizado de linguagens e de dados.
Beneficíos

-Manutenção
- Escalabilidade

- Tolerância a falhas
- Suporte a DevOps
DevOps
Definição

- DevOps é a combinação de filosofias culturais, práticas e
ferramentas que aumentam a capacidade de uma empresa
de distribuir aplicativos e serviços em alta velocidade.
Continuous
Integration

- A Integração Contínua é uma prática de desenvolvimento
de software em que os membros de uma equipe integram
seu trabalho com frequência - levando a várias integrações
por dia. Cada integração é verificada por uma compilação
automatizada (incluindo teste) para detectar erros de
integração o mais rápido possível.
Continuous
Integration

-Integração de codigo
- Automatização de tarefas
- Build e tests automaticos
- Build e tests por commit
Confiabilidade e agilidade no ambiente de desenvolvimento
e implantação
Continuous
Delivery

- A Entrega Contínua é uma disciplina de desenvolvimento de
software na qual você cria software de maneira que o
software possa ser liberado para produção a qualquer
momento.
Continuous
Delivery

- Deploys automaticos

Em ambientes confiáveis entregues pela
Continuous Integration
Redução de riscos em deploys com processos
confiáveis
ChatBots
Definição

- Um chatbot é um programa de computador que simula
conversas humanas através de comandos de voz ou chats
de texto ou ambos.
ChatOps
Definição

- O ChatOps é um modelo de colaboração que conecta
pessoas, ferramentas, processos e automação a um fluxo
de trabalho transparente. Esse fluxo conecta o trabalho
necessário, o trabalho que está acontecendo e o trabalho
realizado em um local persistente, composto por pessoas,
bots e ferramentas relacionadas.
O projeto
Chats Servers Actions
Chats

- Se refere a um conta ligada a um chat ( 1 > n )
- Autenticação via QrCode (Gerado no dashboard)
Servers

- É a classe que representa os servidores dos usuários
- Dados Criptografados
Actions

- Representa ações a serem executadas em um servidor
- Nome único por conta
- Podem possuir N passos com N inputs
Actions
Mori’s Lab - REST
API

- Node.js
- Express.JS
Mori’s Lab -
Dashboard

- Node.js
- Angular 4.4.4
Heart - Auth
Service

- Node.js
- Express.JS
Server Manager

- Node.js
- Express.JS
Mori - BOT

- Node.js
- Typescript
- Telegraf
Casos de uso
Casos testados

- Monitoramento via
stream de logs
Casos testados

- Movendo banco de
dados entre
servidores
Conclusão
Conclusão

- Com o uso da plataforma é possível configurar
diferentes ambientes para inúmeras
finalidades, atacando tanto monitoramento
quanto automação, ou para simples consultas.
- Com tal abrangência de configurações
possíveis o objetivo do projeto foi alcançado
e está disponivel para uso em
www.morislab.com
Dificuldades

-Houve dificuldades para gerenciar diversas
streams individuais paralelas
- Linha de comando interativa
Trabalhos Futuros

-Estudo para abordar inteligencia artificial
no projeto
- Estudo para possibilitar conexões VPN sob
demanda
- Marketplace de açoes
Referências

● Microservices – 2014 – https://www.martinfowler.com/articles/microservices.html , acesso
em 6 de jun. 2018
● ChatBot – 2015 – https://www.investopedia.com/terms/c/chatbot.asp , acesso em 6 de jun.
2018
● What is chatops a guide to its evolution adoption and significance – 2018 –
https://www.stride.com/blog/what-is-chatops-a-guide-to-its-evolution-adoption-and-
significance , acesso em 6 de jun. 2018
● NEWMAN , S. Building Microservices: Designing Fine-Grained Systems, 1 ed. O’Reilly
Media, 2015.
● T AIBI , D., L ENARDUZZI , V., AND P AHL , C. Processes, motivations, and issues for
migrating to microservices architectures: An empirical investigation. IEEE Cloud Com-
puting 4 (2017), 22–32.
Obriga
do