hiroohiのメモ

はてななのでITやスタートアップ周りの話(ほとんどが自分への備忘録だけど)を書いています。

NetFlixがAWSを使う理由

昔書いたhttp://mtl.recruit.co.jp/blog/2010/12/qconsfnetflixaws.htmlのがデッドリンクになりそうだったので転載。

QconSFで目立っていた(と感じた)のがNetflixTwitterでした。Netflixは北米で1600万アカウントを抱える映画とTV番組のネット配信サービスで、AppleTVやGoogleTVもサポートされているので日本でも認知が広まっているかと思います。(北米では最大手レンタルビデオ屋を廃業に追いやったとの噂)

そのNetflixはクラウドAmazon Web Serviceで動いてますよ、というお題でのセッションがありました。大規模サービスでのクラウド引っ越し事例として紹介します。

netflix architecture

自社データセンター構築はやめました。

netflix in the cloud

Netflixは最近2年間でiPhoneWiiPS3に対応したことにより、予測が出来ないほどのキャパ成長をしている。データセンターでは(このような)大きなキャパ柔軟性がない、しかしAWSは最大のパブリッククラウドで、高可用性、高スケーラビリティ、自動化、そしてスキルが一般的であるため非常に効果が高い、とのこと。

MTLでも自前で仮想環境「HAIJI」を構築運用していますが、キャパ予測は同じ課題を抱えています。一般向けサービスの予測は正直言ってひと月先でさえ読めません。ですので、Netflixのこの課題感はものすごく刺さりました。

徐々に移行中

Netflixのアーキテクチャは大きく以下の5つあり、その単位で徐々に移行中のようです。

netflix in the cloud

まず動画エンコードから

netflix in the cloud

数万動画。数千EC2インスタンス。S3ペタバイト単位、、、凄いですね…。

ログ分析はEMR

netflix in the cloud

デイリーでテラバイトのログ処理って凄いですね……。

その後、ストリーミングバックエンド、検索等のフロント、API

netflix in the cloudnetflix in the cloudnetflix in the cloud

徐々に移行しているようですが、一番の爆発の要因だった(質問で言及してました)iPhone向けAPIは全てクラウドだそうです。

移行で学んだこと

netflix in the cloud

ここでもでてきた言葉ですが、cloudを使うに当たってはプログラムコードもrobustであることが不可欠であると。(そして技術者の腕っ節があからさまになると…)

僕も一応Cloudを使ってますが、多少Cloudを使っただけではここまでの実感はないのです。数百人の開発者と数千のシステムのAWS移行を成功させている方だからこそ分かることなのでしょうね。