11万社以上が導入する企業向けチャットサービス「チャットワーク」。運営するChatWorkが取り組んでいるのが、AWS(アマゾン・ウェブ・サービス)で稼働するシステム運用の効率化だ。ユーザー数の増加に応じて仮想マシンの台数が増え、運用の負荷も膨れ上がった。少人数で事業を成長させるには、運用を効率化して開発に注力できるようにする必要があった。

 「理想は、運用に張り付くインフラエンジニアをゼロにすること。そのために、できるだけ運用作業を自動化することにした」。ChatWork CTO室の九岡佑介氏はこう話す(写真)。「インフラ構築」「監視」という二つのテーマで自動化を進めた。

写真●サービス運用の自動化に取り組む、ChatWork CTO室の九岡佑介氏
[画像のクリックで拡大表示]

 インフラ構築の自動化では、まず軽量コンテナの「Docker」を採用し、その管理のために、米グーグルがオープンソースとして公開する「Kubernetes」を導入した。「コンテナの数が増えると管理が大変になる。大量のコンテナ一つひとつを、多数ある仮想マシンのどれに配置するか。これを管理し、配置作業を自動化する仕組みが必要だった」(九岡氏)。同種のソフトはほかにもあるが、コンテナ間の依存関係を管理しやすいことや、複数コンテナの配置を自動化しやすいことなどからKubernetesを選んだ。

 インフラ構築の自動化のため、米ピボタル・ソフトウエアが公開するオープンソースのCI(継続的インテグレーション)ツール「Concourse」も導入した。別のオープンソースCIツール「Jenkins」「Travis CI」を使ってきたが、「使い勝手を重視して」(九岡氏)、Concourseへの乗り換えを進めている。

 KubernetesやConcourseによって、「アプリケーションエンジニアが、プログラミングと同じような感覚でインフラ設定のコードを書くようになった」(九岡氏)。その分、インフラエンジニアの負荷を減らせたという。

この先は会員の登録が必要です。有料会員(月額プラン)は申し込み初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら