0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

新人エンジニアのためのインフラ入門(第5回)を読んで学んだこと

Posted at

はじめに

今回は「ミドルウェア」について理解を深めた。
以前は「共通処理をまとめて再利用できるもの」くらいの認識だったが、よりインフラ視点での理解が進んだ。


ミドルウェアとは?

ミドルウェアとは、その名の通り、

「アプリケーションとOSの中間的な処理を行うソフトウェア」

たとえば、OSだけではアプリケーションは「サーバーとしての機能」を持たない。
そこで、以下のようなミドルウェアを導入することで、サーバーとして動作するようになる。

  • Webサーバー(nginx、Apacheなど)
  • APサーバー(PHP、Javaの実行環境など)
  • DBサーバー(MySQL、PostgreSQLなど)

ミドルウェアはサーバーにインストールして初めて使える

「〇〇サーバー」と呼ばれるように、ミドルウェアはサーバーにインストールすることで動作する。

Web三層構成とそれぞれの役割

役割 代表例
Webサーバー クライアントと最初に接する窓口。静的ファイルを返す、またはAPサーバーに処理を渡す。 nginx / Apache
APサーバー アプリケーション本体を実行する。DBと連携し、動的レスポンスを生成。 PHP / Java(実行環境)
DBサーバー アプリケーションに必要なデータを保存・提供する。 MySQL / PostgreSQL
[クライアント]
     ↓ HTTP
[Webサーバー](例: nginx)
     ↓ PHP実行
[APサーバー](例: PHP-FPM)
     ↓ SQL
[DBサーバー](例: MySQL)

なぜWeb三層に分けるのか?

セキュリティ

  • DBサーバーを直接クライアントから触れるのは危険。
  • 中間にWeb/APサーバーを挟むことで、制御・検査ができる。

障害耐性・保守性

  • すべてを1台にまとめると、1台が落ちる=全滅。
  • レイヤーごとに分ければ、影響を局所化できる。

Dockerを学んでいる自分にとっての気づき

Dockerは、たとえ1台のホストであっても、プロセス・ストレージ・ネットワークを分離できる。
つまり、物理的に分かれていなくても、論理的に三層構成を模倣できる。

Dockerは「分離された環境を手軽に再現できる」ことが強み。


おわりに

今回ミドルウェアの役割や三層構成を学ぶことで、Dockerのような技術がなぜ必要なのか、どんな価値があるのかにも気づくことができた。

やはり、基礎知識があるからこそ、応用が効くのだなと実感。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?