コンテンツに移動
アプリケーション モダナイゼーション

Wayfair でレンダリング プラットフォームのクラウド バリューを実現 — パート 2

2023年6月9日
Google Cloud Japan Team

※この投稿は米国時間 2023 年 5 月 31 日に、Google Cloud blog に投稿されたものの抄訳です。

私たち Wayfair はリフト&シフト移行戦略を通じて最近 Google Cloud にレンダリング プラットフォームを移行しましたが、前回の投稿ではこのプラットフォームでの使用を目的に特定したさまざまなコスト最適化戦略について説明しました。今回の投稿では、こうした戦略をどのように適用して取り組みを計画、実施したかに焦点を移し、学んだことを共有します。

計画と実施

主要な費用と使用量の削減策を特定した後、私たちのワークグループは、エンジニア、分析、Google Cloud の各チームと連携して計画と実施フレームワークを作成しました。また、チームの調整を図り、関係者の同意を得るために、ベースラインとターゲットを用いた概括的な目標と主要な成果を設定しました。

目標: 品質を損なうことなく、各アセットを最も効率的にレンダリングする

主要な成果 1: 1 時間あたりのレンダリング コア コストを 30% 削減する

主要な成果 2: 画像リクエストあたりの平均レンダリング時間を 35% 削減する

取り組みと優先順位付け

私たちは各チームに対して、主要な取り組みを特定し、それぞれについて労力と ROI を計算したものを、節約と労力を軸とする象限に配置するよう働きかけました。この象限を使用して、中程度から高程度の節約をもたらす低労力の取り組みを特定しました。また、高費用ながら高程度の節約をもたらす取り組みも特定し、後のために保存しておきました。次の図では、労力と支出のバランスがとれている他の例も見つけることができます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/image2_mAUBKYs.max-900x900.png
費用最適化の機会を特定できる 4 象限の優先順位付けマトリックス。出典: Understand the principles of cloud cost optimization。

上述のフレームワークを使用して、以下の取り組みを順番に実施しました。

2022 年 6 月

  • コスト ダッシュボードの実装: Cloudability を使用して、レンダリング コストを詳細に表示するダッシュボードを作成しました。このダッシュボードは、レンダリング用 Google Cloud プロジェクトのコストバケットごとに日次、週次、月次のトレンドを表示し、レンダリング ファーム上の支出のあらゆる側面を追跡できます。エンジニアやリーダーのために Google Cloud 上の支出をわかりやすく可視化するものです。

  • シャットダウンのスケジュール設定: 私たちが最初に行ったことの一つは、週末にファームの生産能力の大部分をシャットダウンすることでした。週末に使用されるレンダリング時間のデータを調べれば、これは当然のことでした。

  • レンダリング設定の最適化: モデリングに使用されるシーンのグローバル イルミネーション、最大サブディビジョン、放射輝度を調整して、同様の品質の画像作成に必要となる時間を短縮しました。

  • 自動ファームのサイズ適正化: 使用量モデルに基づいてファーム全体の使用率を向上させるために、自動ファームのサイズも 30% 縮小しました。

2022 年 7 月

  • インスタンス タイプを使用した複数の MIG のデプロイ: オンプレミスのレンダリング ノードについては当初、Google C2D-Standard-30 インスタンス タイプを使用して、上位 10 パーセンタイルのワークロードを対象に最適化しました。Google の推奨事項に基づいて新しい TAU インスタンスのベンチマークを行ったところ、T2D-Standard-16 は当社ユースケースの 90% でパフォーマンスが向上し、50% を超える費用削減が実現できることがわかりました。

  • ラウンドごとに画像を削減: ファームでレンダリングされた一部の画像は何の価値も付加せず、場合によってはまったく利用されないことに気づいたため、レンダリング後のリクエストからクラス固有の一定の画像を削除することで、作業ラウンドごとの無駄なレンダリングを削減し、ワークロード要件を従来よりも少なくしました。

  • セルフサービス型レンダリング使用状況ダッシュボードの実装: データ エンジニアリングのパートナーと緊密に連携して、レンダリング時間の使用状況をリアルタイムに可視化するとともに、さまざまな次元でデータをスライスして無駄をできるだけ早期に特定し、上述と同様に対処できるようにしました。

2022 年 8 月

  • 自動スケーリング: Google Cloud と分析チームの緊密な連携により、その時のファームの使用状況、送信量、パターンを調べて、ファームにデプロイされたノードを定期的に制御するカスタム スケーリング アルゴリズムを作成しました。これにより、レンダリング ファームで 90% 以上のターゲット使用率を達成することができました。

2022 年 5 月から 2022 年 9 月までの 5 か月間で、月々の費用がおよそ 85% 削減されました。画像の品質や配信速度に関する中核的なビジネス目標に影響を与えることなく、これを全面的に達成しました。さらに、今後数か月間にわたりライセンス費用を削減することで、節約額を最大 25% 増やしていく計画です。また、スポット インスタンスを調査し、アーティスト プールの最適化を進めて、クラウドにおけるさらなる節約を推進していきます。

経験から得られた知識

コスト最適化のプロセスを通じて、多くのことを学びました。以下にその一部をご紹介します。

共同作業

私たちが目の当たりにした最適化のスピードとレベルを達成できたのは、エンジニアリング、ビジネス、インフラストラクチャ、Google の各チーム間の非常に緊密なコラボレーションのおかげです。ビジネスチームは、パイプラインの品質とスループットを最適化し、適正なサイズにする機会を特定するうえで重要な役割を果たしました。Google Cloud チームは設計段階で何度も手を差し伸べ、マシンタイプを選択する際や、自動スケーリングするアルゴリズムを制約の範囲内で構築する際に正しい方向を示してくれたため、費用をさらに抑えることができました。また、費用モデリングにも協力してくれました。Google チームは非常に洞察力に優れたチームでした。

計画と実施

着手にあたり、設計とプレッシャー テストの取り組みにおける明確なルールを設定しました。実作業の前に俯瞰的な視点から各取り組みを検証し、詳細な検証中に容赦なく取り組みに優先順位を付けます。最終目標を達成する方法はたくさんありますが、Google の FinOps と費用最適化フレームワークを使用してそれらを順序立てて実行することにより、労力が少なく、節約効果の高い取り組みを通じて、直ちに無駄を省くことができました。取り組みを特定したのち、数週間ごとに少しずつ実施していき、即座に支出に影響を与えました。

成果測定と調整

最後に、チームの現実的な目標と測定可能な主要な成果を作成し、週次の指標レポートを通じてチームのすべてのメンバーに完全な透明性を提供しました。説明責任とオーナーシップを継続的に推進するために、プロアクティブなモニタリングを行うとともにレポートとダッシュボードを作成し、レンダリング ファームの使用状況と日次コストに関する詳細なデータをチームに提供しました。何よりも、私たちはまだスタートを切ったばかりです。こうしたデータポイントによって提供される可視性のおかげで、時間あたりの費用と使用したレンダリング時間の両方を微調整する機会を継続的に特定しています。お使いの環境における節約機会を特定して実装する方法について詳しくは、Google Cloud のホワイトペーパー「Understand the principles of cloud cost optimization」をご覧になることを強くおすすめします。


- Wayfair、3D ツールズ グループ Jack Brooks 氏
- Wayfair、シニア スタッフ エンジニア Yusuf Nazami 氏
投稿先