サーバーは仕事でも日常生活でも必ず利用されているといっていいほど、現代の暮らしに必要不可欠のものです。Webページの検索や閲覧、ゲームやSNSやメール、業務システムの利用など、インターネットに関わるあらゆるサービスでサーバーは利用されています。
しかし、サーバーとはそもそも何なのか?と聞かれると、具体的な回答に困る方も多いのではないのでしょうか。また、サーバーを利用したいと考えたときに、どのサーバーを利用すればよいかわからないと悩まれる方もいらっしゃると思います。
そこでこの記事ではサーバーについて、なるべくむずかしい言葉を使わずに解説していきます。この記事で得られる情報は以下の通りです。
- サーバーとはそもそもどのようなものなのか
- サーバーの役割
- サーバーの種類
- サーバーの選び方
この記事がお役に立ちましたら幸いです。
サーバーとは?
そもそも、サーバーとは一体どのようなものでしょうか。サーバー(Server)という言葉自体には、「提供する側」という意味があります。
そこから転じて、IT用語としてのサーバーはインターネットなどのネットワーク上で情報(データ)やサービスを提供するコンピュータのことを指します。
サーバーは2つの意味で使われます。
1つは、ソフトウェアとしてのサーバーです。Webサーバーやメールサーバーなど、サービスを提供するもの(機械の中身であるプログラム)として指す場合に使われます。サーバーという言葉は、こちらの意味で使用されていることが多い傾向にあります。
もう1つは、ハードウェアとしてのサーバーです。専用サーバーやレンタルサーバーなど、物理的な機械そのものを指す場合に使われます。
実際の開発費用・期間をまとめた資料を無料で差し上げます。資料請求はこちら>>
サーバーの役割
ここではサーバーの役割を解説します。
サーバーから提供される情報やサービスを受け取る側の端末のことを「クライアント」といいます。普段利用しているパソコンやタブレット、スマートフォンなどもクライアントに当たります。
サーバーの役割は、クライアントが要求した情報やサービスに対して応答し、その情報やサービスを返すことです。クライアントが要求することを「リクエスト」、サーバーが応答することを「レスポンス」と呼びます。
例として、Webサイトを見るまでのおおまかな流れを見てみましょう。
自分のPC(クライアント)のブラウザから見たいWebサイトのURLを入力して送信すると、Webサーバーにページを表示するための情報を送るようにリクエストをします。リクエストを受けたWebサーバーは、クライアントに情報をレスポンスします。
こうしたやり取りの結果、自分のPCのブラウザ画面に見たいWebサイトを表示することができます。
実際の開発費用・期間をまとめた資料を無料で差し上げます。資料請求はこちら>>
ソフトウェアとしてのサーバーの種類
ここからは、サーバーの種類について詳しく解説していきます。「サーバーとは?」でお話ししたとおり、サーバーにはサービスを提供するソフトウェアとしてのサーバーと、機械そのものを指すハードウェアとしてのサーバーがあります。
まず最初に、ソフトウェアとしてのサーバーの代表的な種類を紹介します。こちらは、用途に応じて適したサーバーを利用することで、さまざまな機能を活用することができます。
- Webサーバー
- データベースサーバー
- アプリケーションサーバー
- メールサーバー
- DNSサーバー
- ファイルサーバー
- FTPサーバー
- SSHサーバー
Webサーバー
WebサーバーはWebページをクライアントに表示するために使われます。クライアントからのリクエストに応じて、静的ページのデータや、アプリケーションサーバーから転送された動的ページのデータをレスポンスするサーバーです。Apache HTTP Server、nginx 、IIS(Internet Information Services)の3つが有名です。
静的ページとは、誰がいつアクセスしても表示が変わらないページのことです。Webサーバに格納されているデータをそのままレスポンスします。Webサーバーには静的ページのデータとして、以下のようなデータを格納しています。
- Webサイトの骨組みや文章が書いてあるHTMLファイル
- Webサイトの見た目を整えるCSSファイル
- アクションを実行するJavaScriptファイル
- 画像ファイル
動的ページとは、見る人やタイミングによって文章や画像などの表示が変わるページです。クライアントからのリクエストに応じてWebサーバーがアプリケーションサーバーやデータベースサーバーのデータを参照して、その都度ページを作成します。
もう少し踏み込んだ話をすると、Webの場合のリクエストとは厳密には「HTTPリクエスト」のことをいいます。同じくレスポンスは「HTTPレスポンス」と言います。リクエストする、レスポンスする、という表現は正しくはあるのですが、このように用語としてリクエスト・レスポンスという言葉があります。
HTTPとはデータを通信する際の仕様となります。HTTPで定められたフォーマットでWebサーバーにデータを送ると、HTTPに定められたフォーマットでWebサーバーからレスポンスが返される、といった仕組みになります。この仕組みをツール化したもので一般的なものがWebブラウザですが、WebブラウザではなくともHTTPの仕様さえ満たせばWebサーバーはレスポンスを返してくれます。
データベースサーバー(DBサーバー)
DBサーバーは、データが整理された状態で格納されているサーバーです。
DBサーバーではデータベース管理システム(DBMS)が稼働しており、大量のデータやログの保存や更新、バックアップなどを行い整理して蓄積しています。代表的なDBMSとしてはOracle Database、MySQL、PostgreSQLなどがあります。
また、クライアントからのリクエストに応じてデータベース上のデータを検索や書き換え、削除などの処理を行い、結果を送り返す役割を持ちます。例えば、通販サイトの顧客情報のデータベースとして名前、住所、電話番号、購入した商品などが格納されていて、必要な時に検索して抽出することができます。
アプリケーションサーバー(APサーバー)
APサーバーはJavaやRuby、PHPなどで構築されたアプリケーション(プログラム)を動作させるためのサーバーです。
多くのWebシステムの構造は、「プレゼンテーション層(Webサーバー)」「アプリケーション層(APサーバー)」「データ層(DBサーバー)」の3層構造になっています。これを「Web3層構造」と呼びます。3層構造にすることで機能を分離・変更できるため、コストの削減や負荷の軽減を行い処理パフォーマンスを向上することができます。
APサーバーはWebサーバーから送られてきたデータを受け取り、JavaやRuby、PHPなどのプログラムを実行してそのデータを加工、もしくはDBサーバーに格納されているデータを検索・加工したあとWebサーバーに処理の結果を返す役割をします。
JavaであればTomcat、RubyであればUnicorn、Pumaなどが有名です。しかし、PHPの場合はアプリケーションサーバーが必要ありません。WebサーバーのApache HTTP Serverの機能を利用することで、PHP用のアプリケーションサーバーのような仕組みを導入できるため、アプリケーションサーバーを利用しなくてもWebサイトを構築することができます。
このようにアプリケーションサーバの機能を持つWebサーバーが存在すること、静的なWebサイトはWebサーバーだけでも動作することから、アプリケーションサーバーを持たない場合もあります。
メールサーバー
メールサーバーはメールの中継地としての役割があり、メールの送受信をする際に使われます。送信と受信でサーバーが分かれており、送信がSMTPサーバー、受信がPOPサーバーです。この2つをまとめてメールサーバーと呼んでいます。
送受信をする際には後述のDNSサーバーが必要となります。
Webサーバーにおけるデータ通信の仕様はHTTPでした。ということは、SMTPやPOP、後述するFTPなどもHTTPと同じ様にデータ通信の仕様ということです。それぞれフォーマットが決まっていて、それぞれで定められたフォーマットでリクエストを送れば、レスポンスを返してくれます。
DNSサーバー
DNSサーバーは、クライアントのリクエストに応じてIPアドレスとドメインを結びつけるためのサーバーです。クライアントからのリクエストとそれぞれのサーバー(Webサーバー、メールサーバー)の間で中継をしています。
ファイルサーバー
ファイルサーバーはLANやWANなどのネットワーク上でデータを共有、使用するためのサーバーです。ファイルの保存・共有、暗号化、圧縮、バックアップの保存が可能です。
ファイルサーバーを利用することによって、複数のサーバーやクライアント間とのデータ共有をスムーズに行うことができます。
FTPサーバー
FTP(File Transfer Protocol)サーバーは「ファイル転送プロトコル」とも呼ばれ、Webサーバーとのファイルの送受信を行うサーバーです。クライアントがコンピュータからサーバーにデータをアップロードしたり、サーバーからデータをダウンロードしたりすることができます。
Webサイトを作成する際にWebサーバーに新しいファイルをアップロードするときによく利用されます。
SSHサーバー
サーバー管理ではネットワーク経由でサーバーに接続(遠隔ログイン)し、遠隔操作をすることがよくあります。その際に通信内容を暗号化して、安全に接続し遠隔操作を行える仕組みがSSH(Secure Shell)です。
もう一つの遠隔操作を行うための仕組みとしてtelnetがありますが、telnetは通信内容を暗号化することができません。そのため、遠隔操作を行う際はSSHを利用するのが一般的です。
SSHを使って接続される側のコンピュータをSSHサーバー、接続する側のコンピュータをSSHクライアントと呼びます。
実際の開発費用・期間をまとめた資料を無料で差し上げます。資料請求はこちら>>
ハードウェアとしてのサーバーの種類
ここでは、ハードウェアとしてのサーバーの種類を紹介します。これは端的にいうと、Webサーバーなどソフトウェアとしてのサーバーを使うためのコンピュータです。
ハードウェアとしてのサーバーは、使いたい用途に応じて適した「ソフトウェアとしてのサーバー」をインストールして利用することで、サーバーとして利用できるようになります。ハードウェアとしてのサーバーは、大きく分けると物理サーバーと仮想サーバーに分けられます。
※厳密に「機械そのものである」ハードウェアとしてのサーバーを挙げるとなると、物理サーバーのみが正になります。しかし、ここではソフトウェアを使うためのコンピュータとしての役割を持つものを紹介したいため、仮想サーバーも併せて紹介させていただきます。
物理サーバー
物理的に存在するサーバーです。専用サーバーと共用サーバーの2種類があります。
専用サーバー
物理的なサーバーを「1台丸ごと」利用します。自宅や会社、データセンターなどに機械を設置して運用するサーバーです。サーバー本体の機器やネットワーク機器、電源装置、サーバールームなどを用意し、そのハードウェアも含めて保守を行ってゆく方式で利用します。
システムを柔軟にカスタマイズしやすく、セキュリティの安全性が高いことがメリットです。しかし、物理的な機械のため部品交換、修理などメンテナンスコストが高くついてしまうことがデメリットです。また、サーバー設置スペースを確保しなくてはならない、停電によってサーバーが停止しないように無停電電源装置を用意しなくてはならないといった準備も必要です。
サーバーはイメージがしやすいようにと、たびたび家に例えられます。専用サーバーは、一軒家として例えられます。隣人(=他の利用者)の影響を受けることなく、自由にサーバーを利用できます。自分の思い通りに構築することが可能です。しかし、家の修理やメンテナンス(=機器のメンテナンス)はすべて自分で行わなくてはなりません。
専用サーバーは自前で購入、もしくはレンタルして用意します。個人用の小さいものならば自作もできます。
共用サーバー
1台の物理サーバーを、複数の利用者が共用で利用します。「レンタルサーバー」と呼ばれるサーバーは、この共用サーバーを指すことが多いです。
安価で簡単に利用できることが大きなメリットです。しかし、カスタマイズがしずらいことや、他の利用者が重たい処理を実行した場合に影響を受けることがデメリットとなります。
また、自分で管理できる範囲が狭いことが特徴です。サーバー全体を管理できる1番上の権限は「root権限」と呼ばれ、この権限が共用サーバーにはありません。
構築や運用、セキュリティ対策はレンタル事業者が行うため、専門知識不要です。簡単に利用できますが、カスタマイズするのは難しくなります。
共用サーバーはシェアハウスに例えられます。シェアハウスはキッチンや洗面所など共有するものが多く、他の人が使っている場合に影響を受けやすくなります。共有部分のメンテナンス(=機器の管理やメンテナンス)はレンタル事業者が行ってくれます。
仮想サーバー
仮想サーバーは、1台の物理サーバーの中(=リソース部分)を仮想化技術を使って分割し、複数のサーバーを構築しています。
1台の物理サーバーの中で複数のOSやプログラムが動いており、あたかも複数台の物理サーバーとして振る舞えるようになっています。
仮想サーバーは、VPSサーバーとクラウドサーバーの2種類があります。
VPSサーバー
VPSサーバーは、利用者一人ひとりに仮想のサーバーが割り当てられるサーバーで、仮想専用サーバーとも呼ばれます。
VPSサーバーにはroot権限があるため、専用サーバーほどではありませんがカスタマイズを自由にすることができます。また、他の利用者の処理の影響を受けません。
VPSサーバーはマンションに例えられます。マンションには部屋ごとにキッチンや洗面所が用意されているため、他の人の影響を受けません。共用部分(=機器)のメンテナンスはVPS提供事業者が行うため不要です。部屋の中は自由に使えますが、メンテナンスは自分で行わなくてはなりません。
VPSサーバーの代表的なものとして、さくらのVPS、ConoHa VPS、お名前.com VPSなどがあります。
クラウドサーバー
クラウドサーバーは、クラウド環境に作られた仮想サーバーです。
基本的な部分はVPSサーバーと似ています。クラウドサーバーはVPSのメリットに加えて、柔軟にリソース(CPUやメモリ、ストレージなど)を設定できることが特徴です。VPSは固定金額ですが、クラウドは利用状況に応じて料金を支払う従量課金制です。
また、VPSは1契約で1つの仮想サーバーしか利用できないのに対し、クラウドは1契約で複数の仮想サーバーをで構築・利用することができます。
同じ仕様であればVPSの方が安価で利用できますが、アクセス数が大きく変動する場合はクラウドを選んだ方がコストがかからない可能性があります。
例えば急なアクセス数増加があった場合、VPSはすぐにリソースを増やすことができません。リソースを増減するには、契約を解除してから再契約を行い、データ移行を行う必要があります。リソースの増加対応が間に合わなかった場合、サーバーダウンや応答の遅延などによって機会損失をしたり、業務に滞りが発生したりしてしまう事態が起こってしまいます。
クラウドならば、アクセス数の増減に合わせて柔軟にリソースを増減することができます。多くのクラウドベンダーでは、あらかじめ設定している数値を超える負荷がかかった際に自動的にサーバーの台数を追加・削除する「オートスケール」機能を提供しています。
オートスケール機能を利用すると、突発的なアクセス数増加が起こったときに自動的にサーバー数を増減します。かかっている負荷に適した状態にできるため、サーバーダウンなどの機会損失を回避することができます。
クラウドサーバーの代表的なものとして、Amazon EC2(AWS)、さくらのクラウドなどがあります。クラウドサーバーには種類があります。詳しくはこちらの記事で紹介していますので、興味がありましたらご覧ください。
実際の開発費用・期間をまとめた資料を無料で差し上げます。資料請求はこちら>>
サーバーの選び方
ここまで、知っておきたいサーバーの基礎知識を解説してきました。最後に、サーバーの選び方のヒントをいくつか紹介します。
価格のみで4つのサーバーを比較すると、一番安価で利用することができるのは共用サーバーです。
共用サーバー < VPSサーバー < クラウドサーバー < 専用サーバー の順で高くなる傾向にあります。
しかし、価格による比較は一概には難しいといえます。特にクラウドは利用状況に応じて従量課金制で柔軟にサーバー構成を変更できることが特徴のため、高い場合もあれば安い場合もあります。
価格よりもどのような目的で利用するのかを考え、それぞれのメリット・デメリットを把握した上でサーバーを選ぶことが大事だと考えます。
そして、適切なサーバーのスペックを選ぶことも大切です。オーバースペックにしてしまうと、無駄な料金を支払うこととなってしまいます。スペックが足りていないと、サーバーダウンや応答の遅延が起きる可能性があります。
使いたい用途や必要な処理能力、データ量に合わせて適切なスペックのサーバーを選びましょう。
専門知識があるかで選ぶ
共用サーバーは専門知識がなくても利用できます。しかし、自由度が低い点と、他の利用者が重たい処理を実行した場合、自分のサイトも影響を受ける点には注意が必要です。
VPSサーバー、クラウドサーバー、専用サーバーは専門知識が必要です。法人で利用する場合はエンジニアに任せるか、外部のシステム開発会社に依頼が望ましいです。
扱うデータ量や処理量で選ぶ
例えば個人ブログや小さな会社のコーポレートサイトなど、データ量が少ない場合ならば、共用やVPSのほうが安価で便利に利用できることが多いです。ECサイト、大規模な企業サイトやシステムなど、データ量が多い場合ならば、クラウドか専用サーバーが適切であるケースが多いです。
ただし、選び方として一概にこの通りとはいえません。データ量が多いことはサーバーのスペックを上げる要因の一つになりえますが、他にも一つの処理の重たさやシステムへの同時アクセス数などによって必要なスペックは大きく変わります。
サイトで扱うデータ量や必要となる処理能力に合わせたスペックを選びましょう。
性能の高さで選ぶ
速さやセキュリティ面など、性能でサーバーを比較した場合はクラウドサーバーや専用サーバーが優れている傾向にあります。
専用サーバーは1つのサーバーの利用を独占できるだけで、必ずしもスペックが高いというわけではありません。スペックの低いサーバー機を使えば当然スペックは低くなることもありえます。また、専用サーバーは高価でメンテナンスなどの手間がかかります。機械の置き場所も確保しなければなりません。
クラウドサーバーの場合は非常に強力なスペックを提供してくれるプランもあり、一般的な専用サーバーのスペックを大きく凌駕しているものもあります。
このような理由から、性能で選ぶならばクラウドがおすすめです。クラウド上で適切に管理がされれば、専用サーバーよりも信頼性、堅牢性を高くすることが可能です。
アクセス数の変動が大きいかで選ぶ
アクセス数が大きく変動するWebサイトのサーバーとして利用する場合は、リソースを簡単に変更できるクラウドサーバーがおすすめです。
アクセス数の変動が大きい場合、つまり一時的に負荷が大きくなるときがある場合は、負荷が上がった時にもサーバーが耐えられるようにしておく必要があります。
専用サーバーを利用する際には「負荷が最大の時」を想定してスペックを選定する必要があるため、負荷が低い時でも強力なスペックを提供し続けることになり、費用が高くなってしまいます。
クラウドを利用する場合は、負荷が上がった時だけ一時的にサーバー台数を増やして従量課金されるようにするなど、柔軟な対応ができるようになるメリットがあります。
実際の開発費用・期間をまとめた資料を無料で差し上げます。資料請求はこちら>>
サーバーとはそもそも何?種類や役割、選び方をわかりやすく解説・まとめ
最初にお話ししましたとおり、サーバーとは、インターネットなどのネットワーク上で情報(データ)やサービスを提供するコンピュータのことです。用途に応じて適したサーバーを利用することで、さまざまな機能を活用することができます。
この説明ではよくわからないと感じた方も、この記事を読み進めていくうちに意味がなんとなくわかるようになっていましたら嬉しく存じます。
サーバーの選び方につきましても、「どれを選べばいいかわからない!」というお悩みを解決するヒントになりましたら幸いです。
さらに自社に合わせたサーバーはどれなのか知りたい、今利用しているサーバーのスペックが適切か、オーバースペックでないか確認したいというご相談は、アクシアで対応可能です。もちろん、システム開発に伴うサーバ構築についてのご相談も大歓迎です。お気軽にご相談ください。ご相談はこちらから
最後までお読みいただき、ありがとうございました。