ZOZOTOWNの選択したリプレース戦略
日本最大級のファッション通販サイト「ZOZOTOWN」ではもともと、オンプレをベースとしてインフラ基盤を構築していた。だが、サービスが成長してユーザー数・リクエスト数が増えるにつれ、徐々に課題が見えてきたという。
例えばオンプレの場合、リソース調達にはどうしても時間がかかってしまう。インフラの構築・運用にかかる人的コストも大きい。さらに、パフォーマンスやコストの最適化を目的としてサーバーのスケーリングを行いたい場合、オンプレでは対応が難しい。
こうした課題を解決するため、「ZOZOTOWN」のインフラ環境をオンプレからクラウドベースへと刷新するプロジェクトがスタートした。本セッションのなかで川崎氏が解説したのは、プロジェクトのうち、バックエンド参照系APIシステムの刷新において取り組んだ施策だ。
このインフラ刷新においては、バックエンドの処理でスケーラブルにする必要がある部分を、API化して疎結合にする形をとった。もともとはデータベースにストアードプロシージャでの問い合わせを行っていた処理を、APIを経由してSQL発行する形をとったのだ。リプレース戦略においては、3つの軸を大切にしたという。
1.サブシステムごとに段階的に実施
全システムのインフラを、一気に切り替えるような形はとらない。サブシステムごとに段階的にクラウドベースに刷新する。
2.NoOps・LessOps
構築・運用のコストを省力化するため、PaaS、SaaSなどできるだけ抽象化・自動化されたサービスを活用していく。
3.クラウド中立(Cloud Agnostic)
マルチクラウド、クロスクラウドで構成可能にするため、特定クラウドプラットフォームに過度な依存をしないようにツールやサービスの選定・設計を行う。
「クラウドプラットフォームとして選択したのは、Microsoft Azureです。認証サービスである『Microsoft Azure Active Directory』の利便性の高さや、『ZOZOWOWN』と相性の良いデータベースマネージドサービスが存在していること、そしてマネージドサービスの種類が豊富であることなどが、決め手になりました」(川崎氏)
また、クラウドプラットフォームのSingle Point Of Failure(単一障害点)を回避し、安定的にサービスを運用する意図から、Microsoft AzureとAmazon Web Servicesのマルチクラウド構成を選択した。