サーバには、クライアントに提供するサービスにより様々な種類があり、必要に応じてネットワーク上に複数のサーバを設置し組み合わせて使用する。例えばWebサービスとメールサービスのサーバアプリケーションを1台で同時に実行して、ウェブサーバとメールサーバを兼ねることもできるが、負荷や管理(ライセンス、セキュリティ、障害対策、起動停止運用)などの都合から1台ずつのサーバに分けて運用することもある。
また、同じサーバアプリケーションを複数台のサーバで実行しながら負荷を分散し、耐障害性を向上させることができる(スケールアウト)。
ウェブサーバなどで、アクセスが集中して負荷が増大することにより、処理が追いつかなくなって見かけ上サーバが機能を停止したようになる、いわゆる「飛ぶ」あるいは「クラッシュする」状態に陥ることがある。また「飛ぶ」まではいかなくても、極端に転送量が小さくなって、ウェブサイトのページを開くにもとても長い時間がかかることがある。
オンラインゲームなどでは膨大な量のデータやユーザーによるトラフィックのため、常にサーバはクラッシュの危機にさらされている。さらにイベント時期やパッチファイル配布のタイミングには天文学的な量のデータの転送があるため、特にクラッシュしやすい。このような事例を避けるため、有名なオンラインゲームでは多数のサーバを共通のソフトウエア構成にして運用し、1台当たりにかかる負荷を分散している。
現在の一般的なパソコン用OS(Windows XPやMacintoshなど)では、上記サーバ機能をOSの機能の一つとして持っているため、サーバ的な利用を行なうことが出来る。
サーバ用途として提供されているソフトウェアでは、個人が利用するソフトウェアと比べ下記のような特徴がある。
アカウントコントロール - 利用者と利用者ごとの権限の設定を行なうことが出来る。
同時アクセス - 単一の情報に対して、複数のユーザーが同時にアクセスすることを前提としている。
セキュリティー - 多数のユーザーに解放されるため、クライアント向け製品と比べ強固である。
安定性 - 電源を切ることなく連続で動き続けるために、安定度が高い。
主に開発元からサーバ用として発売・配布されているOSには下記のようなものがある
メインフレーム専用OS
z/OS
MSP/XSP
VOS3
ACOS
OS1100/MCP
UNIX
HP-UX
Solaris
AIX
Linux(Red Hat Enterprise Linuxなど)
Mac OS X Serverなど
Windows
Windows Serverなど
主に開発元からサーバ機能を提供するとして販売・配布されているソフトウェアには下記のようなものがある
データベースサーバ:データベース処理
トランザクションサーバ:トランザクション処理
アプリケーションサーバ:アプリケーション処理(特にJavaアプリケーションサーバ)
Webサーバ(HTTPサーバ):Webアプリケーション処理(Apacheなど)
メールサーバ:メールサービス(Sendmailなど)
FTPサーバ:ファイル転送
ファイルサーバ:ファイル共有
プリントサーバ:プリンタ共有
DNSサーバ、DHCPサーバ、プロキシーサーバ
これらソフトウェアは、1台のコンピュータに複数搭載する事もあり、またクライアント・コンピュータ内に搭載することもある(専用端末内の特定業務用データベース、家庭のPCでのプリントサーバ兼用など)。
コンピュータ(ハードウェア)としてのサーバには、大型サーバから小型まで多種多様の物が存在する。主にハードウェアで重視されるのは、耐障害性、処理能力、拡張性などであり、この点、低コスト重視の個人向けパソコンとは大きく異なる。
主な種類には以下がある。
Windowsサーバ(x86サーバ、IAサーバ)
UNIXサーバ(Linuxサーバ、Mac OS X)
メインフレームサーバ、ミッドレンジサーバ(後述のように「サーバ」とは呼ばない場合も多い)
専用機器(アプライアンスなど)
一般的には、これらサーバは以下の特徴がある。
多数のクライアントからの処理を確実に実行するため、高性能・高信頼性・高価格である
サーバ用OS(WindowsならばWindows Server)をメーカーが正式サポートしている
サーバに求められる高速・大容量の周辺機器(SANなど)をメーカーが正式サポートしている
なおサーバとして販売されているコンピュータが、実際にソフトウェアとしてのサーバ機能を搭載する(役割分担としてサーバ側となる)かどうかは別問題であり、実際には「業務用の高性能コンピュータ」を総称して「サーバ」と呼んでいる場合が多い。逆にソフトウェアとしてのサーバ機能を搭載する場合でも、用途(規模、信頼性など)次第では、一般的で低価格なパーソナルコンピュータや専用機器(アプライアンス)で十分な場合もある。
なおサーバという呼称はオープンシステムと同時期に広まったため、オープン系(UNIX、Linux、Windowsサーバ)のみを指す場合が多い。(ただしメインフレームであれ、DBサーバやWebサーバなどを搭載し、高性能・高信頼性で、サーバとして機能できるコンピュータならば、サーバと呼ぶことはできる。)
個人向けコンピュータと比較した場合の主な相違点
安定性重視 - 設計は安定性を重視して行われ、特別に試験をして合格したものを使用する事が多い。ハードディスクは、新品ではなく中古で検査確認されたものを使用することもある。また、その性質上、継続的に仕事がこなせないと意味がなく、瞬間最大性能はあまり問われない。そのため、それ自体が技術開発も兼ねたシステム、例えばスーパーコンピュータのような例外を除けば、アーキテクチャ的に最新の技術を追求することはあまりなく、個人向け最新PCより安定稼動が確認された1世代前の技術を使う事が多い。
稼働性を重視 - ハードディスク、電源装置やネットワークカードといった、他の部品と比べて故障が発生しやすい装置を複数台搭載しておくことで、ひとつが故障しても稼動し続けるよう冗長化されている。