Amazon.comは、同社が提供する「Amazon Prime Video」の監視ツールをマイクロサービスアーキテクチャからモノリシックなアーキテクチャに移行したと明らかにした。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Amazon.comは2023年3月22日(米国時間)、同社が提供する「Amazon Prime Video」(以後、Prime Video)の監視ツールをマイクロサービスアーキテクチャからモノリシックなアーキテクチャに移行したと明らかにした。
Prime Videoでは、視聴者がコンテンツをスムーズに受信できるように、全てのストリームを対象としたオーディオ/ビデオ品質の監視ツールを構築している。同ツールで視覚的な品質の問題(ブロックの破損や音声と映像の同期の問題など)が自動的に特定され、修正プロセスが開始される仕組みになっている。
当初、Prime Videoのビデオ品質分析(VQA)チームが所有していた監視ツールは、スケーラビリティが求められることを意図して設計されたものではなかった。そのため、Prime Videoのサービス規模が拡大し、監視ツールのITインフラも大きくなる中で、高いコストがかかるようになってしまった。同時にスケーリングのボトルネックも見つかったため、既存サービスのアーキテクチャを見直し、コストとスケーリングのボトルネックに焦点を当てることにした。
初期バージョンの監視ツールは、「AWS Step Functions」「AWS Lambda」を活用した分散システムとして構成されていた。主に3つのコンポーネントから構成される。
一部のコンポーネントの使用方法により、予想される負荷の約5%でスケーリングの制限に達することがあった。また、全体的なコストも非常に高く、大規模なスケールが難しい課題があった。コスト面で最も高価な操作は、オーケストレーションのワークフローと分散システム間でのビデオフレーム(画像)の受け渡しの2つだった(受け渡しのためにAmazon Simple Storage Service〈Amazon S3〉を利用していた)。
こうしたボトルネックに対処するため検討した結果、インフラストラクチャを再設計することにした。このユースケースでは、マイクロサービスアーキテクチャの分散アプローチによるメリットが少ないことが分かり、全てのコンポーネントを単一のプロセスに統合し、データ転送をプロセスのメモリ内で行うようにした。これにより、ビデオフレームの中間ストレージとしてのS3バケットは不要になる。また、単一のインスタンス内でコンポーネントを制御するオーケストレーションを実装した。
概念的には、初期の設計とシステムの構成要素(メディア変換、検出器、オーケストレーションなど)は同じだ。多くのコードを再利用し、新しいアーキテクチャへの迅速な移行ができた。
初期設計では、各検出器が個別のマイクロサービスとして実行されていたため、複数の検出器を水平方向にスケーリングできた(新しい検出器の追加は、新しいマイクロサービスを作成し、それをオーケストレーションに接続する形だ)。しかし、新しいアプローチでは、全ての検出器が同じインスタンス内で実行されるため、検出器の数は垂直方向にしかスケーリングできない。チームは定期的にサービスに新しい検出器を追加しており、単一のインスタンスの容量を既に超えていた。この問題を解決するために、サービスを複数のインスタンスにクローンし、それぞれのコピーを異なる検出器のサブセットでパラメーター化した。また、カスタマーリクエストを分散するための軽量なオーケストレーションレイヤーも実装した。
マイクロサービスアーキテクチャからモノリシックなアーキテクチャへの移行で、インフラコストを90%以上削減でき、スケーリングの能力も向上したという。現在は数千のストリームを処理でき、サービスをスケーリングする余裕もある。Amazon Elastic Compute Cloud (Amazon EC2)とAmazon Elastic Container Service(Amazon ECS)に移行することで、Amazon EC2のコンピュート節約プランを活用することも可能になり、さらなるコスト削減が期待できるとしている。
Prime VideoでSenior SDE(Software Development Engineer)のマーシン・コルニー氏は、監視ツールのアーキテクチャ移行を通じて「マイクロサービスとサーバレスコンポーネントは、スケーリングが求められるワークフローにおける解決策の一つだが、モノリシックなアーキテクチャの代わりに使用すべきかどうかはケースバイケースの判断が必要だ」と述べている。
Copyright © ITmedia, Inc. All Rights Reserved.