NetFlixがAWSを使う理由
昔書いたhttp://mtl.recruit.co.jp/blog/2010/12/qconsfnetflixaws.htmlのがデッドリンクになりそうだったので転載。
QconSFで目立っていた(と感じた)のがNetflixとTwitterでした。Netflixは北米で1600万アカウントを抱える映画とTV番組のネット配信サービスで、AppleTVやGoogleTVもサポートされているので日本でも認知が広まっているかと思います。(北米では最大手レンタルビデオ屋を廃業に追いやったとの噂)
そのNetflixはクラウドAmazon Web Serviceで動いてますよ、というお題でのセッションがありました。大規模サービスでのクラウド引っ越し事例として紹介します。
自社データセンター構築はやめました。
Netflixは最近2年間でiPhoneやWiiやPS3に対応したことにより、予測が出来ないほどのキャパ成長をしている。データセンターでは(このような)大きなキャパ柔軟性がない、しかしAWSは最大のパブリッククラウドで、高可用性、高スケーラビリティ、自動化、そしてスキルが一般的であるため非常に効果が高い、とのこと。
MTLでも自前で仮想環境「HAIJI」を構築運用していますが、キャパ予測は同じ課題を抱えています。一般向けサービスの予測は正直言ってひと月先でさえ読めません。ですので、Netflixのこの課題感はものすごく刺さりました。
徐々に移行中
Netflixのアーキテクチャは大きく以下の5つあり、その単位で徐々に移行中のようです。
まず動画エンコードから
数万動画。数千EC2インスタンス。S3ペタバイト単位、、、凄いですね…。
ログ分析はEMR
デイリーでテラバイトのログ処理って凄いですね……。
その後、ストリーミングバックエンド、検索等のフロント、API
徐々に移行しているようですが、一番の爆発の要因だった(質問で言及してました)iPhone向けAPIは全てクラウドだそうです。
移行で学んだこと
ここでもでてきた言葉ですが、cloudを使うに当たってはプログラムコードもrobustであることが不可欠であると。(そして技術者の腕っ節があからさまになると…)
僕も一応Cloudを使ってますが、多少Cloudを使っただけではここまでの実感はないのです。数百人の開発者と数千のシステムのAWS移行を成功させている方だからこそ分かることなのでしょうね。