APサーバとDBサーバについてのまとめ
①前提として
現在、多くのWebサービスは「Web3層構造」という設計で作られていることが多い。
Web3層構造とは、
・Webサーバ
・APサーバ
・データベース管理サーバ
の3層である。
また、これら3つのサーバは
ソフトウェア 大きく4つに分類した
・応用ソフトウェア
・ミドルウェア
・基本ソフトウェア
・ハードウェア
の内の「ミドルウェア」に分類される。
②Webサーバとは
プレゼンテーション層と呼ばれる。
Webサーバはブラウザからのリクエストに応じて静的なコンテンツを提供する。
静的コンテンツとは、だれがいつアクセスしても表示する内容が変わらないコンテンツのことを指す。
例.
・HTMLファイル
・CSSファイル
・画像ファイル
・JavaScriptファイル
等が挙げられる。
③APサーバとは
AP(アプリケーション)サーバは簡潔に表記すると、
「アプリケーションプログラムを動作・配置するためのサーバ(サービスを提供するコンピュータ)」である。
アプリケーション層と呼ばれ、AWSにおいてはEC2に該当する。
Webサーバらのリクエストに対して、Javaなどのプログラミング言語で作成されたアプリケーションを実行し動的なコンテンツを作成する。
動的コンテンツとは、Webブラウザからパラメータとともに送られたリクエストに対し、Webサーバーがプログラムを呼び出して処理を実行し、パラメータに応じた結果を返す。
つまりリクエストに応じて内容が変わる。
④DBサーバとは
DB(データベース)サーバの同様に「データベースが配置されているサーバ」である。
データ層と呼ばれ、AWSにおいてはRDSに該当する。
APサーバからのリクエストを受けdbの管理システムが作動するサーバのことを指す。
データベースに保存されているデータ情報をAPサーバからのリクエストに応じてSQLを利用し、データの取得や書き込みをするのがDBサーバの役割となる。
⑤なぜWeb「3層」構造なのか
なぜ3層に分ける必要があるのか?
メリットとして、
・負荷を分散させる
・セキュリティを確保できる
・改修範囲を限定できる
等が挙げられる。
デメリットとしてサーバを分けるために複数のハードウェアが必要になりコストが大きくなることが考えられるが、
AWSなどのクラウドコンピューティングサービスを活用すればハードウェアを用意せずにWeb3層構造によるシステムを構築が可能。