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