Netflixの新しいビデオ処理プラットフォーム、Cosmosは、マイクロサービスを使用してメディア処理パイプラインを近代化します。ビデオエンコーディングサービス(VES)は、メザニンコンテンツをストリーミングやスタジオでの使用に適したビデオストリームにエンコードする主要なマイクロサービスです。
VESは、複数のコーデック、解像度、品質レベルをサポートし、低遅延のためにチャンクされたエンコーディングを使用します。外部ユーザーに対する安定したインターフェースを提供するAPIレイヤー、Optimusがあります。
ワークフローレイヤー、Platoは、有向非巡回グラフ(DAG)とMapReduce並列性を使用してエンコーディングの手順を調整します。リソースが多く必要なタスクは、Stratumレイヤーに委ねられます。Stratumレイヤーは、Dockerイメージにパッケージ化されたStratum Functionsを使用します。
VESは、異なるコーデック形式に対応する複数のStratum Functionsを使用し、独立したリリースとエンコーダーアップグレードを可能にします。プラットフォームは、メディアアクセスパターンの抽象化を提供し、Stratum Functionのコードを簡素化します。
リソースの要件は、ベンチマークテストを通じて決定され、「コンテナーシェイピング」がコーデック形式と解像度に基づいてリソースを割り当てます。自動化されたリリースパイプラインと広範囲なテストを通じて、継続的なリリースが可能です。
生産メトリクスとログは、監視とアラートのために使用され、メトリクスが大幅に逸脱した場合、自動的にサービスをロールバックします。VESの構築から学びられた教訓は、チームのマイクロサービスの開発における後のデザイン選択に導いています。
netflixtechblog.com
The Making of VES: the Cosmos Microservice for Netflix Video Encoding
Create attached notes ...
