[レポート]クラウドにおける突発的な負荷の急上昇に対するNetflixの対処方法 #NFX301
こんにちは。
リテールアプリ共創部のmogiです。
普段の業務ではクラスメソッドダナンやパートナー企業と共にアプリやWEB開発を行っており、プロジェクトマネージャーやスクラムマスターを担当しています。
今回、初めてre:Inventに参加させてもらっています。
映画が大好きなので、普段からNetflixはよく利用しています。
以前は、映画館に行ったりDVDのレンタルサービスを利用していましたが、Netflixが普及した今では全く利用しなくなってしまいました。
世界中でサービスを展開し、多くのユーザを抱えるNetflixが急激な負荷にどのように対応しているのか興味があったのでセッションを聴講しました。
Netflixとは
Netflixは、主にオンデマンドのビデオストリーミングサービスを提供するプラットフォームです。スマートフォン、タブレット、コンピューター、ゲーム機、スマートTVなど、様々なデバイスで利用捨ことが出来ます。また、Netflixは、映画、オリジナルシリーズ、ドキュメンタリー、アニメ、ライブイベントなど、幅広いジャンルのコンテンツを提供しています。特に、独自に制作されたオリジナル作品は、多くのステークホルダーが関わるテレビや商業映画では製作出来ない内容を題材にしており大変人気があります。
セッション内容紹介(公式)
スピーカー
-
Rob Gulewich
Principal Software Engineer, Netflix -
Ryan Schroeder
Senior Software Engineer, Netflix -
Joey Lynch
Principal Software Engineer, Netflix -
Manju Prasad
Sr Solutions Architect, Amazon
内容
2023年の「ミス・ノーベンバー」では史上最高の同時接続数6,500万を記録し、クリスマスのNFLのハーフタイムでは、ビヨンセが登場したりと巨大イベントによるトラフィックの急増が喫緊の課題となっています。
Netflixが今後さらにサービスを拡大していくためには、急激な負荷スパイクから迅速に回復したり、より大きなタイトルの発売に対応するため、グローバルな視聴者に対応できるよう、サービスの回復時間を短縮し、常に高パフォーマンスを維持するなどビジネス上の要求に応え続けなければなりません。
このセッションではNetflixが、AWS上でのオートスケーリング、CloudWatchの高解像度メトリクス、オンデマンドコンピューティングなどの機能を活用して、どのようにクラウド上での突発的な負荷スパイクにどのように対処しているかが説明されました。
具体的には、3人のNetflixのソフトウェアエンジニアにより、トラフィックパターンを予測し、事前にスケーリングを行うことで、トラフィックの急増に対応したり、また、アクティブ・アクティブ・アーキテクチャを採用し、リージョン障害に対応していることや、成功バッファと障害バッファを用いて、システムの健全性を維持していることが説明されました。
アジェンダ
- Problem:Load spikes
- Solution:Predict and plan
- Solution:React quickly
- Solution:Stay available
- Experiment:Test resillience
- Conclusions and wrap ap
スピーカー
4つのリージョンを利用
事前に予測と計画を立てる
急激なスパイク時にはフォールバック&シフト
回復までの時間を短くし、耐障害性を強化することがゴール
まとめ
感想
Netflixという巨大なサービスがユーザに安定的にサービスを提供するためには、障害に対する戦略と様々なAWSの技術が用いられていることが分かりました。
私も担当しているプロジェクトで、予想もしないアクセス数により障害が発生してしまうことがあります。
今回のセッションを参考に、障害に強いアーキテクチャとは何か意識していきたいと思いました。