ここから本文です

大規模セールでアクセス殺到でも“落ちない”サイトに――ZOZOTOWNのクラウドサーバ活用術

6/5(水) 7:10配信

ITmedia NEWS

 「ZOZOTOWNのシステムの大部分は、オンプレミスで運用してきた。2004年のオープン当初は問題なかったが、2年目以降、徐々に人気が出始め、毎年サーバを買い足す状態になった。(サーバの台数は)数百台規模になり、運用コストが高くなっていた」

【ZOZOTOWNの特徴】

 そう話すのは、ZOZOテクノロジーズ 開発部の鶴見純一さん。同社がサービス運用・技術開発を担当するファッション通販サイト「ZOZOTOWN」は、年間812万人以上(19年3月末時点)が利用するほどの規模に成長したが、毎秒数万にも及ぶリクエストを処理し、システムの一部がダウンしても“サイトが落ちない”ようにするためには、オンプレミスでの運用は限界だった。

 そこで同社は17年8月からクラウドへの移行を進めている。19年5月現在、一部システムのリプレースが完了し、目立ったトラブルもなく安定稼働できているという。今後、数年以内に全システムのリプレースを終える見通しだ。

 「安定稼働までの道のりは、結構険しかった」――日本マイクロソフトが都内で5月30日に開催した開発者向けイベント「de:code 2019」で、ZOZOテクノロジーズの鶴見さんと、同じく開発部の竹中達志さんが舞台裏を語った。

大規模セールに悩んだ末の「コンテナ」活用

 クラウド移行前、鶴見さんらが抱えていた課題の1つは「サーバの追加が柔軟にできないこと」。ZOZOTOWNでは年に4回、大規模なセールがあり、トラフィックが急増する。セールがある時期とない時期ではトラフィックの差が大きいが、セール時のトラフィックを処理できる台数のサーバを常に用意していたため、余分なコストがかかっていたという。

 また、サーバ構築や運用では手動設定が多く、負担が大きいことも課題だった。「購入したサーバをセットアップし、アプリケーションを載せて使える状態にする、という作業を1台ずつ行っていた」(鶴見さん)

 そこでクラウド移行に当たって、鶴見さんらが注目したのが「コンテナ」だ。1つのホストOS上に、他のユーザーから隔離されたアプリケーション実行環境(コンテナ)を作ることで、あたかも個別のサーバのように使えるというもので、サーバ仮想化と比べると起動時間が短く、軽量で高速に動かせるのが特徴だ。

 負荷を分散するために複数台のサーバを組み合わせる場合(クラスタリング)、セールなどで処理能力を上げようとしても、仮想化ではサーバの起動などに多少の時間がかかる。コンテナを使えば、そうしたスケールアウト/スケールインを行いやすい。

 ただ、多数のコンテナを扱おうとすると、コンテナをどのホストで稼働させるか、外部ネットワークからコンテナへのアクセス経路をどう設定するか、コンテナの死活監視をどうするか――などの設定に手間がかかる。そこで、これらの機能を備え、コンテナを統合管理できるツール(コンテナオーケストレーションツール)として注目を集める「Kubernetes」を活用した。

 リプレースを担っているのは、鶴見さんと竹中さんを含む5人。「ZOZOTOWNの全部を作り変えるには少ない人数」(鶴見さん)だ。Kubernetesのマネージドサービス「Azure Kubernetes Service」を利用することにしたが、竹中さんは「マネージドサービスとはいえ、全て任せられるわけではない。やるべきことがあった」と振り返る。

1/2ページ

最終更新:6/5(水) 7:10
ITmedia NEWS

こんな記事も読まれています

あなたにおすすめの記事