最近、WEBアプリケーションの仕組みについて勉強していまして
今回は「Webサーバ」と「アプリケーションサーバ」(以下、AP
この記事を読めば以下のことが理解できます!
- サーバとは何かが分かる。
- サーバが何で構成されているか分かる。
- WebサーバとAPサーバの違い・役割が分かる。
- Web3層構成について分かる。
- Web3層構成のメリットが分かる。
ITインフラについて勉強されている方の参考になれば幸いです!
サーバとは?
ここでは、前提知識となる「サーバ」にどういった役割があるのかについて解説します。
そもそもサーバって何?
サーバは英語で書くと「server」と書きます。
訳すると「仕える人」
つまりサーバとは、現実の世界で例えるなら「サービスを提供す
「お客の注文を受け取り、注文通りの料理を提供する。」
これを言い換えるなら、
「ユーザのリクエスト(要求)を受け取り、正しいレスポンス(結
と言う役割を担っているのがサーバです。
サーバを構成するものは何?
では、サーバの中身はどうなっているのでしょうか?
サーバの中身は図で表すと以下のようになっています。
一番下にある「ハードウェア」は、私たちが実際目で見て触れるも
また、その上に乗っている「OS」「ミドルウェア」「アプリケーシ
今回解説するWebサーバとAPサーバが位置しているのは「ミド
ここで、解説から漏れてしまったアプリケーションとOSについて簡単に解説します。
【アプリケーション】
アプリケーションとは、人間がやりたいことをやろうとしたときに
【OS】
OSとはOperating System(オペレーティング・システム)の略です。
OSの役割は、コンピュータを操作するための基本的な機能を担う
ミドルウェアとは?
ミドルウェアとは、その名の通り「アプリケーションとOSの中間
「中間的な処理」と言われても、なんだかしっくりこない方が多いと思いますが、ここでは「ある機能に特化してOSとアプリケーションを補助するソフトウェア」という理解で十分です。
OSはサーバを動かす上で必須のものですが、あくまで基本機能しか持っておらず、業務で求められる機能までは備えていません。
しかし、ミドルウェアをインストールすることで特定の処理や複雑な動作が
そして、ミドルウェアを構成しているのが、「Webサーバ」「A
ミドルウェア分類 | 製品 |
---|---|
Web | Apache HTTP Server, IIS, Nginx |
AP | uCosminexus Application Server, JBoss, Tomcat, WebLogic Server, WebSphere Application Server |
DB | DB2, MariaDB, MySQL, Oracle Database, PostgreSQL, SQLServer |
Web3層構成とは
現在、多くのWebサービスは、「Web3層構成」という設計で
Web3層構成は、次の3つで構成されています。
- Webサーバ(層)
- APサーバ(層)
- データベースサーバ(層)
これら3層の役割について解説します。
クライアント・サーバシステム
現在の企業における一般的なシステム構成は「クライアント・サーバシステム」と呼ばれます。
上図のように、「クライアント」と「サーバ」のように役割が非対称になっており、クライアント端末に専用のアプリケーションをインストールしなくてもWebブラウザのみでシステムを利用できるという非常に便利なものです。
対称の役割を持つ端末が相互に通信することを「Peer to Peer(P2P)」と呼びます。
そして「Web3層構造」という部分が次に説明するWeb、AP、DBに特化した機能を持つサーバ群です。
Webサーバの役割
主に静的なコンテンツ(文章、画像、動画など時間や閲覧する人によって内容が変われないもの)を提供する役割のサーバです。
今ご覧になっているこのブログサイトも、誰が見ても同じ内容なので、「静的コンテンツ」と言えますね。
APサーバの役割
主に動的コンテンツ(リクエスト内容によって内容が変わるもの)や業務処理を提供するサーバ。このサーバ上にアプリケーションを実装することが多いです。
APサーバは、Webサーバから受けたリクエストを元にJavaやPHPなどで作成されたアプリケーション を実行して動的コンテンツを生成します。
また、必要であればDBサーバへリクエストを行い、返ってきたデータを加工して「動的コンテンツ」に埋め込みます。
DBサーバの役割
データを提供するサーバ。主にAPサーバからのリクエストに従ってデータを返します。性能を求められていることが多く、物理サーバも処理能力の高いものを使用しています。また、扱うデータ量が多いためストレージ装置に接続して領域を確保しています。
システムによってはWebサーバとAPサーバを1台に統合して一つのサーバ(WebAPサーバ)としたり、Webサーバがなかったりなど変則構成もありますが、基本的にはこの3層でクライアントからの処理に対応する構成をとります。
Web3層構成のメリットとは
ここではなぜWeb3層構成を取る必要があるのか解説します。
理由としてはいくつかあるのですが、代表的な3つをご紹介します
パフォーマンス面でメリットがある
ちょっと昔話をすると、APサーバがなかった時代は、先ほどの話のようにWebサーバ
WebサーバとDBサーバの2層構成だったわけですね。
しかし、これだとWebサーバに負荷がかかり処理が重くなってし
そこで、HTMLや画像などの静的なコンテンツは「Webサーバ」が
保守性の面でメリットがある
Webシステムは基本的に「止まることが許されない」サービスで
しかし、扱っているものは機械であるためいずれは故障します
なので、「システムが止まっても、すぐに復旧できることを前提」
3層構成にすることで、どの部分に障害あるのかすぐに判断ができ
コスト面でメリットがある
1層構成の場合、故障や更新があった場合はそれらすべてを変更す
3層構成にすることで、それぞれの機能を分離し、変更できるため
まとめ
- サーバとは、ユーザにサービスを提供してくれるものである。
- サーバは、上から「アプリケーション」「ミドルウェア」「OS
」「ハードウェア」の4つで構成されている。 - Webサーバは静的コンテンツの処理を行い、APサーバは動的
コンテンツの処理を行う。 - Web3層構成は、「Webサーバ」「APサーバ」「データベ
ースサーバ」から構成される。 - Web3層構成にすることで、「パフォーマンスの向上」「保守
のし易さ」「コスト削減」などのメリットがある。
以上が今回の学習のまとめとなります!
WebサーバやAPサーバについて理解できましたか?
普段何気なく利用しているWebサービスですが、仕組みを理解し
それでは、今回はここまで!!
ではでは~、♪( ´▽`)
参考文献:新人エンジニアのためのインフラ入門 (Think IT Books)
参考URL①:https://academy.gmoclou
参考URL②:https://www.marketingba
参考URL③:https://thinkit.co.jp/a