All those bots are gonna steal your job

All those bots are gonna steal your job

This is not about consumer bots, this is about dev bots.

A talk I gave at TakeoffConf and Kikk.

F17e757902ab6a18cba1bacaa976eb0f?s=128

Yannick Schutz

October 20, 2016
Tweet

Transcript

  1. All those bots Are gonna steal your job

  2. All those bots Are gonna steal your job

  3. How I built a 2m height Duplo tower

  4. None
  5. None
  6. All those bots Are gonna steal your job

  7. Yannick Internal tools engineer

  8. None
  9. Chatops

  10. Conversation Driven Development - Automation - Visibility - Collaboration -

    Security
  11. Automation

  12. Examples: - Page users - Deploy your apps - Run

    scripts across your servers
  13. Visibility

  14. Examples: - GitHub flow in chat - Bug tracking notifications

    - CI server status
  15. Collaboration

  16. Examples: - Update incidents notes - Approve changes - Comment

    what other are doing
  17. Security

  18. Examples: - 2fa the important changes - People see what

    you are doing - Chat knows who you are
  19. Chatops at Heroku

  20. A play in 3 acts - The past - The

    present - The future
  21. The past

  22. The sentinel era

  23. - Many bots, no cohesion - A custom ruby bot

    for Paging - A small new team to manage it
  24. Heimdall, yet another hubot

  25. - One bot to rule them all - Coffeescript all

    the things - Trying to leverage the community
  26. Issues and learnings

  27. - No strong practices of Node testing - The brain

    is just a blob - Custom code and no reuse - Abusing the hubot purpose
  28. It was still the best choice!

  29. The present

  30. Rails apps

  31. - A team that does Rails - Less Hubot, more

    Slack integrations - Strong practices around testing and building
  32. Using slack /commands

  33. - Dependency on Slack - Using slash commands for all

    the things - No real-time or event loop
  34. Current apps

  35. Paging and alerting

  36. # Tools-ops bot page @yannick This is fine Paged Yannick

    Schutz: Incident PIHXOC6 Alice 10:13 AM Bot 10:14 AM 42
  37. # Tools-ops 42 #tools Incident PVL9JK3 Your apps are on

    fire Bot 10:14 AM
  38. bot resolve PIHXOC6 Incident PIHXOC6 resolved # Tools-ops 42 Yannick

    10:13 AM Bot 10:14 AM
  39. Deployments

  40. bot deploy api/new_auth to production 023941 # Tools-ops 42 you

    are deploying api/new_auth to production Alice 10:13 AM Bot 10:14 AM
  41. Notifications

  42. Faraday::ClientError: the server responded with status 409 from faraday/response/raise_error.rb:13:in `on_complete'

    from faraday/response.rb:9:in `block in call' from faraday/response.rb:57:in `on_complete' from faraday/response.rb:8:in `call' from faraday/adapter/net_http.rb:56:in `call' from faraday/request/authorization.rb:38:in `call' # Tools-ops 42 #654 - API ➤ Faraday::RateLimitError Bot 10:14 AM
  43. HerokuCI built 17ab7962 # Tools-ops 42 Beeper build of master

    was successful. Details Bot 10:14 AM
  44. # Tools-ops 42 [Beeper] The branch lol was deleted by

    ys Bot 10:14 AM
  45. Not in chat!

  46. Out of date dependencies Your brand new PR #50 Details

    ys wants to merge 2 commits into master from new-pr OPEN
  47. Your brand new PR #50 ys wants to merge 2

    commits into master from new-pr OPEN Method length is too long Details
  48. Important

  49. - Act on behalf of the user - Refresh the

    tokens - Have a simple syntax - Have fun GIF integration
  50. The future

  51. More automation

  52. - Full incident handling - Project Management - GitHub repo

    management
  53. bot open new incident Trouble with git push Alice 10:13

    AM # Tools-ops 42 Done https://status.heroku.com/git_push_issue Bot 10:14 AM
  54. # Tools-ops 42 bot merge beeper/new_auth Alice 10:13 AM PR

    has been merged and deployed to staging Bot 10:14 AM
  55. More visibility

  56. - Use the buttons - Smarter notifications - Reduce the

    noise per team
  57. Acknowledge Resolve Escalate # Tools-ops 42 New incident PIHXOC6: Latency

    is too high Bot 10:14 AM
  58. AWS is experiencing issues in us-east-1 … # Tools-ops 42

    GitHub is down right now Bot 10:14 AM
  59. Deployment of beeper to staging succeeded Deployment of beeper to

    production succeeded # Tools-ops 42 bot show me only production events Alice 10:13 AM Bot 10:14 AM
  60. More collaboration

  61. - Change control from chat - Accurate view of the

    platform - Escalate pages from chat
  62. bot approve changes to beeper/new_readme Changes approved New PR beeper/new_readme

    # Tools-ops 42 Bot 10:14 AM Bot 10:14 AM Alice 10:13 AM
  63. bot escalate to @ys, I need some help Paged Yannick

    Schutz New incident PIHXOC6: Everything is on Bot 10:14 AM Bot 10:14 AM Alice 10:13 AM # Tools-ops 42
  64. More security

  65. - 2fa through a click on your phone - Gate

    critical actions - Better auditing of all actions
  66. Alice 10:13 AM you are deploying api/new_auth to production Bot

    10:14 AM bot deploy api/new_auth to production Approve # Tools-ops 42
  67. Not in chat?

  68. - Build equivalent CLI experience - Expose actions in WebUI

    - PhoneOps - Better commit statuses alerts
  69. Bot 10:14 AM deploy api/new_auth to production # Tools-ops 42

    you are deploying api/new_auth to production
  70. Bot 10:14 AM # Tools-ops 42 you are deploying api/new_auth

    to production deploy api new_auth▾ to production▾ ▾
  71. NPM packages out of date Golang packages out of date

    Add some tests here? Where is the documentation? A PR with no description Your brand new PR #50 ys wants to merge 2 commits into master from new-pr OPEN Details
  72. TL;DR

  73. Hubot must be a dumb client

  74. We Rails slack apps

  75. Being locked in slack is OK for us

  76. The information where it needs to be

  77. Thanks any questions?

  78. @yann_ck @ys

  79. Emoji provided free by EmojiOne* * http://emojione.com/