Como criar e utilizar chatbots para nos auxiliar com questões de infraestrutura

Como criar e utilizar chatbots para nos auxiliar com questões de infraestrutura

Cada dia como devs e equipes ficamos mais conectados a ferramentas de chat (telegram, slack, facebook messenger, etc), nessa palestra veremos como podemos unir a agilidade de um chat com serviços de controle, manutenção e ações nos nossos ambientes de desenvolvimento e produção.

Transcript

  1. ChatOps! Como criar e utilizar chatbots para nos auxiliar com

    questões de infraestrutura @pokemaobr
  2. OLÁ! Sou Rodrigo Pokemaobr Community Manager @ iMasters Matemática Aplicada

    @ UFRRJ Engenharia de SOA @ IBTA Criador de conteúdo @ PokePHP 2
  3. 1. CHATBOTS Estão na moda. Eles nasceram agora? 3

  4. “ Bem, acho que não. Quando eu tinha uns 10

    anos eu mexia com isso aqui. 4
  5. 5 CHATBOTS no mIRC

  6. E ERAM BEM PARECIDOS COM OS CHATBOTS DE HOJE ◈

    Funcionam em um chat ◈ Orientados a eventos e a expressões ◈ Execução de comandos ◈ Acesso a serviços externos ◈ Integração com base de dados (arquivos .ini) ◈ ?? Inteligência Artificial ?? 6
  7. Por que na moda? O que as pessoas andam vendendo

    por aí? 7
  8. RESOLVEM TODOS OS PROBLEMAS DE ATENDIMENTO Não vamos mais precisar

    de pessoas para realizar atendimentos. 8
  9. SÃO ALTAMENTE INTELIGENTES Os chatbots são capazes de detectar sozinhos

    as dores dos usuários e resolvê-los por si mesmo. 9
  10. AS PESSOAS PREFEREM FALAR COM UM ROBÔ Muitas pesquisas apontam

    que usuários de chatbot preferem falar com os robôs do que com pessoas. 10
  11. Por que na moda? O que podemos realmente aproveitar de

    tudo isso? 11
  12. ALTA DISPONIBILIDADE / SERVERLESS Você não precisa necessariamente de uma

    máquina ou servidor para manter o seu chatbot ativo. 12
  13. PLUGÁVEL EM VÁRIOS APLICATIVOS DE MENSAGEM A sociedade atual está

    altamente conectada em redes sociais e aplicativos de mensagens. Principalmente nós (devs) usamos, pelo menos, Slack e Telegram. 13
  14. COTAS FREE EM DIVERSOS PLAYERS Dependendo do que você quer

    fazer, não precisará pagar para utilizar o serviço 14
  15. AGNÓSTICO A LINGUAGEM Como a maioria dos sistemas são APIs

    ou possuem SDKs você pode implementar o seu chatbot na linguagem que preferir. 15
  16. Aproveitar o bom! Que tipo de problemas conseguimos resolver hoje?

    16
  17. 2. CHATOPS Resolvendo problemas que os chatbots já resolvem! 17

  18. Fluxo Básico de Chatops 18

  19. Como é a infra hoje? Cada vez menos você tem

    um servidor físico que manipula na “mão” 19
  20. CLOUD E SERVIDORES VIRTUAIS Cada vez mais o desenvolvedor tem

    acesso aos servidores e pode manipulá-los, criar novos, destruir antigos como bem entender. Só precisamos de comandos para isso. 20
  21. Automatizadores de Ambiente Com ferramentas como Ansible, Puppet, Chef e

    até mesmo usando shell script. Conseguimos realizar diversos ajustes nos ambientes, realizar deploys, configurar servidores e muito mais. 21
  22. CONTÊINERES Melhor utilização dos recursos dos servidores e comandos fáceis

    para criação e manutenção de ambientes de produção. 22
  23. APIs e SDKs É muito fácil interagir com os ambientes

    de produção através de APIs e SDKs em várias linguagens. Então, plugar um bot é bem trivial. 23
  24. O útil + o agradável Já que estamos sempre conectados,

    porque não usar um chatbot? 24 +
  25. Manipulação Criação e manutenção do tamanho de instâncias, criação e

    manipulação de contêineres. Instalação de softwares em servidores. 25
  26. Disponibilidade Desenvolvedores e sysadmins conseguem receber status dos servidores. O

    bot avisa a equipe caso o sistema saia do ar ou esteja passando por dificuldades técnicas. 26
  27. Deploy Possibilidade de realizar um deploy através de chat, bem

    como informar ao time o status de um deploy. 27
  28. Alguns Projetos O que o github nos prepara? 28 +

  29. Hubot - https://hubot.github.com/ 29

  30. Slack Deploy Bot - https://github.com/accessd/slack-deploy-bot 30

  31. opsdroid - https://opsdroid.github.io/ 31

  32. Botman - https://botman.io/ 32

  33. Awesome ChatOps - https://github.com/exAspArk/awesome-chatops 33

  34. Criar um na mão? Como usar as plataformas de chatbot

    para criar um chatops? 34 +
  35. Do jeito mais difícil Vamos integrar algumas ferramentas e criar

    um chatops! 35 +
  36. Stack do Sucesso! Mas você pode criar sua própria stack

    36 + +
  37. Exemplo 1 Problema Gostaria de poder ver, criar e deletar

    droplets através do meu celular. Método Criamos um chatbot no dialogflow com três intenções “listar”, “criar” e “deletar” e integramos com um SDK em PHP da Digital Ocean Solução Linkamos o bot criado com o telegram em um clique e podemos acessar as funcionalidades no celular. 37
  38. DigitalOceanV2 - https://github.com/toin0u/DigitalOceanV2 38

  39. DialogFlow 39

  40. DialogFlow 40

  41. DialogFlow 41

  42. DialogFlow 42

  43. DialogFlow 43

  44. DialogFlow 44

  45. Códigoooo! 45 +

  46. DialogFlow 46

  47. DialogFlow 47

  48. DialogFlow 48

  49. DialogFlow 49

  50. DialogFlow 50

  51. DialogFlow 51

  52. DialogFlow 52

  53. Telegram 53

  54. DialogFlow 54

  55. Telegram 55

  56. Exemplo 2 Problema Gostaria de receber notificação no meu celular

    caso meu sistema esteja fora do ar. Método Criamos um CRONTAB que invoca um script que tenta acessar o sistema. E integramos com um SDK do telegram. Solução O bot do telegram enviará uma mensagem para você em caso de erro ao tentar acessar o sistema. 56
  57. Telegram BOT API - https://github.com/TelegramBot/Api 57

  58. Telegram 58

  59. Os exemplos: 59 + https://github.com/pokemaobr/chatops-sample

  60. 60 VALEU! Perguntas? Você pode me achar pelo nick @pokemaobr

    ou no e-mail pokemaobr@imasters.com.br