2004年にサービスを立ち上げ、約20年の歴史を持つZOZOTOWN。現在はさらなる成長に向けた大規模リプレイスプロジェクトが進行しています。長い歴史があるプロダクトだからこそ、リプレイスの際にはレガシーな技術への対応が求められる側面も。このミッションを担う半澤詩織と武井勇也は「レガシーともモダンとも向き合える環境だからこそ成長できる」と話します。ZOZOのリプレイスプロジェクトだからこそ得られるやりがいとは? 2人に聞きました。
【プロフィール】
半澤 詩織(技術本部カート決済部カート決済基盤ブロック / 2013年中途入社)ZOZOTOWNの開発・運用を経験後、グローバルサイトの立ち上げ・開発・運用を行う。グローバル事業のクローズに伴いZOZOTOWNのリプレイスチームへ異動。2021年からZOZOTOWNカート機能のリプレイスを担当する。趣味は音楽鑑賞(パンク・ハードコア)、自然派ワイン、スーパーめぐり。
武井 勇也(ZOZOTOWN開発本部ZOZOTOWNWEB部フロントエンド4ブロック / 2020年新卒入社)ZOZOTOWNのWebフロントエンドのシステムリプレイスを担当するチームに所属。プロジェクト内でのTypeScriptやNext.jsを活用したシステム設計を担当している。趣味はサウナ、ランニング、登山。
目次
- サービス開発は止めない。ZOZOならではのリプレイスプロジェクト
- ──ZOZOTOWNリプレイスプロジェクトの歩みについて教えてください。
- 後戻りできないところから「一気に変える」決断も
- ──半澤さんと武井さんは、それぞれどのようなミッションを持ってリプレイスに関わっているのでしょうか。
- 過去と向き合い、「変換能力」「設計能力」が磨かれる現場
- ──2人は、このリプレイスプロジェクトの課題や難しさをどのように感じていますか?
- ──こうした苦労を踏まえて、リプレイスプロジェクトを経験することで得られるものとは?
- 「ファッションの『こと』ならZOZO」の実現に向けて
- ──2人の今後の展望を教えてください。
サービス開発は止めない。ZOZOならではのリプレイスプロジェクト
──ZOZOTOWNリプレイスプロジェクトの歩みについて教えてください。
半澤:現在のリプレイスプロジェクトは2017年に始まりました。サービスが急成長を続ける中で、ZOZOもレガシーな技術と向き合い続けてきたんです。
2004年のサービス誕生時、ZOZOTOWNは「年商500億円規模のトランザクションに耐えうるサイト」として構築されました。しかし2014年頃には成長とともに従来のシステムアーキテクチャを温存したままトランザクションの増大に対処していくのは難しい状況に。そこでクラウドベースのマイクロサービス化への移行を決断し、2017年に大規模なリプレイスプロジェクトを立ち上げたんです。
以降は大規模システムのマイクロサービス化等に知見を持つエンジニアがどんどん加わり、クラウド移行を進めるとともに、リプレイス選任の新しいチームも発足しました。今後は2024年を一つのゴールとして、全社横断のリプレイスを完了させる計画です。
武井:ここまでの規模でリプレイスプロジェクトを進めている例は、他社にはなかなかないかもしれません。新規のサービス開発を完全に止め、1年ほどの期間をかけてリプレイスするケースは多いと思いますが、ZOZOは全体のサービス開発を止めずに、かつ途中であきらめることもなく、長期間リプレイスをやり続けています。
なぜなら、当社は“zozo.jp”をすべての土台として、この上に新しいサービスや機能を作っていくビジネスモデルだから。ドメインやサイト自体を分けていないので土台ごと新しく作ることは選択せず、それでも新規開発をしやすくするためのリプレイスは進めていかなければいけない。独特の難しさがあるプロジェクトだと思います。
後戻りできないところから「一気に変える」決断も
──半澤さんと武井さんは、それぞれどのようなミッションを持ってリプレイスに関わっているのでしょうか。
半澤:カートのリプレイスにはたくさんのフェーズがあり、障害につながりやすい高負荷な部分から対応を進めています。たとえばZOZOTOWNのサイト内で人気商品が発売されると、リクエストが集中してデータベースに負荷がかかり、影響がサイト全体に波及してしまうことも。リプレイスフェーズ1ではリクエストのキャパシティコントロールを実現し、エラー発生率を大幅に削減しました。
私自身はバックエンドのリーダーとして、アーキテクチャの検討や調整、成果物のレビューなどを担っています。カートのリプレイスではインフラ、アプリを含むフロントエンドはもちろん、BtoBサービスや基幹システムなど他部門との調整が必要な場面も多いですね。
武井:私が所属するフロントエンドチームでは、“zozo.jp”の全ページをリプレイスするミッションを持っています。これを進めていく上で、まず始めに2022年11月、お客さまに最初に訪れていただくホーム画面を置き換えました。
チーム内では「もっと影響の小さなところから進めるべきでは?」という議論もありましたが、大規模な数字を持つページでなければ検証できない部分もあります。そこで、あえて後戻りできないところから一気に変えていくという大きな決断をしたんです。
すでにお客さまに見える範囲でのリプレイスが実行されていて、たとえば「elove by ZOZO」というZOZOTOWN内に新しくオープンした常設コンテンツでは新しい基盤を使っており、レガシー技術の影響は一切ありません。今後のロードマップとしては全ページを置き換える前提で、カートやアイテム詳細、バックエンドなどを担当するチームとともにプロジェクトを進めていく予定です。
過去と向き合い、「変換能力」「設計能力」が磨かれる現場
──2人は、このリプレイスプロジェクトの課題や難しさをどのように感じていますか?
半澤:第一に、今の巨大なモノリスな既存システムのソースと難解な仕様を理解した上で、マイクロサービスへ分割し、開発言語を置き換えることです。ZOZOTOWNのバックエンドは元々VBScriptを使用しており、今でもシステムの大部分をVBScriptが支えています。これを、言語として息が長く業界に人材が豊富なJavaにリプレイスする予定です。約20年の歴史で継ぎ足してきたソースを改修する際には、既存のソースを知っている人でなければ対応しづらいという側面もあります。
続きはこちら