サーバーの物理的に分別した種類は以下の通り。
1. 物理サーバー実際に存在するハードウェア機器を使用したサーバーである。CPU、メモリ、ストレージなどの物理的なリソースを個別に管理する必要があり、運用や管理が複雑になるという課題がある。
2. 仮想サーバー1台の実機サーバー上で複数の仮想サーバーを動作させる技術である。仮想化ソフトウェアを用いることで、ハードウェア資源を効率的に活用することができ、サーバーの運用管理を簡素化できる。
3. クラウドサーバーインターネット経由でサーバーサービスを利用できるサービスである。サーバーの設置や管理にかかる手間を省くことができ、コスト削減や迅速なシステム構築が可能となる。
4. コンテナサーバーアプリケーションとその必要な環境をひとまとめにしたパッケージであるコンテナを用いて、アプリケーションを簡単にデプロイ・運用できる技術である。可搬性やスケーラビリティに優れており、マイクロサービスアーキテクチャとの相性が良い。
5. エッジサーバーネットワークの末端に設置されるサーバーである。ネットワーク遅延やデータ損失を抑制し、リアルタイム性の高いサービスを提供することができる。
サーバーの役割また、サーバーには、様々な役割を担っている。ここでは、代表的な役割とアプリを紹介する。
1. WebサーバーWebサーバーは、WebサイトやWebアプリケーションの公開に必要なデータを格納し、クライアントからのリクエストに応じて配信する役割を担っている。代表的なWebサーバーアプリは以下の通り。
Apache HTTP Server: オープンソースで無料で利用できるWebサーバーであり、世界で最も広く利用されている。安定性と拡張性に優れている。 Nginx: 高速処理と軽量な動作が特徴のWebサーバーである。近年、利用者数を急速に増やしている。 Microsoft Internet Information Services (IIS): Windows Serverに標準搭載されているWebサーバーである。Active Directoryとの連携に優れている。
2. メールサーバーメールサーバーは、電子メールの送受信を管理する役割を担っている。代表的なメールサーバーアプリは以下の通り。
Postfix: オープンソースで無料で利用できるメールサーバーであり、高い安定性と拡張性を誇ります。 Exim: 高速処理と豊富な機能が特徴のメールサーバーである。近年、利用者数を増やしている。 Microsoft Exchange Server: Microsoftが提供するメールサーバーであり、Active Directoryとの連携に優れている。企業向けの機能が充実している。
3. データベースサーバーデータベースサーバーは、データベースを格納し、管理する役割を担っている。代表的なデータベースサーバーアプリは以下の通り。
MySQL: オープンソースで無料で利用できるデータベースサーバーであり、世界で最も広く利用されている。使いやすさと豊富な機能が特徴である。 PostgreSQL: オープンソースで無料で利用できるデータベースサーバーであり、高い安定性と拡張性を誇ります。SQLに準拠した機能が豊富である。 Microsoft SQL Server: Microsoftが提供するデータベースサーバーであり、企業向けの機能が充実している。Active Directoryとの連携に優れている。
4. アプリケーションサーバーアプリケーションサーバーは、Webアプリケーションを実行するための環境を提供する役割を担っている。代表的なアプリケーションサーバーアプリは以下の通り。
Apache Tomcat: Ja Servletを動かすサーブレットコンテナである。Jaアプリケーションの開発・運用に広く利用されている。 JBoss: Ja EEアプリケーション向けのオープンソースアプリケーションサーバーである。スケーラビリティと可用性に優れている。 WebSphere Application Server: IBMが提供するエンタープライズ向けアプリケーションサーバーである。ミッションクリティカルなシステム向けに設計されている。
5. ファイルサーバーファイルサーバーは、ファイルを共有するためのサーバーである。代表的なファイルサーバーアプリは以下の通り。
Windows Server: ファイル共有機能に特化したWindows Server OSである。Active Directoryとの連携に優れている。 Samba: Windows Serverと互換性のあるオープンソースのファイルサーバーである。Linux環境でファイル共有を実現する際に利用されます。 NFS: ネットワーク上でファイルを共有するための分散ファイルシステムである。UNIX系OSでよく利用されます。
6. ストレージサーバーストレージサーバーは、大量のデータを格納し、管理する役割を担っている。代表的なストレージサーバーアプリは以下の通り。
Network Attached Storage (NAS): ネットワーク経由でファイル共有を行うストレージ装置である。小規模なオフィスや家庭でよく利用されます。 Storage Area Network (SAN): 高速なネットワーク接続でストレージを共有するシステムである。ミッションクリティカルなシステム向けに利用されます。 Object Storage: オブジェクトと呼ばれる単位でデータを格納する分散型ストレージサービスである。クラウドストレージでよく利用されます。
7. DNSサーバーDNSサーバーは、ドメイン名とIPアドレスを相互に変換する役割を担っている。代表的なDNSサーバーアプリは以下の通り。
Bind: オープンソースで無料で利用できるDNSサーバーであり、世界で最も広く利用されている。 Unbound: 高速処理とセキュリティ機能に優れているDNSサーバーである。近年、利用者数を増やしている。 PowerDNS: エンタープライズ向けの高機能DNSサーバーである。大規模なネットワーク向けに設計されている。
8. プロキシサーバープロキシサーバーは、インターネットへのアクセスを仲介する役割を担っている。クライアントからインターネットへのリクエストを代行し、過去にアクセスしたWebページやファイルをキャッシュすることで、アクセス速度を向上や、不正なアクセスや有害なコンテンツからクライアントを保護することができる。代表的なプロキシサーバーアプリは以下の通り。
Squid: オープンソースで無料で利用できるプロキシサーバーであり、世界で最も広く利用されている。キャッシュ機能に優れている。 HAProxy: 高速処理とロードバランシング機能に優れているプロキシサーバーである。近年、利用者数を増やしている。 Varnish: 高速キャッシュと動的コンテンツ配信に特化したプロキシサーバーである。Webパフォーマンスの向上に効果的である。