F.O.Xでのトラフィック増加を支える取り組み
F.O.Xで開発を担当してる黒木亮太(クロキリョウタ)です。
今回はF.O.Xにおけるトラフィック増加への取り組みを事例を交えながらご紹介したいと思います。
計測アプリとトラフィックの変化
F.O.Xは現在、累計4,200アプリに導入されており、計測するアプリの種類もゲーム、コマース、ユーティリティ等様々なジャンルになっています。アプリによってリクエスト数のピーク時間も変わってきますし、メディア掲載や気象条件などでトラフィックが一気に増えるようなアプリも存在します。
現在ではアプリ内イベント計測において、秒間10,000リクエストの計測を行っています。
図1. 一日のアプリ内イベント計測数の推移
トラフィック増加への取り組み
トラフィックの増加に柔軟に対応させるため、F.O.XではクラウドサービスのAmazon Web Service(AWS)を採用しています。
それにより、オンプレミス(※1)ではサーバーの増強まで数ヶ月かかるところを、AWSでは数分でかつ自動に増強できるようになりました。
※1 オンプレミス: 従来の、データセンターなどと契約し運用するサーバ環境
ここで、F.O.XでのAWSの特性を活かした取り組み事例として2つピックアップしてご紹介させていただきます。
1. 時間帯でサーバー数を変化させる仕組み
トラフィックは時間帯による変化があり、日中はトラフィックが高く、それに比べて深夜~早朝帯はトラフィック数が少ない傾向にあります。
F.O.XではAWS Auto Scaling(※2)を利用することで、トラフィックの傾向に応じてサーバー台数を増減させるようにしています。これにより、安定性の向上はもちろん、コスト面もメリットを出すことが出来ています。
※2 Auto Scaling: 設定によりサーバ台数を自動で増減させる仕組み
図2. 一日の時間別トラフィック
2. 突発的なトラフィック増加も考慮した備え
メディア掲載などによる突発的なトラフィックの増加(1秒間に数十倍のリクエストの発生など)に対しても、F.O.XではAWS Elastic Load Balancing(ELB)を利用しPre-warming(暖気)状態にすることで対応しています。
Pre-warming(暖気)状態とは、想定のトラフィック数に合わせてELBをあらかじめ用意された状態にしておくことを指します。これにより、突発的なトラフィックの増加でも耐えれるようになっています。
おわりに
最近、F.O.Xを導入したいというお客様から、「アプリのイベント成果地点を数十個設定したいのですが可能でしょうか?」「トラフィックが高くなるタイミングがあるのですが、F.O.Xに影響はないでしょうか?」というお問い合わせを多く頂きます。F.O.Xではそのようなニーズも考慮していますので、問題なく対応が可能です。
今回はF.O.Xで実際に計測しているトラフィックとそれを支えるシステムの取り組み例を簡単にご紹介させていただきました。本ブログでは、今後もF.O.Xのシステム事例をご紹介していく予定です。次回もご期待ください。