blog

カオス・コングはここにある:NetflixのためのAWSスケジューリングツール

Netflix の Ops チームに所属する Jeremy Edberg 氏は、今週ニューヨークで開催された O'Reilly Velocity カンファレンスで、同社のインフラストラクチャと Dev...

Jul 9, 2015 · 2 min. read
シェア

Netflixは、Amazon Wed Servicesと世界中のデータセンターの両方で、インフラを拡張し続けています。この拡張の結果、カオス・モンキーとカオス・ゴリラの新たなパートナー、カオス・コングが開発されました。

Netflix社で堅実なチームを率い、Raddit社の最初の有給社員でもあるEdberg氏は、Netflix社がその巨大な運営をどのように管理しているか、またそのプロセスにおける開発者の役割について、幅広い講演を行いました。

「ロギング・システムは映画にも出演できます」とエドバーグは言います。

シミアン・アーミー・サステイナビリティ

これには、Amazon Cloud Platformの仮想マシンをランダムにシャットダウンできる回復力ツール、Chaos Monkeyも含まれます。これはNetflixのスイートの1つであるSimian Armyとして知られています。また、アベイラビリティゾーン全体を無効にすることができるChaos Gorillaも含まれています。各Amazonリージョンにはアベイラビリティゾーンが含まれており、ユーザーはローカルダウンタイム用のフェイルオーバーオプションを作成することができます。

ネットフリックスは、Amazonの3つの異なる拠点で稼働しているため、Amazonのリージョン全体に影響を与えるダウンタイムをシミュレートし、ビジネスを他のリージョンに移動させることができるツール、Chaos Kongを開発しているため、Netflix Inc.は、大規模なトラフィックをあるリージョンから別のリージョンに移動させる能力を確保するために、Amazonの予約済みインスタンスを使用しています。

以下はエドバーグの講演のハイライト:

NetflixのDevOps:Netflixの開発チームは1日に100以上のデプロイメントをリリースしており、同社は開発者がコードを書いてデプロイし、開発者はその責任を負うという「DevOps」モデルに従っています。「開発者は必要なときに本番環境にデプロイし、何かが壊れたら、たとえ午前4時であっても修正しなければなりません」。

このような分散型インフラストラクチャの欠点の1つは、変更が影響する上流と下流の依存関係に気づかない可能性があることです。そのため、Fast Propertiesのようなコンフィギュレーション・ツールを作成することで、開発者がシステムの変更範囲を拡張できるようになります。

冗長性の3原則:"データを1台のマシンにしか置かない "とEdberg氏は言います。"3つのゾーンにすべてを保持することを確信して、3つの可用性ゾーンで実行するように頼みました。"そのため、3つのデータセンターで実行しています。同社のCassandraデータベース・アーキテクチャは3つの異なるリージョンで稼働しています。

つまり、ダウンタイムの実際のコストを計算するのは難しく、同社の収益は日次や時間単位の取引ではなく月次のサブスクリプションに基づいており、失効はダウンタイムにすべてを帰することができない重要な指標です。

Read next

知っておくと便利なPythonの関数と機能

長年Pythonを使ってきて、昔は知らなかった機能や特徴に出くわしました。いくつかはとても便利だと考えられますが、十分に活用されていません。それを念頭に置いて、Pyghonの知っておくべき機能をいくつかまとめてみました。

Jul 9, 2015 · 13 min read