Netflixは公式エンジニアブログで、動画処理パイプラインをマイクロサービスで再構築した事例を紹介する記事を公開した。なぜ、動画処理パイプラインをマイクロサービスベースの新たなプラットフォームで再構築することに決めたのか、どのようにサービスを切り分けたのか、Netflixのビジネスに与えた影響などを紹介している。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Netflixは2024年1月11日(米国時間)に公式ブログで、動画処理パイプラインをマイクロサービスで再構築した事例を紹介する記事を公開した。
Netflixは2007年のストリーミングサービス開始とともに動画処理パイプラインの運用を開始しており、サービスの拡大に応じて以下のような機能を追加、拡張してきた。
Netflixは、継続的な成功を収めるためには、より堅牢(けんろう)で、柔軟で、機能豊富な動画処理パイプラインが不可欠と判断し、「Cosmos」と名付けられたマイクロサービスベースの次世代プラットフォーム上で、動画処理パイプラインの再構築に取り組み、移行を決めた。
2014年に導入された「Reloaded」と名付けられた旧プラットフォームは、設計時にはスタジオパートナーから受け取った高品質のメディアファイル(メザニンファイルとも呼ばれる)をNetflixストリーミング用の圧縮アセットに変換するというユースケースに焦点を置く単一のモノリシックなシステムとして構築された。
だが、長年にわたって、さまざまなユースケースをサポートするように機能を拡張した結果、システムの複雑さが大幅に増加し、以下のような点で課題が生じた。
こうした課題を受け、NetflixのCIS(Content Infrastructure and Solutions)チームとET(Encoding Technologies)チームは、Cosmosと名付けられた次世代プラットフォームの開発に着手した。Cosmosは、Reloadedの拡張性と安定性に加え、システムの柔軟性と機能開発の速度を大幅に向上させることを目的とした。
Cosmosはマイクロサービスアーキテクチャ、ワークフロー駆動設計、マイクロサービス単位のワークフローサポートなど、数々の機能を導入した。これらの機能を組み込むことで、CosmosはReloadedの欠点を補い、より柔軟でスケーラブルな開発者にとって有用な動画処理プラットフォームになったという。
マイクロサービスアーキテクチャの場合、システムは多数のきめ細かいサービスから構成される。そのため、最初にサービス境界の特定、定義付けに取り組んだ。例えば、Reloadedでは、動画エンコーディングモジュールは次の5つのステップに分かれていた。
チャンクの分割と品質スコアの計算は全く異なる機能を提供していたため、動画エンコーディングサービス(VES)と動画品質サービス(VQS)という2つのマイクロサービスに分割した。
上記のVESとVQSの例のような切り分けを進め、Cosmosの動画処理パイプラインにおいては、6つの動画サービスに分割した。このアプローチにより、モジュール性、保守性、システム全体の柔軟性が向上したという。
また会員向けストリーミングとスタジオパートナーの個別のニーズに合わせてそれぞれの機能を調整する必要があるため、ストリーミングワークフローオーケストレーターとスタジオワークフローオーケストレーターという2つのワークフローオーケストレーターを構築した。
Netflixによると、2023年9月にCosmosの動画処理パイプラインに完全移行したとしている。
Netflixは、Cosmosの利点として、特に新機能提供のしやすさを挙げている。その例として紹介したのが、Netflixが2022年11月に導入した広告付きプランだ。
「広告クリエイティブのフォーマットは、映画やテレビのメザニンファイルとは異なり、処理の要件も異なるなど、新たな課題が生じた。しかし、マイクロサービスアーキテクチャを採用したCosmosのモジュール性と開発者の生産性向上という利点を生かして、動画処理パイプラインを要件に適応させ、広告付きプランの展開を成功に導くことができた」と、Netflixは述べている。
Copyright © ITmedia, Inc. All Rights Reserved.