NetflixはなぜAWSのヘビーユーザーなのか? - 時価総額を5倍に増やしたNetflixの驚くべきビッグデータ経営(3)
Netflixは動画ストリーミング顧客から上がってくる1日数十億件のイベントを収集し、高精度のレコメンデーションを実現しています。ペタバイト級のデータウェアハウスを持ち(数万時間の動画コンテンツ含む)、データを最大1万数千のHadoopクラスタで処理して、デバイスの向こうにいる顧客とコミュニケーションをします。一部のコアシステムを除いて、すべてのシステムはアマゾンのパブリッククラウドAWSで動いています。アマゾンにとっては常時10万インスタンスの単位で利用してくれるもっとも大口の顧客です。Netflixには、ビッグデータ事例であるとともにパブリッククラウド事例としての興味深さもあります。まずは、パブリッククラウドの側面から見ていきましょう。
■完璧なインフラを自社で作っていては間に合わない
2008年8月、Netflixが自社で運用していたDBシステムに障害が発生し、当時の主業務であったレンタルDVDの発送が3日間にわたって停止してしまう事態に見舞われました。同社のインフラ担当VPによれば、「ポルシェ級」の作り込みをした自社専用システムで業務を処理していたところ、3日間も復旧ができず大きな損害が発生したということで、社内では大変なショックとして受け止められたようです。これを機に自社インフラ路線を180度転換し、当時存在感を増しつつあったアマゾンのパブリッククラウドを活用する方針を決めました。1〜2年後に控えた、動画ストリーミング業態へのシフト計画も考慮されたことでしょう。
技術関係のVPがカンファレンスでシェアしている内容からまとめれば、AWSへのシフトは、次のような意味を持っていました。
・自社専用インフラの作り込みは、必ず、相応の時間を必要とする。初期の想定処理量がその時間を経るうちに大きく拡大してしまう可能性もある。また逆に、想定処理量を大きく下回る可能性もある。
・動いている標的に短時間でアプローチするには、インフラの規模に関する要件を捨象できるパブリッククラウドで行く方がいい。
・すべてがネットで完結する動画ストリーミング業態では、Return on Investmentではなく、Return on Agilityを追求した方が得策だ。
ということでAWSを選択します。当時は選択できるパブリッククラウドがAWSしかありませんでしたから、もうそれに身を任せるという思いだったでしょう。
当時のAWSは、顧客数200万人規模の大口ユーザーへの対応は未経験であり、Netflixが繰り出す細かな要求を一種のProof of Concept案件として受け止め、そのエラスティック(伸縮自在)性に磨きをかけて行きました。
AWSでは、ハリケーンなどによる大規模停電に伴って、サービスが停止してしまう事故が年に何度か起こるわけですが、それについても、かなりの割り切りをしているようです。
自社インフラで3日もの間停止した経験からすれば、AWSのアウテージはまだましだということかもしれません。
その他の数字などは以下の通り。
○AWSの利用規模
・数十万のインスタンス数(典型的なインスタンス:4コア、30GB)
・数千のCassandraノード
・日々数千インスタンス単位で新規設定と消去を繰り返している。
○AWSの利用料を節約する工夫
・Netflixがアマゾンに支払っているAWS年間利用料は、売上の3%程度と推測されている。だとすれば1億ドル〜1.5億ドルの間。
・定常的に動いている処理はreserved instanceで、間欠的に発生する処理は利用単価の安いon-demand instanceでカバー。使わないインスタンスをこまめに課金からはずす。
・AWSのコスト最適化のためのツールIceを自社開発し、オープンソースとして公開。
■アンチNetflixの動きもある
このようにAWSを徹底活用するNetflixに対して、OpenStackなどのベンダーニュートラルな新しい動きを阻害するものだとして、アンチを唱える人たちも出てきています。
Netflixは昨年3月に、AWSの利用を効率化するためのソフトウェアの公募コンテストを行いました。受賞ソフトウェアはオープンソースとして公開されています。また、急成長してすぐにグローバル展開が必要になるスタートアップ企業がAWSを使いこなせるように、同社がグローバル展開のために使っているソフト群をオープンソース化して公開しています(このプレゼン資料の42ページ目以降)。
AWSが独自仕様のパブリッククラウドであり、結果的にベンダーロックインを招いているのだとすれば、Netflixのこうした活動はベンダーロックインをますます加速化させるものなので、けしからんというわけです。
しかし、NetflixがAWSを使って成長を遂げてきた2010年から現在にかけて、実質的に他の選択肢がなかったなかでは、すでにある環境を使って、管理機能が足りなければ自分たちで作って、ありものをうまく活用してきたNetflixを責めるのは、どうかという気もします。パブリッククラウドの世界がAWS対OpenStackの両軸により、切磋琢磨されていくのだとすれば、それもよろしいのではないでしょうか?
Hadoopなどのビッグデータ活用については、次回に記します。