コンテンツに移動
Media & Entertainment

リフト&シフト: 動画メディア アプリケーションの導入事例

2022年2月22日
Google Cloud Japan Team

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

ソフトウェア アプリケーションをオンプレミスのハードウェアからクラウドに移行しても、たいていは「動作するだけ」で動作が保証されるわけではありません。ハードウェアの負荷が高いアプリケーションの場合は特にこの傾向があります。このブログ投稿では、メディア企業がリアルタイム動画配信用のソフトウェアをクラウドに導入した際に起きた現象について考察します。Google Cloud がメディア ソフトウェア プロバイダの Vizrt と協力して e スポーツ放送局の厳しい要件を満たした方法をご紹介します。両社は連携し、クラウドベースのデプロイメントで想定されるパフォーマンスを満たすだけでなく、それを超えるソリューションを実現しました。

クラウドでの動画配信

動画配信はハードウェアの負荷が非常に高いワークフローです。配信では、データ ストリームをほぼリアルタイムで処理・保存する必要があるため、GPU やメモリ、ディスク、CPU に負荷がかかります。また、プロデューサーが別の動画ストリーム(この場合は e スポーツ配信など)をミックスに追加すると、パフォーマンス要件が急速に高まります。

Vizrt の顧客は、カメラフィードの数を 8 から 16 に倍増して、より魅力的で緻密な番組を制作することで、放送番組を増やしたいと考えていました。

e スポーツ放送局の番組では、Vizrt のソフトウェアベースの 4K スイッチャー、Viz Vectar Plus が中心的な役割を果たしていました。その顧客はクラウドに移行する番組を増やすことを望んでいましたが、そもそも Viz Vectar Plus はオンプレミス ハードウェア向けに設計されています。そのため、クラウドへの単純な「リフト&シフト」を試みて、ソフトウェアが簡単に実行されなくても、誰も驚きませんでした。そこでその顧客は、必要な方法で実行するために Google Cloud と Vizrt に支援を求めました。

リフト&シフトのトラブルシューティング

Google Cloud は当初、問題はクラウド デプロイメントの設計、つまりソフトウェアをホストする VM の構成にあるのではないかと考えていました。そのため、トラブルシューティングの焦点は、1)ソフトウェアが仕様どおりに確実に動作し、2)コストや堅牢性、パフォーマンスを考慮して最適に動作するクラウド構成を見つけることでした。さらに、今回は動画メディア アプリケーションであったため、すべてのコンポーネントがパフォーマンス仕様、特にスループットや IOPS、ネットワーク帯域幅の仕様を満たすようにしたいと考えました。クラウド デプロイメントを検証して初めて、Vizrt にコード自体を調査するようにお願いしました。Google Cloud は次のことを行いました。

  1. テスト環境の設定

  2. 環境のベンチマーク テスト

  3. さまざまな構成のテスト

  4. ベンダー ソフトウェアで構成が最適に使用されていることの検証  

この方法は、大まかに言えば単純ですが、動画配信の最適化を踏まえ、特定の順序で細部にアプローチしました。想定される影響に優先順位を付け、以下の要素をテストすることでクラウド構成を最適化しました。

  1. VM タイプ: VM タイプは使用可能なメモリと CPU の構成を大きく左右します。ただし、今回は VM ワークフローであるため、N1 を選択する必要がありました。今のところ、GPU に接続できる VM タイプは N1 のみです。これは、実質的に動画配信の要件になっています。  

  2. ディスクタイプ: 動画配信では、高速な I/O で高品質の動画ストリームを処理する必要があります。よって、HDD よりもはるかに高速な SSD に移行しました。

  3. CPU サイズ: VM CPU コアの数を 16 から 32 まで徐々に拡大しました。CPU サイズを拡大すると、実際にパフォーマンスは向上しましたが、必要なレベルのパフォーマンスは得られませんでした。

  4. SSD サイズ: SSD サイズを拡大(およびサイズの増加に伴う IOPS とスループットを向上)したことで、より多くの同時録画が可能になりましたが、これについても、効果は一部にとどまりました。

  5. ディスク数: アプリケーションが 1 つのドライブで読み取り / 書き込みを行っている際、読み取り / 書き込みに関する問題が見つかりました。この問題にアプローチする一般的な方法は 2 つあります。1)2 つのディスクで読み取りタスクと書き込みタスクを分ける方法と、2)複数のディスクでデータ ストリームをストライピングする方法です。これらの方法を実施すると、パフォーマンスはわずかながら向上しました。  

テストの末、以下の最適な構成にたどり着きました。

  • VM: n1-standard-32 インスタンス(500 GB ブートドライブを使用)

  • GPU: T4 GPU 1 つ

  • SSD: 1 TB* の永続ディスク 1 つ

*後日、読み取りと書き込みの別々のオペレーション向けに SSD を 2 つ用意する方が最適であると判明しました。

この構成により、6~12 個のストリームを生成できました。オンプレミスのストリーム目標値である 8 個に比べれば良い結果ではありますが、お客様の目標である 16 個には足りませんでした。そこで、ソフトウェア自体を最適化するために、ここからは Vizrt に作業を引き継ぐ必要がありました。

クラウド向けにメディア アプリケーションを最適化

Google は推奨される構成、パフォーマンス上の注意事項、クラウドベースの動画ワークロードに一般に適用できる次のベスト プラクティスを Vizrt に伝えました。

  • 読み取りオペレーションと書き込みオペレーションを 2 つの異なるディスクに分けると、両オペレーションのパフォーマンスが向上する。

  • もう一つの 1 TB SSD 永続ディスクを VM インスタンスに接続すると、パフォーマンスが向上する。

この情報を利用し、Vizrt のエンジニアは毎日パッチを適用してテストを行い、反復処理を毎日行うことで全面的な解決策をすぐに見つけることができたのです。放送局が求める 16 個のフィードにとどまらず、44 個にまで増やすことができました。クラウド向けに最適化することで 5 倍以上の改善が見られました。

トラブルシューティングのチームワーク

メディアとエンターテイメントは特殊な性質があり、特殊なアプリケーションが相互に処理を渡すため、ワークフローが複数の企業にわたる状況が一般的です。

Vizrt Group の研究開発責任者 Andrew Cross 博士は次のように話しています。「Google Cloud と連携することで、目的のシステムを構築できました。おそらく誰もが不可能だと考えていた方法でスケールできます。おかげで、NDI を使ってクラウドで Viz Vectar Plus を完全に実行できるようになり、番組制作の目覚ましい可能性が開かれました。結果として、お客様からは素晴らしいフィードバックをもらうことができました。ソリューションに関する Google Cloud と Vizrt の連携体制を高く評価してくくれたのです。」

結果がすべてを物語っています。5 倍以上の改善効果を発揮し、顧客は満足しています。いわゆる良い結果が出せました。


- Google Cloud、メディアおよびエンターテイメント向け業界ソリューション アーキテクト Jodie Serror
- Vizrt Americas、自動化部門ソリューション アーキテクト Dave Lanton
投稿先