


サーバーとは、コンピュータネットワーク上の「クライアント」と呼ばれる他のコンピュータにデータ、リソース、またはサービスを提供するコンピュータまたはソフトウェアシステムのことです。[ 1 ]このアーキテクチャはクライアント/サーバーモデルと呼ばれます。サーバーは、複数のクライアント間でデータやリソースを共有したり、クライアントのために計算を実行したりするなど、さまざまな機能(多くの場合「サービス」と呼ばれます)を提供できます。1つのサーバーが複数のクライアントにサービスを提供でき、1 つのクライアントが複数のサーバーを使用できます。クライアントプロセスは同じデバイス上で実行することも、ネットワーク経由で別のデバイス上のサーバーに接続することもできます。[ 2 ]一般的なサーバーには、データベースサーバー、ファイルサーバー、メールサーバー、プリントサーバー、Web サーバー、ゲームサーバー、アプリケーションサーバーなどがあります。[ 3 ]
クライアント/サーバーシステムは、リクエスト/レスポンスモデルによって実装されることが最も多く(そしてしばしばこのモデルと同一視される)、クライアントがサーバーにリクエストを送信すると、サーバーは何らかの処理を実行し、結果または確認応答をクライアントに返信します。コンピュータを「サーバークラスハードウェア」と指定することは、そのコンピュータがサーバーを実行するために特化していることを意味します。これは多くの場合、標準的なパーソナルコンピュータよりも高性能で信頼性が高いことを意味します。ただし、大規模なコンピューティングクラスタは、比較的単純で交換可能な多数のサーバーコンポーネントで構成されている場合もあります。
コンピューティングにおける「サーバー」という言葉の使用は、待ち行列理論[ 4 ]に由来し、20世紀半ばに遡り、特にケンドールの記法を導入した論文であるケンドール(1953)(「サービス」とともに)で使用されている。アーラン(1909)などの初期の論文では、「電話オペレーター」などのより具体的な用語が使用されている。
コンピューティングにおいて、「server」は少なくともRFC 5(1969年)[ 5 ]にまで遡り、 ARPANET (インターネットの前身)を記述した最も初期の文書の1つであり、「user」と対比され、「server-host」と「user-host」という2種類のホストを区別している。「serving」の使用もRFC 4 [ 6 ]などの初期の文書に遡り、 「serving-host」と「using-host」を対比している。
ジャーゴンファイルでは、サーバーを、通常はリモートで要求に対するサービスを提供するプロセスという一般的な意味で定義しています[ 7 ]。 1981年版では次のように書かれています[ 8 ]。
サーバー n. 要求元に対してサービスを提供するデーモンの一種で、多くの場合、サーバーが動作するコンピュータとは別のコンピュータ上で動作します。
2000年代初頭のサーバーの平均利用率は5~15%でしたが、仮想化の導入により、必要なサーバー数が増加し始めました。[ 9 ]

厳密に言えば、サーバーという用語はコンピュータ プログラムまたはプロセス(実行中のプログラム)を指します。換喩的に、それは 1 つまたは複数のサーバー プログラムを実行するために使用されるデバイス (または専用のデバイス) を指します。ネットワーク上では、そのようなデバイスはホストと呼ばれます。サーバーに加えて、 serveとservice (それぞれ動詞と名詞として)という単語がよく使われますが、 servicerとservant は使われません。[ a ] service (名詞)という単語は、 Web サービスなどの機能の抽象的な形式を指す場合があります。あるいは、 Windows サービスのように、コンピュータをサーバーに変えるコンピュータ プログラムを指す場合もあります。元々は「サーバーはユーザーにサービスを提供する」(および「ユーザーはサーバーを使用する)」という意味で「従う」という意味で使われていましたが、今日では「サーバーはデータを提供する」という意味で「与える」と言うことがよくあります。たとえば、Web サーバーは「Web ページをユーザーに提供する」または「ユーザーのリクエストを処理する」
サーバーはクライアント・サーバーモデルの一部であり、このモデルではサーバーがクライアントにデータを提供します。クライアントとサーバー間の通信は要求と応答です。これは、オンデマンドの相互関係であるピアツーピアモデルとは対照的です。原則として、他のプロセスから使用または呼び出し可能なコンピュータ化されたプロセス(特にリモートで、特にリソースを共有するために)はすべてサーバーであり、呼び出し元のプロセスはクライアントです。したがって、ネットワークに接続された汎用コンピュータであれば、サーバーをホストできます。たとえば、デバイス上のファイルが何らかのプロセスによって共有されている場合、そのプロセスはファイルサーバーです。同様に、Webサーバーソフトウェアは、適切なコンピュータであればどれでも実行できるため、ラップトップやパーソナルコンピュータでもWebサーバーをホストできます。
リクエスト・レスポンスは最も一般的なクライアント・サーバー設計ですが、パブリッシュ・サブスクライブ パターンなど、他の設計もあります。パブリッシュ・サブスクライブ パターンでは、クライアントはパブリッシュ・サブスクライブ サーバーに登録し、指定されたタイプのメッセージを購読します。この最初の登録はリクエスト・レスポンスで行うことができます。その後、パブリッシュ・サブスクライブ サーバーは、追加のリクエストなしに一致するメッセージをクライアントに転送します。リクエスト・レスポンスのようにクライアントがサーバーからメッセージをプルするのではなく、サーバーがクライアントにメッセージをプッシュします。 [ 10 ]
サーバーの役割は、データの共有、リソースの共有、および作業の分散です。サーバーコンピュータは、自身のコンピュータプログラムを実行することもできます。状況によっては、これは相互利益に基づく取引の一部であったり、単なる技術的な可能性であったりします。以下の表は、サーバーが使用されるいくつかのシナリオを示しています。
インターネットの構造のほぼ全体は、クライアント/サーバーモデルに基づいています。上位レベルのルートネームサーバー、DNS、およびルーターがインターネット上のトラフィックをルーティングします。インターネットには、世界中で継続的に稼働している何百万ものサーバーが接続されており[ 13 ] 、通常のインターネットユーザーが行うほぼすべてのアクションは、1つ以上のサーバーとの1つ以上のやり取りを必要とします。専用サーバーを使用しない例外もあります。たとえば、ピアツーピアのファイル共有や、電話の実装の一部(たとえば、Microsoft以前のSkype)などです。

サーバーのハードウェア要件は、サーバーの用途やソフトウェアによって大きく異なります。サーバーは、接続するクライアントよりも高性能で高価な場合が多いです。
ネームサーバーは、ハードウェアとソフトウェアの両方に使用されます。ハードウェアサーバーの場合、通常はハイエンドのマシンを指しますが、ソフトウェアサーバーはさまざまなハードウェア上で動作可能です。
サーバーは通常ネットワーク経由でアクセスされるため、多くはコンピューターモニターや入力デバイス、オーディオハードウェア、USBインターフェースなどを必要とせず、無人で稼働します。多くのサーバーにはグラフィカルユーザーインターフェース(GUI)がありません。サーバーはリモートで構成および管理されます。リモート管理は、 Microsoft Management Console(MMC)、PowerShell、SSH、 DellのiDRACやHPのiLoなどのブラウザベースの帯域外管理システムなど、さまざまな方法で行うことができます。
大規模な従来型のシングルサーバーは、中断なく長期間稼働する必要があります。可用性が非常に高い必要があるため、ハードウェアの信頼性と耐久性が極めて重要になります。ミッションクリティカルなエンタープライズサーバーは、非常に高い耐障害性を持ち、稼働時間を最大化するために故障率の低い専用ハードウェアを使用します。停電に備えて、無停電電源装置が組み込まれる場合があります。サーバーには通常、デュアル電源、RAIDディスクシステム、ECC メモリなどのハードウェア冗長性[ 14 ]に加え、広範な起動前メモリテストと検証が含まれています。重要なコンポーネントはホットスワップ可能で、技術者がサーバーをシャットダウンせずに稼働中のサーバー上で交換できます。また、過熱を防ぐために、サーバーにはより強力なファンが搭載されているか、水冷が使用されている場合があります。多くの場合、 IPMIに基づく帯域外管理を使用して、リモートで構成、電源のオン/オフ、または再起動が可能です。サーバーの筐体は通常、平らで幅広く、 19 インチラックまたはオープンラックにラックマウントできるように設計されています。
こうしたタイプのサーバーは、多くの場合、専用のデータセンターに設置されます。データセンターは通常、非常に安定した電力とインターネット接続、そして強化されたセキュリティを備えています。騒音もそれほど問題になりませんが、消費電力と発熱量は深刻な問題となる可能性があります。サーバー室には空調設備が設置されています。
サーバーファームまたはサーバークラスタとは、単一のデバイスの能力をはるかに超えるサーバー機能を提供するために組織によって維持されるコンピュータサーバーの集合体です。現代のデータセンターは、よりシンプルなサーバーの非常に大規模なクラスタで構築されることが多く、[ 15 ]この概念を中心とした共同作業であるOpen Compute Project があります。
ネットワークアプライアンスと呼ばれる小型の専門サーバーは、一般的に低価格帯に位置づけられ、多くの場合、一般的なデスクトップコンピュータよりも小型である。
モバイルサーバーは、ラップトップなどのポータブルなフォームファクタを備えています。[ 16 ]大規模なデータセンターやラックサーバーとは対照的に、モバイルサーバーは、電力要件、サイズ、展開時間のために従来のサーバーが実現不可能な緊急、災害、または一時的な環境へのオンザホック展開用に設計されています。 [ 17 ]いわゆる「サーバー・オン・ザ・ゴー」技術の主な受益者には、ネットワーク管理者、ソフトウェアまたはデータベース開発者、トレーニングセンター、軍人、法執行機関、鑑識、緊急救援グループ、およびサービス組織が含まれます。[ 18 ]携帯性を容易にするために、キーボード、ディスプレイ、バッテリー(故障時の電力冗長性を提供する無停電電源装置)、マウスなどの機能はすべてシャーシに統合されています。

インターネット上では、サーバーにおける主要なオペレーティングシステムは、 LinuxやFreeBSDをベースとしたUNIXライクなオープンソースディストリビューションであり、[ 19 ] Windows Serverもかなりのシェアを占めている。z /OSやmacOS Serverなどのプロプライエタリなオペレーティングシステムも導入されているが、その数ははるかに少ない。Linuxを実行するサーバーは、Webサーバーやデータベースとしてよく使用される。Windows Serverは、Windowsクライアントで構成されるネットワークに使用される。
サーバー向けに特化したオペレーティングシステムには、従来以下のような機能がありました。
実際には、今日では多くのデスクトップおよびサーバーオペレーティングシステムが類似したコードベースを共有しており、違いは主に構成部分に限られている。
2024年には、データセンター(サーバー、冷却装置、その他の電気インフラ)が415テラワット時の電力を消費し、世界の電力消費量の約1.5%[ 21 ]、米国では4.4%[ 22 ]を占めました。情報通信技術の総エネルギー消費は、効率を高めることで、経済の他の分野における二酸化炭素排出量の5倍以上を削減するという試算もあります[ 23 ] 。
データセンターの環境への影響に関する懸念は、特にAIワークロードの増加に伴いサーバーと冷却の要件が増大するにつれて、電力需要とそれに伴う排出量に集中している。[ 24 ]
サーバーは、情報を提供できるソフトウェアがインストールされているホストです。クライアントは、サーバーから取得した情報を要求して表示できるソフトウェアがインストールされているコンピューターホストです。
待ち行列理論から派生した、比較的新しいコンピュータネットワーク用語です。
{{cite web}}: CS1 maint: 複数の名前: 著者リスト (リンク){{cite web}}: CS1 maint: 複数の名前: 著者リスト (リンク)