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?

【Server】外部サーバーと組み込みサーバーの違い(Spring Bootで理解する)

0
Posted at

はじめに

JavaでWebアプリケーションを開発していると、

  • 「Tomcatって何?」
  • 「Spring Bootだとサーバーいらないの?」
  • 「組み込みサーバーって何?」

といった疑問にぶつかることがあるかと思います。(私はぶつかりました...)

この記事では、
外部サーバーと組み込みサーバーの違いを解説します。


結論

  • 外部サーバー → 「サーバーにアプリを置く」
  • 組み込みサーバー → 「アプリの中にサーバーが入っている」

外部サーバーとは?

構成図

特徴

  • サーバー(Tomcatなど)を事前にインストール
  • WARファイルを配置して動かす
  • サーバーとアプリが分離している

起動の流れ

  1. Tomcatを起動
  2. アプリが読み込まれる
  3. Webアプリとして動作

組み込みサーバーとは?

構成図(Mermaid)

特徴

  • サーバーがアプリの中に含まれている
  • JARファイル1つで動く
  • サーバーのインストール不要

起動方法

java -jar app.jar

起動の流れ

  1. アプリ起動
  2. 内部でTomcat起動
  3. ポート開放
  4. Webサーバーとして動作

違いを比較

項目 外部サーバー 組み込みサーバー
サーバーの場所 外部(別で存在) アプリ内部
デプロイ方法 WARを配置 JARを実行
起動方法 サーバー起動 アプリ起動
環境構築 やや面倒 簡単
主流度 レガシー 現在の主流

Spring Bootの場合

build.gradle

implementation 'org.springframework.boot:spring-boot-starter-web'

この設定により、

  • Tomcat(組み込み)
  • Spring MVC
  • JSON処理

などがまとめて追加されます。

つまり、

👉 Tomcatがライブラリとしてアプリに組み込まれる


内部のイメージ(もう一歩深く)


なぜ組み込みサーバーが主流になったのか?

① 環境構築が楽

  • サーバーインストール不要
  • バージョン差異がなくなる

② デプロイが簡単

  • JARを実行するだけ

③ クラウドと相性が良い

  • Docker化しやすい
  • スケールしやすい

実務での構成例


まとめ

  • 昔:サーバーにアプリを載せる
  • 今:アプリがサーバーを持つ

👉 この違いが「組み込みサーバー」


おわりに

この考え方は、

  • Docker
  • AWS(EC2 / ECS)
  • マイクロサービス

などの理解にもつながる重要なポイントです。

保守案件などで既存システムに触れる機会があると
サーバーをインストールすることも多いので
個人的にはどちらも触れおくのは無駄でないのかなと思います!

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?