はじめに
こんにちは。
ユニフェイスの駆け出しエンジニア石田です。
現在、弊社の社内研修資料の内容を、技術記事としてまとめる試みをしています。
No. | 記事 |
---|---|
1 | パソコンの中身を知ろう -現役エンジニアがパソコンをそこそこ解体してみた- |
2 | サーバーについてざっくりと理解する(本記事) |
今回は、なんとなくイメージはできるんだけど、それは結局何なの?と聞かれたら意外と答えられない気がする「サーバー」についてざっくりと解説していきます。
目次
サーバーはコンピューターである
いきなりですが結論です。
サーバーという特別な機械があるわけではありません。
サーバーもコンピューターです。怖がることはありません。
コンピューターに、何らかの機能を提供する特別なソフトウェアをインストールしたものを、サーバーと呼びます。
例えば、メールサーバーであれば、コンピューターにメールサーバーソフトをインストールしたものです。
より高度なセキュリティや信頼性、パフォーマンスなどの要求に応えるために、サーバー用に特化したコンピューターや、サーバー用のOSを組み合わせることもありますが、基本的にはこれだけです。
代表的なサーバーの種類
サーバーが何かわかったので、次は代表的なサーバーをいくつか紹介します。
具体的なサーバーソフトウェア名も併記するので、興味のある方は是非調べてみてください。
Webサーバー
Webページを提供するためのサーバーです。
ユーザーがブラウザを使って特定のURLにアクセスすると、Webサーバーは対応するウェブページのデータ(HTML、CSS、画像など)を送り返します。
代表的なサーバーソフトウェアとして、Apache HTTP Server, Nginx, Microsoft Internet Information Services (IIS)などがあります。
ファイルサーバー
ファイルの共有・保存を提供するためのサーバーです。
ユーザーや他のコンピューターがネットワーク経由でファイルを保存、読み出し、編集するための機能を提供します。
代表的なサーバーソフトウェアとして、Samba, Microsoft Windows Server, TrueNAS (旧FreeNAS)などがあります。
プリントサーバー
プリンターへの印刷を管理・提供するためのサーバーです。
複数のコンピューターがネットワーク経由で印刷するための機能を提供します。
代表的なサーバーソフトウェアとして、CUPS (Common UNIX Printing System), Microsoft Print Servicesなどがあります。
データベースサーバー
データの格納・管理を提供するためのサーバーです。
データベース管理システム(DBMS)を使用して、データを効率的に保存、検索、更新、削除するための機能を提供します。
代表的なDBMSとして、MySQL, PostgreSQL, Microsoft SQL Server, Oracle Databaseなどがあります。
DNSサーバー
ドメイン名をIPアドレスに変換するためのサーバーです。
ユーザーから入力されたドメイン名(例:www.google.com)を、対応するIPアドレスに変換する機能を提供します。
代表的なサーバーソフトウェアとして、BIND, Microsoft DNS, PowerDNSなどがあります。
サーバーの分類
サーバーは、その設置場所や役割、提供するサービスによって以下のように分類されます。
オンプレミス
自社施設内にサーバーを設置する方式です。
企業の内部ネットワーク構築用や、企業専用のアプリケーションの実行環境などで採用されます。
メリット:高いカスタマイズ性と高度なセキュリティ。
デメリット:初期投資と運用コストが高い。また、高度なセキュリティを確保するには継続的な管理と投資が必要。
クラウドサーバー
インターネット上のサーバーをレンタルして利用する方式です。
Webサービスや、スタートアップ企業のバックエンドなどで採用されます。
メリット: 低い初期コストと柔軟な拡張性。
デメリット:サービスプロバイダによってはカスタマイズが制限される場合がある。
ハイブリッドクラウド
オンプレミスとクラウドサーバーを組み合わせて利用する方式です。
既存のオンプレミス環境を維持しつつ、クラウドでの拡張性を求める企業などで採用されます。
メリット:オンプレミスとクラウドの利点を併せ持つ。
デメリット:管理が複雑になる可能性がある。
マネージドサーバー
サーバー運用を外部の専門業者に委託する方式です。
運用に専門性が求められるが、自社で運用するリソースがない場合などに採用されます。
メリット: 運用の専門性が高く、自社のリソースを他の業務に集中できる。
デメリット:サービスの範囲と品質は業者に依存する。費用もサービスの範囲に応じて変動する。
VPS(Virtual Private Server)
一台の物理サーバーを仮想化し、複数のサーバーとして運用する方式です。
中小規模のWebサービスや、開発/テスト環境などで採用されます。
メリット:コスト効率がよく、一定のパフォーマンスが保証される。
デメリット:プロバイダやプランによっては、他のVPSとリソースを共有するため遅延が生じる可能性がある。
エッジサーバー
ユーザーに近い地理的位置に配置され、低遅延でサービスを提供する方式です。
ストリーミングサービス、IoTデバイス、リアルタイムのゲームやアプリなどで採用されます。
メリット:応答時間の短縮と帯域幅の効率的な使用。
デメリット:配置場所の選定と維持にコストと労力がかかる場合がある。
コロケーション
自社所有のサーバーをデータセンターに設置・運用する方式です。
データの安全性や接続の安定性が特に求められる場合などに採用されます。
メリット:電力供給とネットワーク接続が安定している。
デメリット:データセンターのレンタル料が必要。
まとめ
この記事を書く中で、僕も勉強を初めてからしばらくは、データベースについて「円柱のアレ」という謎の理解のまま突き進んできたことを思い出しました。
みなさんはそんなことはないと思いますが、もし僕と同じようになんとなくの理解で勉強を進めてる方がいらっしゃったら、これを機に「サーバーって別に怖くないんだな、ただのコンピューターなんだな」と思ってもらえたら嬉しいです。
最後まで読んでくださってありがとうございました。
弊社メンバー募集のお話
僕が在籍する会社、ユニフェイスでは一緒に事業を盛り上げてくれるエンジニアを募集しています!
実務経験がなくても、つよつよエンジニアが1からじっくりと育てる環境が整っているため、「独学で勉強してきたけど実務経験がないから応募が通らない」などの悩みをお持ちの方はぜひ一度お話させてください!
▼Web開発エンジニア募集
「応募資格はやる気!名古屋のITベンチャーでエンジニアデビューしませんか?」