クマのブログ

つまづいたところ、学びを書いていきます

サーバーを立てるソフトウェアを知る

前提

・Windows10

背景

  • 先日「仮想サーバー」について調べた

  • ただ「『サーバーを立てる』という点ではいくつか同じようなサービスがあるよな」、と感じ、どう使い分けるか気になった

調べたこと

先日は主にVagrantVirtualBoxについて調べたので、他のサービスを調べた

Docker

よく見る比較対象。

Vagrantカーネルも含めて仮想環境を作るのに対して

という点が大きな違い

イメージとしては

【Docker】

  • 小さく始める(マイクロサービス)のに向いてる

  • DockerはカーネルはホストOSと共通のモノを使う

  • WindowsPCだと使いにくい(Vagrantで環境構築→Docker環境構築が欲しいところ)

※理由はこちらの記事

XAMPP / MAMP

LAMP環境でサーバー環境を作る」という点では類似(こっちではOSとかまで作るわけではないが、自分自身が区別できていないので、メモ)

ただ、

  • WEBサーバーはNginx、プログラミング言語ではRubyPythonなども使われること

  • プロジェクトごとのバージョン管理が大変(xamppなどでのバージョン管理は不可能に等しい)

  • ホストOS(WindowsMac)によって開発環境が異なると、うまく開発が進まない

  • PC買い直した際の環境構築を0から始めなければいけない

などなどのデメリットを考えると、共同開発を大前提とするプロダクト開発にはxamppやMAMPが向いていないことがわかる。

参考記事

自分が Vagrantで LAMP環境を作る理由

DockerとVagrantの違い

所見

研修内でxampp環境でしか開発したことがない僕に対して、先輩社員がVagrantのことを

「xamppみたいなものだね」

とぼそっと言ってたことを理解しました。

(厳密にいうと、Vagrantを使うとなるとVirtualBoxも使うので、セットで「xamppみたいなもの」なんですね。)