Netflix、自社開発したコンテナマネジメントプラットフォーム「Titus」、オープンソースで公開
動画配信サービスを提供するNetflixは、Amazon Web Services上に巨大な動画配信用のシステムを構築していることはよく知られています。同社は先月、2018年4月の実績によると、そのシステム内で1週間あたり約300万ものコンテナを起動したそうです。
その膨大なコンテナのマネジメントプラットフォームとして同社が自社開発した「Titus」が、オープンソースとして公開されました。
同社はこのTitusのうえで機械学習やビッグデータの分析、エンコーディング、社内エンジニア向けのツールなど、同社のビジネスを支える重要なシステムを稼働させています。
コンテナマネジメントプラットフォームには、すでにKubernetesやMesosphere DC/OSなどのオープンソースや、AWSによるAmazon ECSなどが存在しています。Netflixが公開したTitusはそれらとは異なるものですが、Apache MesosをベースとしてNetflixのシステムに合うように構築され、さらに同社のシステム基盤であるAWSのサービスなどと密接に連係するようになっています。
サービスとバッチの両方に対応。AWSの機能とも密接に連携
Titusはサービスとバッチのいずれの処理にも対応します。サービス処理では、異常終了したインスタンスに対してフェイルオーバー処理が行われ、また負荷に応じてオートスケールが働きます。バッチ処理ではポリシーに応じて処理の失敗に対してリスタートが行われ、処理完了まで管理されます。
また、重要なサービスやバッチ処理に対して事前にリソースを予約することや、アドホックなバッチや重要でないサービスなどにはニーズに応じたリソース配分など、複数のサービスレベルを提供。
TitusではコンテナはAmazon EC2の仮想マシン上で実行されます。これは、仮想マシンを利用したシステムからコンテナを利用したシステムへとできるだけシームレスに移行するために考案されたものであり、仮想マシンに対する操作とコンテナに対する操作をできるだけ同じようにしてあるとのこと。
また、Amazon VPCやElastic Network Interfaces(ENIs)、IAMなどAWSが提供する機能を活用してあるのも同様の理由のようです。
あわせて読みたい
Webアプリのストーリーボードやプロトタイプがノンプログラミングで作成可能な「Indigo Studio Essential」無償公開。インフラジスティックス
≪前の記事
MySQL 8.0正式版がリリース。性能が最大で2倍、JSONデータや地理情報などサポート。ロールによるユーザー権限の管理も可能に