開発ツール

Netflixが使う「Python」--ライブラリーやフレームワークの活用法

動画配信大手のNetflixが、汎用性の高いプログラミング言語「Python」をどのように活用しているのかを明かした。

 動画配信大手のNetflixが、汎用性の高いプログラミング言語「Python」をどのように活用しているのかを明かした。

 同社は、運用管理から分析、セキュリティ、ネットワーキングまで、あらゆることにPythonを使用しており、その方法を詳しく説明した。Pythonは、世界で最も急成長している言語の1つだ。

 Netflixは、よく知られているパッケージと社内のソフトウェアライブラリーを組み合わせて利用している。Pythonは、主にAmazon Web Services(AWS)クラウドプラットフォーム上で展開される同社事業のほぼすべての側面で使用されているようだ。

 Netflixのエンジニアはブログ投稿で、「われわれは、資金を提供すべきコンテンツの選定から、完成した動画を1億4800万人の会員に提供するCDNの運営まで、コンテンツのライフサイクル全体を通してPythonを使用する」と述べた。

 NetflixがPythonをどのように利用しているのかを以下で解説する。

運用

 Netflixのデマンドエンジニアリングチームは、地域的なフェールオーバーを提供し、Netflixのトラフィックの分散を調整することによって、ネットワークに回復力を組み込んでいる。

 「われわれのチームのツールは主にPythonで構築されている、と誇りを持って言える」(同チーム)

 「『bpython』シェルにアクセスして、即席で対応できる機能のおかげで、何度も救われた」

 同チームが使用するツールには、以下のものが含まれる。

  • 数値解析を実行する「NumPy」と「SciPy
  • AWSのインフラストラクチャーに変更を加える「Boto3
  • 非同期ワークロードを実行する「rq」
  • Flask」APIは、上記のオーケストレーションツール群のラッパーとして使用される。
  • Jupyter Notebooks」と「nteract」は、運用データとプロトタイプ視覚化ツールの分析に使用される。NetflixはPythonを使用して、Jupyterサーバーのカスタム拡張機能を構築し、エンジニアがノートブックの記録、アーカイブ、公開、クローン作成などのタスクを管理できるようにする。

 一方、ビッグデータオーケストレーションチームは、データとアドホックデータパイプラインのETL(抽出、変換、ロード)をスケジュールし実行するためのサービスとツールを提供する。

 同チームは、Jupyter Notebooksと「papermill」を使用して、スケジューラーがテンプレート化されたジョブタイプ(「Spark」など)を提供できるようにしている。

 「pygenie」も使用されている。pygenieはNetflixによって構築されたクライアントで、フェデレーテッドジョブ実行サービスの「Genie」と連動する。

統計分析

 NetflixのCOREチームは「NumPy」や「SciPy」「ruptures」「Pandas」など、Pythonの統計および数学ライブラリーを多数使用している。これらは、アラート発生後に何千もの信号を分析するのに役立つ。

 Pythonは時系列相関システムのほか、大規模な分析ワークロードを並列化する分散型ワーカーシステムの開発にも使用されてきた。

 それに加えて、Pythonは自動化タスク、データの探索とクリーニング、視覚化にもよく使用される。

「開発ツール」で読まれている記事

TechRepublic Japanで人気の記事

編集部オススメ

トレンドまるわかり![PR]

財務・経理
人事・労務
マーケ・営業
購買・調達
生産・製造
データ分析
コミュニケーション
通信・通話
文書・コンテンツ
PC・モバイル
新興技術
ITインフラ
クラウドサービス
OS・ミドルウェア
開発
開発ツール
開発支援
ノンプログラミング開発ツール
データベース
運用
セキュリティ

ホワイトペーパーランキング

  1. マンガでわかる「ルール駆動開発」レガシーモダナイズを成功させる開発手法を基礎から理解する
  2. 5分でわかる、レポート作成の心得!成果至上主義のせっかちな上司も納得のレポートとは
  3. APIエコシステムを狙うサイバー攻撃が急増、Webアプリにおける最新のAPIセキュリティ対策とは?
  4. クラウドやコンテナ利用が増える中、世界の企業が利用するAPI経由の安全なアプリ構築手法とは?
  5. ウェビナーによる営業活動が本格化、顧客接点が増加する一方で見えてきたハードルと解決策とは?

Follow TechRepublic Japan

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]