2019年 春期 応用情報技術者試験 問4
システム構成の見直し
S社は,電子書籍をPCやタブレット,スマートフォンのWebブラウザで購読するサービスを提供している。利用者数の増加に伴うシステムの応答性能の低下や,近年のWebブラウザの機能の向上に対応するために,現状のシステム構成を見直すことになった。
【現状のシステム構成と稼働状況】
現状のシステム構成を図1に,各機器の機能と稼働状況を表1に示す。
LB:ロードバランサ
AP:アプリケーションサーバ
RDB:関係データベースサーバ
機器名 | 機能と稼働状況 |
---|---|
Web サーバ | WebブラウザからのリクエストをAPに引き渡して,その処理結果をWebコンテンツとしてWebブラウザに返す。WebコンテンツをTLSによって暗号化する機能を兼ねているので,CPU負荷が高い。 |
AP | 利用者の認証,電子書籍情報を検索する処理,端末の種別に応じて電子書籍データを変換する処理及び利用者にポイントを定期的に付与するバッチ処理など,複数の処理を担っている。利用者数の多い時間帯は,CPU使用率が80%を超える状況が続くことがあり,その時間帯にバッチ処理が実行されると,Webブラウザからのリクエストに対する応答待ちが極端に長くなってしまうことがある。 |
RDB | 利用者の情報,電子書籍の書籍名や著者などの書籍情報と書籍の本文や画像情報を保持する。CPU負荷は低いが,ディスクの読込み負荷が常に高い。 |
【新システムの構成の検討】
現状のシステムへの負荷の問題を解消するために,次の方針に沿った新システムの構成を検討する。
・費用や変更容易性を考慮し,仮想環境上に新システムを構築する。
・WebサーバのCPU負荷を軽減するために専用の機器を導入する。
・Webブラウザよりも操作性に優れたスマートフォン用のアプリケーションプログラム(以下,スマホアプリという)を開発して,それにも対応するようにAP上の処理を見直す。
・電子書籍データをRDB上に集中配置する方式から,KVS(Key-Value Store)を用いて複数のサーバに分散配置する方式に変更する。
新システムの構成を図2に,各機器の機能を表2に示す。
機器名 | 機能 |
---|---|
認証AP | 利用者の認証を行うWeb APIを提供する。Web APIはフロントAPまたはバックAPからWebサーバを介して呼び出される。 |
利用者DB | 利用者の情報を保持するデータ管理システムである。 |
フロントAP | bを行い,バックAPから電子書籍データを取得し,Webブラウザの種類に応じたWebコンテンツとして変換してWebサーバに返す。 |
バックAP | bを行い,KVSから電子書籍情報の検索や電子書籍データの取得を行うWeb APIを提供する。Web APIはフロントAPまたはスマホアプリからWebサーバを介して呼び出される。また,利用者にポイントを定期的に付与するバッチ処理も行う。 |
KVS | 電子書籍の書籍名や著者などの書籍情報と,書籍の本文や画像情報をキーバリュー形式で保持するデータ管理システムである。複数台のサーバで同じデータを保持することによって,現状のシステムで高かったcを分散する。 |
【新システムの構成の評価】
新システムの構成の評価を行う。
・フロントAPとバックAPのスケーリング
スマホアプリの優位性から,利用者はWebブラウザの利用からスマホアプリの利用に移行していくことが予想される。この変化に応じて,①フロントAPとバックAPの台数を見直すことが可能である。
将来的には,Webブラウザの機能の向上に伴い,フロントAPで変換されたコンテンツを表示する方式から,Webブラウザ上で実行されるアプリケーションプログラムが処理する方式に変更することで,②スマホアプリと同様のデータ処理をWebブラウザだけで実現することができる。
・バックAPの課題
現状のシステムのAP上の問題が新システムの構成でも解消されておらず,バックAPへのリクエストに対する③応答待ちが極端に長くなってしまうおそれがある。