チャットを業務の効率化に生かすポイントが、定型化した自動処理をチャット画面から起動するボットの活用だ。先進事例を紹介する。

 ネット広告や音楽配信事業などを展開するサイバーエージェントでは、部門が独自の判断でビジネスチャットを導入しており、チャットボットも各部門で必要なものを開発し活用している。

 中でも、主力のネット広告でサービス開発を担当するアドテク本部はボット活用が進んでいる。情報システムの監視に加え、定型的な運用業務もボットに指示を出しチャット上で実施するようにしているからだ。チャット活用を推進するエンジニアリングマネージャーの小栗徹氏は「システム監視は一般的だが、運用業務までチャットに取りこんでいるのはIT業界でも珍しいだろう」と話す。チャットサービスはSlackを採用し、ボットは「Hubot」と呼ぶツールで開発した。

Hubot▲
GitHubの開発元である米ギットハブが開発したボットの開発フレームワーク。無料で公開しており、SlackやTwitter向けのボット開発に対応している。コードはJavaScriptで記述する。

作業の流れがメンバーに見える

 対象のシステムは、アドテクの基幹業務である広告配信系のシステム群やその稼働環境であるクラウド基盤などだ。アドテク本部ではシステムの追加機能の開発から実運用までのサイクルを短くするために「DevOps」と呼ぶ開発手法を採っている。

 運用では定型的な作業が多く、これらをボットで半自動化した。代表的な定型作業が、運用中の現行システムから開発・テストした新システムへと本番環境を切り替える「ブルーグリーンデプロイメント」だ。仮想サーバーの追加や再起動などもボットに実装している。

 Slackに設けた専用のチャンネルではメンバーが運用に関わる連絡事項や作業の指示を投稿している。さらに実際の作業でも、同じチャンネル上でボットに指示するキーワードを投稿する。例えば新旧の環境を切り替えるときは「deploy」に続き、対象サーバーなどを指し示すパラメーターを加えて投稿する。環境を瞬時に切り替え、システム側からのログも取りこんでチャット上に投稿する(図1)。「キーワードは自然言語にしてもよかったが、エンジニアが使いやすい命令文の書式にした」(小栗氏)。このように運用作業もチャットを通じて指示すると、作業指示などを受けて誰が作業したか、結果はどうかまで、一連の流れを共有できる。

図1●サイバーエージェントはチャットボットを介したシステム運用で作業の流れを共有
図1●サイバーエージェントはチャットボットを介したシステム運用で作業の流れを共有
ネット広告の開発を手掛けるアドテク本部で活用している。広告配信サーバーなどITインフラの日常的な運用作業を自動化するボットを開発。誰がどのような作業をしているかをチャット上で共有し、重複作業やミスをなくすようにした。
[画像のクリックで拡大表示]

 システムのログを自動投稿するボットを導入し、迅速なトラブル対応に生かしている運用チームは多くある。ただしシステム監視をボット化しただけでは、システム運用画面を操作して結果をチャットに報告する必要があり、異なる画面を行き来することになる。遠隔にいる2人が同じ作業を試みるなど重複やエラーが起こりやすくなる懸念もある。

 チャットを通じた運用作業は「遠隔でも作業の重複やミスが起こりにくくなる」と小栗氏は評価する。業務時間外のエラー対処もチャットで進ちょくが把握できるので、軽微なエラーなら作業も迅速化できる。メンバーの負荷軽減にもつながるという。

DevOps▲
開発と運用担当のメンバーが密に連携して、システムを継続的に改良、運用し続けていくシステムの開発・運用手法。継続的インテグレーション(CI)とも呼ぶ。