クラウドコンピューティング - Netflixが全く新しいエンコーディングプラットフォームを開発

ストリーミング配信を行っているNetflixは、インターネットの速度や再生機器の違いによって最適な配信ができるように動画を保存しています。 解像度、品質レベル、フォーマット.プラットフォーム "リローデッド "の開発を7年ほど続けていました。しかし、その間、Netflixの負荷は、より多くの市場への進出と大幅なコンテンツの増加により、10倍になっています。Netflixのエンジニアリングブログによると、これが問題を引き起こしています。そこで、開発者は、新しいエンコーディング・プラットフォームである"コスモス"を作成しました。

Cosmosチームを代表してフランク・サンミゲルが説明するように、Reloadedの古いアーキテクチャは、オーディオとビデオのコンテンツを可能な限りスケーリングすることだけを目的として設計されています。しかし、モノリシックなアーキテクチャのため、新しい機能を導入することは非常に困難でした。また、ここ数年でコーディングを担当するチームが大幅に増えたため、特に新メンバーは旧式のReloadedのアーキテクチャをほとんど知らない状態でした。そのためには、何よりもアプリケーションロジックとインフラコードの連携が重要でした。

ロールモデルとしてのマイクロサービス・アーキテクチャー

大きな問題を抱えていたため、チームは既存のアーキテクチャの修正ではなく、完全な新規開発を決定しました。モデルとして選ばれたのは、最新のマイクロサービス・アーキテクチャです。これにより、実際のエンコーディング作業に加えて、モニタリング用のツールや継続的な配信パイプライン用のツールなど、さらなるサービスをモジュール式に追加することができます。これにより、新しいコードを本番環境で直接開発できるようになります。貢献 は、追加の介入なしにインポートすることができます。

しかし、Cosmosのサービスはマイクロサービスではなく、似たようなものです。アプリケーションのデータとその依存関係も、マイクロサービスのようにNetflixのコーディングツールで他のシステムと分離されていますが、サービスは明確に定義されたAPIを使ってデータを交換します。

エンコーディングと同時に行われる高度な計算作業は、その依存関係をDockerコンテナとして読み込みます。タスクの規模にもよりますが、これらはNetflixでは数千種類のコンテナが保存されており クラウドコンピューティング の環境を整えます。開発者によると、特に大きなファイルの場合、1回の実行に数日かかることもあるそうです。

Cosmosの開発は2018年に始まり、2019年には製品環境での初期テストが開始されました。 その後、コーディングプラットフォーム「Reloaded」を完全に置き換えるシステムの実際のロールアウトは、今年度の2021年に行われる予定です。

現在の記事