©2025 Akamai Technologies
EdgeWorkersのドキュメントやサンプルコードには、知りたいことが的確に書かれていて、私のようなインフラエンジニアでも簡単に手がかりが得られました。アカマイのエンジニアからもアドバイスを得てアイデアを検証でき、タイトなスケジュールの中でも楽しみながら開発ができました
情報システム部 係長 安養寺 渉 氏
大学と高校生をつないで最適な進学を支援する
株式会社フロムページ(以下、「フロムページ」)は、日本中の高校生に「究めたい学問が学べる大学こそ最良の進路」という大学進学の本質を伝え、大学と高校生とをつなぐことで最良の進学を支援する事業を幅広く展開している。このうち「夢ナビ」では、高校生が関心ごとから学びたい学問を発見したり、進学すべき大学を探したりできるサービスを提供している。
夢ナビがウェブ上で提供する「講義動画サービス」では、各高校が利用登録をすることで、宇宙・裁判・建築・SDGsなどの高校生の関心が高い話題や、参加する約350校の大学の学部ごとの特徴と専門の研究テーマを活かした、各大学の教員による高校生向けの30分程度の講義動画約4,000本を、生徒が自由に視聴できる。
「夢ナビは、約1,800の高校で進路指導や授業の中で活用されており、登録者は55万人に達しています。そのアクセス数に波があり、授業で生徒が動画を視聴する場合や、長期休暇の終盤には課題となっている動画の視聴レポートを書くために生徒のログインが特に集中します。コンテンツの充実に応じて利用する学校や生徒もますます増えており、ピークトラフィックの処理が大きな課題となっていました」と、フロムページ 情報システム部係長の安養寺 渉氏は振り返る。
性能低下の原因だったAPI認証・認可の負荷をエッジにオフロード
講義動画サービス利用登録済みの高校の生徒が、会員制の動画コンテンツを視聴する際には、トークンによるAPI認証・認可を行っている。ログイン時だけではなく、コンテンツの一覧表示や、ページの遷移、講義サマリー情報の表示などのボタンが利用者のブラウザで押されるたびに、オリジンサーバー(以下、「オリジン」)にAPIリクエストが送られ、そのトークンを検証する必要があった。そのため、アクセス集中で大量のAPIリクエストが同時に発生すると、オリジンの負荷が許容値を超え、サーバー全体のレスポンスとユーザー体験の極端な低下を招いていた。
フロムページでは、アクセスの増加に備えてオリジンのリソースを動的に増やせるIaaSのオートスケール機能を利用していた。しかし、数百名の高校生が授業で一斉に動画を視聴する場合など、発生時期が予測できないアクセス集中が起きると、オートスケーリングが間に合わないことが、特に大きな技術的課題となっていたという。
ピーク時にあわせた過剰なオリジンサーバーへの投資を回避し、かつ稼働中のオリジンに可能な限り手を加えずにすむ解決策を模索していた安養寺氏は、「EdgeWorkers」と「EdgeKV」に関心を持ち、エッジコンピューティングで負荷を軽減するアイデアを着想した。
アカマイでは、EdgeWorkersで独自のカスタムロジックをエッジサーバーに実装できるサーバーレスコンピューティング環境を、EdgeKVではエッジで稼働するキーバリューストア型のデータベースを、それぞれアプリケーション開発者に提供している。
夢ナビ講義動画サービスのAPIでは期限付きのトークンを利用して認可を行っているため、そのトークンをEdgeKVに格納し、Webブラウザからの同種のリクエストを受けた際に、EdgeWorkers上に実装する独自ロジックでトークンを照合すれば、オリジンへのAPIリクエスト数を減らし、表示のボトルネックとなっていたAPI認可の処理に起因するオリジンの負荷を軽減できるのではないかと安養寺氏は考えた。
アカマイのCDNサービスでも複数の認証・認可の仕組みを用意している。しかし、フロムページにとって、オリジンサーバーの仕組みを一切変更することなく、開発者に馴染みがあるJavaScriptで独自のロジックを実装できることが、EdgeWorkersを選択するうえでの大きなメリットだった。その判断が功を奏し、コーディング開始から本番環境への実装までは、わずか1か月程度で済んだという。
「トークンの格納と照合を行う2つのロジックをエッジに実装しました。EdgeWorkers, EdgeKVでの開発を支援するドキュメントや豊富なサンプルコードには、使うべきライブラリなど知りたいことが的確に書かれていて、私のようなJavaScript初心者でも簡単にコーディングの手がかりが得られました。また、セキュリティなどの細かい実装については、アカマイのエンジニアからもアドバイスを得てアイデアを検証でき、タイトなスケジュールの中でも楽しみながら開発ができました。」(安養寺氏)
開発と同時期にアカマイがアジア太平洋地域で開催した「EdgeWorkers コーディングコンテスト」では、オリジンのAPI認証・認可処理のオフロードを、独自のアイデアかつシンプルなコードにまとめた同社の技術力が高く評価され、本プロジェクトが表彰に輝いた。
APIの応答速度は10倍に、必要なオリジン数は1/4に
トークン処理のロジックをエッジで駆動することで、APIリクエストへの応答速度は導入前に比べ約10倍に高速化した。その結果、以前はアクセス集中時に一部利用者で発生していたタイムアウトもまったく起きなくなった。
オリジンのAPI処理量の6割以上をエッジにオフロードできたため、処理に必要なオリジンサーバーの台数も削減できた。
「負荷試験を実行してみると、ピーク時に必要なオリジンWebサーバーの台数を従来の1/4に抑えられることがわかりました。必要なコストも1/3~1/4に低減できます。負荷が平準化したことで、苦労していたIaaSのオートスケール機能の細かなチューニングも必要なくなりました。」と情報システム部 部長補佐の吉井 信勝氏は語る。
また、情報システム部で、講義動画サービスのWebアプリケーション開発を担当する内藤 将吾氏は「積年の課題でしたから、負荷試験結果のグラフを見て安養寺さんと歓喜したことを覚えています。本番サービスへの実装後は、視聴者である高校から営業部門へのパフォーマンスに関するクレームも無くなりました。」と、劇的な改善の効果を実感している。
学年が変わる4月は、夢ナビのアクセスが急激に増える時期だが、EdgeWorkers と EdgeKVによるエッジコンピューティングで、ピークを難なく乗り切ることができたという。
情報システム部 部長の佐野 哲世氏は、「アカマイは、当社が抱えていた課題の本質を理解し最適な解決策を示してくれました。より良いサービスを共に構築していけるパートナーに出会えたことは、我々にとって幸せであり、誇りであると感じています。エッジコンピューティングは先進的なチャレンジでしたが、好奇心と探究心をもって取り組めたことは得難い経験になりました。このようなテクノロジーを社内全体へ浸透させたいと考えています。」と、今後の展望を語った。
フロムページは、全国の大学・高等学校・高校生に、より質の高いサービスを安定して提供するため、今後も新たなテクノロジーを積極的に取り入れ、挑戦を続けていくに違いない。