PythonとNetflix:映画をストリーミングするとどうなりますか?



Netflixとは何か、そしてこのストリーミングの巨人がオペレーション、機械学習、情報セキュリティなどのさまざまなドミアンでPythonをどのように使用しているかを知ってください。

もちろん、すべての映画ファンにとってワンストップの目的地はNetflixです。しかし、お気に入りの映画を見ていて、それが時々バッファリングし続けるとしたらどうでしょうか?アプリケーションをシャットダウンして、別のオプションを選択するだけです。しかし、何百万ものユーザーのトラフィックをどのように迅速に管理するのでしょうか。おかげで、 。この記事では、NetflixがPythonをどのように使用するかを見ていきましょう。

この記事を埋めるテーマを簡単に見てみましょう。





それでは始めましょう。 :)

Netflixの紹介

Netflixロゴ-NetflixがPythonをどのように利用するか-EdurekaNetflixは、ビデオオンデマンド(VOD)サービスを提供するアメリカの会社です。カリフォルニア州ロスガトスに本社を置くNetflixの加入者数は、世界中で約1億4800万人ですが、その数は日々増え続けています。約20年の間に、Netflixは、世界中で最大のテレビシリーズと映画の「一族の王」として登場しました。アメリカで最も急速に成長しているブランドであり、2019年に205億ドルの収益を上げていることは、それが「人目を引く」のに十分であり、それによってその技術分野のすべてに興味深いものです。



同じ関心分野に基づいて、Netflixは最もトレンドの言語をどのように利用しているかを明らかにしました。 Python 、そのインフラストラクチャのために。

では、Netflixが実際にPythonをどのように使用しているかを見てみましょう。



NetflixはPythonをどのように使用していますか?

「私たちは、資金を提供するコンテンツの決定から、最終的なビデオを1億4800万人のメンバーに提供するCDNの運用まで、コンテンツのライフサイクル全体を通じてPythonを使用しています」– Netflixのエンジニア

レンジングf信頼性と信頼性への管理ドメイン データサイエンス に など、NetflixはビジネスのほぼすべてのエッジにPythonを使用しています。

tableaupublicの使用方法

それでは、その方法を詳しく見ていきましょう。 Netflixのさまざまなドメインで使用されています:

オープンコネクト:

Netflixが利用するCDN(コンテンツ配信ネットワーク)は、OpenConnectです。オープンコネクトは、基本的に「再生」ボタンをクリックすると画像になります。エンドユーザーに配信されるすべてのコンテンツは、このCDNによって管理されます。

Open Connectを設計、構築、操作するには、Pythonで記述された他のさまざまなソフトウェアシステムが必要です。これだけでなく、このCDNの基盤となるネットワークデバイスはPythonアプリケーションです。これは、Pythonがネットワークの問題の解決において卓越しているためです。

デマンドエンジニアリングチーム:

デマンドエンジニアリングチームは、Netflixクラウドの地域フェイルオーバー、トラフィック管理、キャパシティ運用管理(コンテンツをサービス可能にすることができる制限の管理)、およびフリート効率の処理を担当します。このチームが使用するPythonの要素は次のとおりです。

NumPyとSciPy:

そして SciPy 科学計算に使用されるライブラリです。 Netflixは、これらのPythonライブラリを使用して数値分析を実行し、それによって地域フェイルオーバーの管理を可能にします。

Boto3:

Boto3は、のソフトウェア開発キット(SDK)です。 Python用。これにより、Python開発者はPythonをAWSに統合し、インフラストラクチャでの開発が可能になります。

RQ(Redisキュー):

これは、キューに存在するタスクを追跡し、それらの実行を可能にして、非同期ワークロードの管理を可能にするPythonライブラリです。

フラスコ:

最後に、NetflixはFlask(Python Web開発ライブラリ)APIを使用して、前のすべてのセグメントをバインドします。

Netflixは これはオープンソースのWebアプリであり、Python開発に使用されます。 相互作用 (Jupyterの拡張)大規模。 Jupyterはデータ分析で人気があることで知られています。これは、運用データの分析と視覚化に非常に役立ち、容量の低下を検出するのに役立ちます。

機械学習インフラストラクチャ:

パーソナライズアルゴリズムの作成からユースケースの把握まで多岐にわたります。パーソナライズアルゴリズムは、Netflix標準に従って機械学習モデルをトレーニングするのに役立ちます。パーソナライズされた推奨事項、日常的な概要、ラベルの生成などを提供します。

学ぶために必要なライブラリ ディープニューラルネットワーク です TensorFlowハード 、および Pytorch 一方、 XGBoost そして LightGBM 勾配ブースト決定木用。彼らはまた、ファクトロギング、特徴抽出、公開などの作業領域と組み合わせるのに役立つかなりの数の高レベルのライブラリを開発しました。これらすべてとは別に、Netflixは MetaFlow 機械学習プロジェクトを作成します。

「MetaflowはPythonの限界を押し広げます。並列化および最適化されたPythonコードを活用して、10Gbpsでデータをフェッチし、メモリ内の数億のデータポイントを処理し、数万のCPUコアで計算を調整します」– Netflix

ビッグデータ:

ザ・ チームは、ETL(抽出、変換、ロード)およびアドホックパイプラインを実行する責任があります。このオーケストレーションの大部分はPythonで書かれています。このチームは、ペーパーミルを備えたJupyter Notebookで実行されるスケジューラーを使用して、たとえば、テンプレートを使用してジョブタイプを生成します。 、まもなくなど。

これに加えて、チームは完全にPythonで構築されたイベント駆動型プラットフォームも作成しました。彼らは多くのイベントを作成し、それを1つにまとめて、Netflixがイベントをフィルタリング、反応、ルーティングできるようにしました。 ピゲニー Genie(注目のジョブ実行サービス)とインターフェースするこのインフラストラクチャの一部でもあります。

科学実験:

これは、科学実験チームによって作成されたプラットフォームです。 A / Bテスト 他のいくつかの実験と一緒に。ここでは、科学者とエンジニアがデータ、統計、視覚化の新しいイノベーションを紹介できます。

Python ここで実装されているのは メトリクスレポ これはに基づいています PyPika また、再利用可能なパラメータ化されたクエリの記述を可能にします。統計部門の場合、 PyArrow そして RPy2 PythonまたはRのいずれかで統計を計算するために使用されます。 プロット 視覚化に役立ちます。

ビデオエンコーディング/メディアクラウドエンジニアリング:

このチームは、Netflixカタログのエンコードと再エンコードのタスクを担当します。 Pythonは、次のような約50のプロジェクトで使用されています。 VMAF (ビデオマルチメソッドアセスメントフュージョン)および MezzFS (メザニンファイルシステム)、 コンピュータビジョンソリューション (画像を扱う)を使用する 射手 、など。

NetflixアニメーションとNVFX:

Pythonは、Netflixのすべてのアニメーションと視覚効果(VFX)のベースを形成します。 MayaとNukeのユニオンはすべてPythonで実行されます。

IS(情報セキュリティ):

Netflixは、自動修復、セキュリティ自動化、リスク分類などにPythonを利用したISシステムを使用しています。このチームで最もアクティブなオープンソースのPythonプロジェクトは次のとおりです。 セキュリティモンキー 。 Netflixも使用しています ブレス ((バスティオンのラムダエフェメラルSSHサービス) 守ること SSH (セキュアシェル)リソース。 RepoKid 付与するために使用されます 既に 権限とTLS証明書は、Lemurを介して割り当てられます。これらのタスクは両方とも主にPythonに依存しています。

監視と自動修復:

このチームは、インサイトエンジニアリングチームとして知られています。彼らはツールを構築して実行します運用上の洞察、診断、自動修復、および変更のため。このチームは、ほとんどのサービスで、SpectatorPythonクライアントライブラリなどのPythonを利用しています。このライブラリは、次元の時系列を記録するために使用されます。これらのライブラリに加えて、WinstonやBoltなどの製品もPythonフレームワーク上に構築されています。 、Gunicorn、Flask-RestPlus。

Javaのtrim()

まとめると、PythonがNetflixの原動力であると簡単に主張できます。これで、「NetflixがPythonをどのように使用するか」に関するこのブログの終わりに到達しました。議論されたことをすべて明確にしていただければ幸いです。

Pythonとそのさまざまなアプリケーションに関する詳細な知識を得るには、ライブに登録できます。 24時間年中無休のサポートと生涯アクセス。

質問がありますか?この「PythonがNetflixを使用する方法」ブログのコメントセクションでそれについて言及してください。できるだけ早くご連絡いたします。