【ネットワーク】サーバーの役割と種類

# はじめに
この記事では、サーバーの役割と種類についてまとめていきます。
＜参考サイト＞
https://www.rworks.jp/system/system-column/sys-entry/16259/
https://www.value-domain.com/media/server/
https://www.sat-corp.jp/blog/what-is-a-server.html

# サーバーとは
サーバーとはサービスの利用者（クライアント）からの要求に答え、サービスを提供するコンピュータのことです。
ここで言うクライアントは私たちが使っているPCやスマホ、タブレットなどを指します。
例えばPCでwebサイトを表示する時、ブラウザにURLを入力し、ヒットしたページを開いて閲覧します。
この一連の流れで、URLを入力してWebページを表示する間に、webサイトの住所（IPアドレス）を管理しているサーバーに住所を問い合わせ、回答された住所にアクセスします。
その後、webサイトのデータを保管しているサーバーが、クライアントの要求に沿った画像やHTMLファイルを提供し、webサイトを表示します。
webサイト以外に、メールの送受信やSNSへの投稿など、私たち（クライアント）の普段の何気ない行いには必ずサーバーが関係しています。

# サーバーの種類
サーバーには大きく分けて物理サーバーと仮装サーバーの二つの種類があります。
#### :label:物理サーバー
物理的に1台の高性能で大容量なコンピュータが、1セット存在し、それ単体で一つのサーバーとして機能しているものです。
物理サーバーの中でも大きく2つに分類されます。

##### :small_orange_diamond:共用サーバー
一つの物理サーバーを複数人で使用するサーバーです。いわゆるレンタルサーバーです。
コストが安価であること、レンタルサーバー提供会社がサーバーの管理・保守を担当するため、手間がかからないというメリットがありますが、複数人と共用しているためカスタマイズができない、他のユーザーの使用状況によって、こちらの処理に影響が出る可能性があるというデメリットもあります。

##### :small_orange_diamond:専用サーバー
一つの物理サーバー自体を購入もしくはレンタルして、自分もしくは自社だけのユーザーで使用するサーバーです。
自社専用のサーバーなので、利用目的に沿ったカスタマイズを行うことができるなど、カスタマイズ性に優れているメリットがあります。
一方で、導入コストが高く、管理・保守を自分たちで行わなければならないといったデメリットもあります。

#### :label:仮想サーバー
1台の物理サーバー上で、複数のOSを動かし、複数のサーバーと見なして稼働させる仕組みのサーバーです。
仮想サーバーの中でも大きく2つに分類されます。

##### :small_orange_diamond:VPS
Virtual Private Serverの略で、仮想専用サーバーとも呼ばれています。
共用サーバーと同じく、一台の物理サーバーを複数人で使用するのですが、利用者一人一人に対してのサーバー環境が仮想上に構築されているため、他の利用者の影響を受けにくいという特徴があります。
また、専用サーバーほどではないですが、自分専用のサーバーが仮想上に構築されているため、ある程度のカスタマイズも可能です。

##### :small_orange_diamond:クラウドサーバー
クラウドサーバーとは、クラウド環境に作られたサーバーのことです。
他のサーバーのように、1台のサーバーではなく、クラウド上でサーバーの機能が複数のコンピュータに分散されており、ユーザーは自身が必要なCPUやストレージを選定することができます。

柔軟性が高く、VPSサーバーよりも自由度が高いです。クラウドサーバーは導入難易度が低く、初期費用も安価ですが、自分が選定した機能の量やスペックに応じて金額が変動する従量課金制であることが多いため、費用の管理は注意が必要です。
また、ユーザーの自由度が高いということは、その分専門知識も必要となってくるため、適切な知識を持った人材が必要となります。
# サーバーの用途別分類
これまで説明したサーバーの種類は、あくまでコンピュータ側の分類になります。
物理・仮想問わず、用途によって様々な機能に特化したソフトウェア側のサーバーが存在します。
用途によって、一つのサーバーだけでなく、複数のサーバーが組み合わさって実現する機能もあります。

#### :label:Webサーバー
Webサーバーはクライアントからの要求に応じて、webページを表示するのに必要不可欠なサーバーです。
HTML、CSS、画像・動画ファイルなどのwebページを構成するデータが保管されています。

#### :label:メールサーバー
メールサーバーはメールの送受信を提供するサーバーです。
送信と受信をそれぞれ別のサーバーが担当しており、送信をSMTP（Simple Mail Transfer Protocol）サーバー、受信をIMAP （ Internet Message Access Protocol ）サーバー・POP(Post Office Protocol)サーバーが担当しています。

1. クライアントからAのアドレスにメールを送りたいと要求。
2. SMTPサーバーが要求を受け取り、DNSサーバー（後述）にIMAPサーバーorPOPサーバーのアドレスを問い合わせます。
3. DNSサーバーはSMTPサーバーにアドレスを回答し、SMTPサーバーからIMAPサーバーorPOPサーバーにメールが送信されます。
4. AのコンピュータがIMAPサーバーorPOPサーバーから、メールをダウンロードして受信します。

※IMAPサーバーは受信したメールがダウンロードされても、削除せずに保管しますが、POPサーバーではダウンロードが完了したらメールを削除します。最近ではIMAPサーバーが主に使われています。

#### :label:ファイルサーバー
ファイルサーバーは、ネットワーク上でデータを共有・使用するためのサーバーです。
サーバー内にデータを保管することよりも、各端末や異なるOS間でデータを移行を制御することに着目されています。
やりとりしているファイルをバックアップとして保管する機能も担っています。
ファイルサーバーによって、データの共有をスムーズに行うことができます。
企業でよく使われているBoxやGoogleドライブはファイルサーバーではなく、オンラインストレージと呼ばれるものです。

#### :label:データベースサーバー
データベースサーバーはクライアントからの要求に応じて、データベース上にあるデータから、要求されたデータを探し、送り返すサーバーです。
例えばオンラインショップで、色やサイズを指定して検索をした時、データベースサーバーは、要求された色やサイズを探し、クライアントに返します。
SQLを用いてクライアントが、直接データベースにアクセスして検索することも可能です。

#### :label:DNSサーバー
DNS（Domain Name System）サーバーはクライアントの要求に応じて、IPアドレスとドメインを結びつける役割があります。
IPアドレスはwebサイトの住所のようなもので、コンピュータが扱う数値データです。
ドメインはIPアドレスを人間が理解しやすいように、URLの一部に変換されたデータです。

#### :label:アプリケーションサーバー
アプリケーションサーバーは、クライアントの要求に応じて、Javaやphpなどのプログラムを実行して、データを検索し、必要なデータをwebサーバーに返す役割があります。
アプリケーションサーバーが直接クライアントに返すのではなく、webサーバーやデータベースサーバーと連携して動いています。

#### :label:FTPサーバー
FTP（File Transfer Protocol）サーバーは、クライアントとwebサーバーの間で行われるファイルの送受信を制御する役割があります。
webサーバーでは、クライアントがファイルをダウンロードすることはできますが、アップロードすることは出来ません。
間にFTPサーバーを噛ませることで、クライアントがファイルをアップロードすることが可能になります。

# まとめ
今回はサーバーの役割と種類についてまとめました。
サーバーはクライアントから受けた要求を、何らかのサービスとして提供する役割があります。
利用環境によって、物理・仮想と大別され、その中でも用途によって様々なサーバーがあります。
一つひとつのサーバーだけで運用するのではなく、様々なサーバーが組み合わさって、インターネット上のサービスが実現されています。
サーバーはインターネットを使う上で、必要不可欠な存在なのです。