Azure Kubernetes Service で 4K エンコードをバーストする

2020年2月24日 に投稿済み

Cloud Solution Architect

Azure と Media Excel HERO プラットフォームを使用して、クラウドにエンコードをバーストできます。

コンテンツ作成の需要は、これまでになく高まっています。プロフェッショナルおよびユーザー生成のコンテンツの両方が、過去数年にわたって指数関数的に増加しています。これにより、メディアのエンコードとコード変換プラットフォームに大きな負荷がかかっています。今後予定されている 4K と 8K をミックスに追加し、これらの変動要素を使用してスケーリングできるプラットフォームが必要です。Azure クラウド コンピューティングは、お客様のニーズに合わせて柔軟に拡張できる方法を提供します。Microsoft では、オンプレミス、ハイブリッド、またはネイティブのクラウド ワークロードを完全にサポートするためのさまざまなツールと製品を提供しています。Azure Stack は、お客様のコンピューティングのニーズに合わせたハイブリッド シナリオをサポートします。また、Azure ARC を使用してハイブリッド設定を管理できます。

ソリューションを見つける

一般的に、4K/UHD ライブ エンコードは専用のハードウェア エンコーダー ユニット上で実行されます。これは、Azure のようなパブリック クラウドでホストすることはできません。オンプレミスでホストされているそのような専用のハードウェア ユニットで、4K を Azure データ センターにプッシュする必要がある場合、すぐに直面する問題は、オンプレミスのエンコーダー ユニットと Azure データ センターの間に高帯域幅のネットワーク接続が必要になることです。一般に、複数のリージョンに取り込み、エンコーダーと Azure データ センターの間の接続されているネットワークの負荷を増やすことがベスト プラクティスです。

パブリック クラウドに 4K コンテンツを確実に取り込むにはどうすればよいでしょうか?

もう一つの選択肢として、クラウドのコンテンツをエンコードすることもできます。Azure で 4K/UHD ライブ エンコードを実行できる場合、その出力を Azure ネットワーク内の十分な帯域幅と信頼性を提供する Azure Media Services に取り込むことができます。

Azure クラウド上の 4K/UHD ライブエンコードを、コンテナー化されたソリューションとして確実に実行し、スケーリングするにはどうすればよいでしょうか。次の内容をご覧ください。 

Azure Kubernetes Service (AKS)

Microsoft は Azure Kubernetes Services (AKS) を使用して、お客様にマネージド Kubernetes プラットフォームを提供します。これはホステッド Kubernetes プラットフォームで、ネットワーク、クラスター マスター、クラスター ノードの OS 修正プログラムなど、手間のかかる必要な構成をすべて備えており、クラスターの作成に多くの時間を費やす必要はありません。また、Azure Monitor と Log Analytics とシームレスに統合される事前構成済みの監視機能も付属しています。もちろん、お客様独自のツールを柔軟に統合することもできます。さらに、これは最も単純なバージョンの Kubernetes であるため、その他の標準 Kubernetes プラットフォーム上で実行されている既存のツールとも完全に互換性があります。

Media Excel のエンコード

Media Excel は、物理的なアプライアンスとソフトウェアベースのエンコード ソリューションを提供する、エンコードおよびコード変換ベンダーです。Media Excel は長年 Microsoft と提携しており、Azure のメディア顧客プロジェクトに参画しています。また、fMP4 の Azure Media Services の推奨およびテスト済み貢献エンコーダーとしても登録されています。また Media Excel と Microsoft は、Media Excel エンコーダーから、サーバー側の広告挿入 (SSAI) ワークフローをサポートする Azure Media Services オリジンに、SCTE-35 Timed メタデータを統合するための作業も行っています。

ネットワークの課題

4K や 8K などの画像品質の向上により、コンピューティングとネットワークの両方での負荷が設計上の大きな課題となっています。Microsoft とお客様との最近の取り組みでは、4K ライブ ストリーミング プラットフォームを設計する必要があり、そこではお客様のオンプレミスから Microsoft のいずれかの Azure データ センターへの帯域幅容量の制限という課題がありました。Microsoft は Media Excel と連携して、AKS 上にスケーラブルなコンテナー化されたエンコード プラットフォームを構築しました。クラウド コンピューティングを利用し、エンコーダーと Azure Media Services Packager 間のネットワーク待機時間を最小限に抑えることができます。同じソースの最大 4Kp60@20Mbps の 1 つのトップ ビットレートを備えた複数のビットレートがクラウドで生成され、Azure Media Services プラットフォームに取り込まれ、さらに処理されます。これには、動的な暗号化とパッケージ化が含まれます。このように設定すると、次のような利点があります。

  • 複数の AKS ノードに瞬時にスケーリング
  • 顧客と Azure データセンター間のネットワークの制約を取り除く
  • コンテナーの自動化されたワークフローと、コンテナー テクノロジに関する問題の簡単な分離
  • 高品質で生成されたコンテンツの配布に対するセキュリティ レベルの向上
  • 非常に冗長な機能
  • 最適化されたメディア ワークロード用のさまざまな種類のノード プールを柔軟に提供

この特定のテストでは、西ヨーロッパで実行されているコンテナー化されたエンコーダー インスタンスから、米国東部と香港データセンター リージョンの両方に対し、Azure 内ネットワークが、高帯域幅で、待機時間の影響を受けやすい 4K パケットを送信できることが証明されました。これにより、お客様はオリジンをより近い場所に配置することができ、さらに多くのコンテンツを調整することができます。

Azure クラウドでの 4K エンコードに使用される Azure コンポーネントの概念アーキテクチャ。

ワークフロー:

  1. Azure パイプラインがトリガーされ、AKS クラスターにデプロイされます。YAML ファイル (GitHub にあります) には、Azure Container Registry 内の Media Excel コンテナーへの参照があります。
  2. AKS はデプロイを開始し、Azure Container Registry からコンテナーをプルします。
  3. コンテナーの開始中に、カスタム PHP スクリプトが読み込まれ、コンテナーが HMS (Hero Management Service) に追加されます。また、正しいデバイス プールとジョブに配置されます。
  4. エンコーダーがソースを読み込み、(この場合は) 4K ライブストリームを Azure Media Services にプッシュします。
  5. Media Services がパッケージ化されたライブストリームを複数の形式に変換し、DRM (デジタル著作権管理) を適用します。
  6. Azure Content Deliver Network がライブストリームをスケーリングします。

Azure Container Instances からスケーリング

Azure Kubernetes Services を使用すると、すぐに Azure Container Instances の機能を利用できます。Azure Container Instances は、事前にプロビジョニングされたコンピューティング能力を自由にすばやくスケーリングする方法です。AKS に Media Excel エンコード インスタンスをデプロイするときに、これらのインスタンスを作成する場所を指定できます。これにより、低コスト低優先度のエンコード ジョブに対し価格を抑えたノードでの密度を高めたり、高スループット高優先度のジョブに対しコストのかかるノードを使用したりするなど、変動要素を柔軟に処理することができます。Azure Container Instances を使用すると、プロビジョニングの時間なしで、ワークロードをスタンバイのコンピューティング能力に瞬時に移動できます。コンピューティング時間にのみお支払いいただくため、お客様の需要とプラットフォームのニーズに対する将来の変化に対し完全な柔軟性を提供することができます。Media Excel の柔軟なライブ/ファイル ベースのエンコード ロールを使用すると、AKS と Azure Container Instances によって提供されるさまざまなコンピューティング能力間でワークロードを簡単に移動できます。

Azure Kubernetes Services (AKS) 上で作成されるコンテナー

Media Excel Hero Management System がすべての Container Instances を表示。

Azure DevOps パイプラインがすべてをまとめる

コンテナー化されたワークロードに付随する一般的な利点はすべて、次のようなケースに当てはまります。この特定の概念実証に対応できるよう、Microsoft は Azure DevOps に自動化されたデプロイ パイプラインを作成し、簡単にテストしてデプロイできるようにしました。デプロイ YAML とパイプライン YAML を使用すると、Media Excel エンコード コンテナーのデプロイ、プロビジョニング、スケーリングを簡単に自動化できます。DevOps が AKS にデプロイ ジョブをプッシュすると、コンテナー イメージが Azure Container Registry からプルされます。コンテナー イメージは、レイヤーのノード側キャッシュを使用してサイズが大きくなる可能性がありますが、追加コンテナーのプルは大幅に改善されており、数秒で行うことができます。Microsoft は Media Excel の支援の下、YAML ファイル コンテナーのプリおよびポスト コンテナー ライフサイクル ロジックを作成し、Media Excel の管理ポータルでコンテナーの追加や削除を行うことができます。これにより、複数のノードの種類、クラスター、リージョンにまたがる複数のインスタンスを簡単に管理できます。

このデプロイ パイプラインは、特定のマルチテナントの顧客またはジョブの優先度を特定のノード タイプ上にプロビジョニングするための完全な柔軟性を提供します。これにより、GPU 対応ノード上でエンコード ジョブをプロビジョニングしてスループットを最大化したり、低優先度のジョブに低コストの汎用ノードを使用したりすることができます。

Azure DevOps のデプロイ リリース パイプライン。

Azure Media Services と Azure Content Delivery Network

最後に、4K ストリームを Azure Media Servicesにプッシュします。クラウドベースのプラットフォームである Azure Media Services では、ブロードキャスト品質のビデオ ストリーミングを実現し、アクセス性と配信を強化し、コンテンツを分析するソリューションを構築できます。アプリ開発者、コール センター、政府機関、エンターテインメント企業のいずれのユーザーも、Media Services を利用すると、現在最もよく使用されているモバイル デバイスやブラウザーの多くのユーザーに対して優れた品質のメディア エクスペリエンスを提供するアプリを作成できます。

Azure Media Services は、Azure Content Delivery Network とシームレスに統合されています。Azure Content Delivery Network では、Microsoft、Azure Content Delivery Network (Verizon)、Azure Content Delivery Network (Akamai) の Content Delivery Network を選択することができ、真のマルチ CDN を実現しています。これはすべて単一の Azure Content Delivery Network API を使用して実現することができ、プロビジョニングや管理が簡単になります。さらなるメリットとして、Azure Media Services オリジンと CDN エッジ間のすべての CDN トラフィックは無料です。

このセットアップでは、複数のクラスターをまたいでリアルタイムの 4K エンコードを処理する手順を示しました。AKS、Container Registry、Azure DevOps、Media Services、Azure Content Delivery Network などの Azure サービスにより、高スループットかつ時間の影響を受ける制約に対応できるアーキテクチャを簡単に作成する方法をご説明しました。