ChatOpsの概念を歴史から振り返ってみる


ChatOpsという話をしたときに、
社内で認識のすれ違いがあったりしたので、少しまとめてみました。
間違いがあれば指摘して頂ければ泣いて喜びます。

ChatOpsの歴史

hubotのリリース

2011年、hubotというchatbotフレームワークがGitHubよりリリースされました。

hubotは拡張性が高い、非常に良くできたフレームワークでした。
redis、MySQL、yamlと様々なツールを使って、データを保持することができ、
slack、Hipchat、IRCなど、様々なチャットツールと接続するアダプタを用意することが容易でした。

機能の再利用性も高かったため、hubotは様々な人に利用されるchatbotフレームワークとなりました。

ChatOpsの誕生

PuppetConf 2012において、GitHubはhubotを用いたChatOpsという概念を発表します。

この発表においてhubotは、ciの実行、Pull Request のmerge、自動デプロイ、log出力、リソースグラフの出力。
など様々な役割を持っていました。

ChatOpsの主な利点としては、下記の4点が挙げられています。

  • チャットツール上にいる人全員が、現在起きていることを把握できる
  • 現状を把握できるので、無駄なコミュニケーションが発生しない
  • 目の前で実行することが、教えることに繋がるため教育コストが低くなる
  • 複雑な処理をチャットでのメッセージのやりとりに隠蔽できる

この発表時点のChatOpsという概念は、
人がchatbotにメッセージを送り、タスクを実行させる。
そして、その結果をチーム全体で共有するといったものでした。

しかしながら、時間の経過とともにその概念は変化していきます。

ChatOpsの概念の変化

現在、SentryやDatadog、Mackerel、NewRelicなど、SaaS自体がChatサービスと連携する機能を持つようになりました。

その結果、ChatOpsという概念が、SaaSなどのツールも含みはじめました。
ChatBotはChatOpsのさらなる効率化を図るツール
という位置づけで話をされることさえあります。

最後に

現在ChatOpsの概念は、どちらが主流なのかは分かりません。
もしかしたら、SaaSを含んだ概念はある種特殊なものかも知れません。
とはいえ、ChatOpsという開発手法には、ChatBotを含まない可能性もありうるというところだけ
認識しておくと、無駄なすれ違いを発生させないかも知れません。

参考資料

PuppetConf 2012
https://puppet.com/blog/watch-and-learn-puppetconf-2012-videos

ChatOps at GitHub
https://www.youtube.com/watch?v=NST3u-GjjFw
https://getputpost.co/the-four-stages-of-chatops-79cc60fc38a#.vnb9dpiky