あけおスクールに多額のお金を支払う前に、僕の記事で学習してね!
はじめに
サーバーの勉強をしていると、
必ずこんな疑問が出てきます。
「Webサーバーって何?」
「アプリケーションサーバーと何が違うの?」
「DBサーバーは一体どこ?」
ここが曖昧なままだと、
- Laravelで何を作っているのか分からない
- インフラ構成図が読めない
という状態になります。
この記事では、
Webエンジニアが必ず理解すべき
3種類のサーバーの役割分担
を、初心者向けに整理します。
サーバーは役割で分けて考える
まず大前提です。
サーバーは「種類」ではなく
「役割」で考える
同じ1台のマシンに
すべての役割を持たせることもできます。
Webアプリの基本構成
多くのWebサービスは、
次の3つの役割で構成されています。
- Webサーバー
- アプリケーションサーバー
- データベースサーバー
これが
Web三層構造の基本です。
Webサーバーとは何か?
Webサーバーとは、
HTTPリクエストを受け取り、
適切な処理先へ振り分ける受付係
です。
Webサーバーの主な役割
- リクエストの受付
- 静的ファイルの返却
- アプリケーションへの転送
代表例:
- Apache
- Nginx
👉
入口担当と考えると分かりやすいです。
Webサーバーは何をしないのか?
重要なポイントです。
Webサーバーは、
- 複雑なビジネスロジック
- DBへの直接操作
は
基本的に行いません。
アプリケーションサーバーとは何か?
アプリケーションサーバーとは、
ビジネスロジックを実行する役割
です。
- ログイン処理
- データ加工
- 条件分岐
など、
アプリの中身を担当します。
Laravelはどこで動いている?
Laravelは、
アプリケーションサーバー側
で動作します。
つまり、
- Controller
- Model
- Service
は
ここで実行されています。
アプリケーションサーバーの特徴
- プログラムが動く
- 言語やフレームワークが関係する
- Webエンジニアの主戦場
👉
あなたが一番触る場所です。
データベースサーバーとは何か?
データベースサーバーとは、
データを安全に保存・管理する役割
です。
DBサーバーの役割
- データの保存
- データの検索
- データの更新
代表例:
- MySQL
- PostgreSQL
👉
データの倉庫です。
なぜサーバーを分けるのか?
理由はとてもシンプルです。
- 役割を明確にする
- 負荷を分散する
- 障害時の影響を減らす
👉
スケールしやすくなる
小規模では1台でもOK?
結論から言うと、
小規模では1台でもOK
です。
- Web / AP / DB
すべて同じサーバー
という構成もよくあります。
なぜ分ける構成が増えていくのか?
サービスが成長すると、
- アクセス増加
- データ増加
- 負荷増加
が起きます。
その結果、
- Webサーバーを増やす
- DBを別サーバーにする
といった
分離構成に進化します。
Web三層構造との関係
3つのサーバーは
次のように対応します。
| 層 | サーバー |
|---|---|
| プレゼン層 | Webサーバー |
| アプリ層 | アプリケーションサーバー |
| データ層 | DBサーバー |
👉
設計の基本形です。
API構成でも同じ考え方
API構成でも役割は同じです。
- Webサーバー:受付
- API(Laravel):処理
- DB:保存
返すものが
HTMLかJSONかの違いだけです。
Webエンジニアはどこまで理解すべきか?
結論です。
以下が説明できれば十分です。
- Web / AP / DB の役割
- LaravelはAPサーバー側
- 分ける理由
物理構成の細かさは
後からで問題ありません。
この理解があると何が良くなる?
- インフラ構成図が読める
- エラー箇所を切り分けられる
- 設計の話についていける
👉
「なんとなく」が消えます。
次に学ぶべきこと
3種類のサーバーが理解できたら、
次は👇です。
👉 オンプレミスとクラウドの違いとは何か?
サーバーはどこに置くのかを理解する


まとめ
- サーバーは役割で分ける
- Web:受付
- AP:処理(Laravel)
- DB:保存
- Web三層構造が基本
この記事は
サーバー基礎章の心臓部です。



あなたの挑戦を応援しています!!



