コンテナーは仮想化のオーバーヘッドが小さい。負荷に応じてスケールアウトするシステムにおいて、その特性が大いに生きてくる。サーバーの集約率を高められるからだ。

 ここでは、そうしたシステムへの導入事例として、求人情報を提供するSNSのアプリケーションサーバーと、動画配信サービスのパーソナライズサーバーを紹介する。

ウォンテッドリー
アプリサーバーを2分でデプロイ

 ウォンテッドリーは2014年夏、求人情報を提供するビジネスSNSサービス「Wantedly」の動作環境を、PaaSの「Heroku」から、IaaS(Amazon EC2)に載せたコンテナーに移行した(図1)。システムの稼働場所を米国から東京に移すことで、レスポンスが低いという問題を解消するためである。

図1●ウォンテッドリーはSNSサーバーに採用
図1●ウォンテッドリーはSNSサーバーに採用
Dockerを使うことで、従来環境(PaaSのHeroku)と同等の拡張性とデプロイ速度をIaaS(Amazon EC2)上で実現した
[画像のクリックで拡大表示]

 相川直視氏(リードエンジニア)は、Herokuを使っていた約2年の間に、「使用リソース量を指定するスライダーを動かすだけで、大量アクセスに対処できる」「2分間でデプロイが完了する」という感覚が同社の開発エンジニアに染み付いたと話す。そのため、インフラ構築を担当する内田誠悟氏(エンジニア)はEC2への移行に際して、「Herokuを使い慣れたエンジニアが、違和感なく利用できるインフラにすることが最優先課題だった。例えば、デプロイが2分で完了しないと、開発サイクルが滞る懸念があった」という。