LoginSignup
0
0

More than 1 year has passed since last update.

【勉強用】仮想化3種についてまとめてみた

Posted at

どうも、エンジニアのハマベです。
仮想化の概念の理解って難しいな、と思ったので、まとめてみることにしました。

仮想化とは?

イメージとしては、大きなサーバー(PC本体)の中に小さな仮想のサーバーをつくり、そのなかで作業できるようにする。といった感じ。

  • メリット
    • 本物のサーバー同様に扱えるし、テストに必要な環境などを自由に作成できる
    • 1台のPCに複数の環境を作ることが出来る

まとめると、一つのハードウェアに必要な環境を集約できる、ということがメリットになる。環境ごとにハードウェアを用意すると、リソースをめいいっぱい使い切るのは難しいし運用も煩雑になってしまう。そこを解消できるのが、仮想化技術だ。

参考サイト:
https://pfs.nifcloud.com/navi/beginner/virtualization.htm

仮想化3種類

ホストOS型

ホストOS(PC本体)の中に仮想化ソフトウェアをインストールし、その中にゲストOS(仮想PC)を作成する方式。
他2種に比べ、簡単に任意のOSで作成できるので、個人的な開発には向いている。

  • メリット

    • 仮想化ソフトウェアが比較的扱いやすい
    • ホストOSで実行中のアプリと並行して利用できる
  • デメリット

    • 他2種とくらべて動作が遅め
    • ホストOSに負荷がかかると、動作が重くなってしまう

イメージ画像
hostOS.png

  • 主なソフトウェア
    • VirtualBox (Windows/Mac)
    • WorkstationPlayer (Windows)

参考:
https://qiita.com/Pentas/items/5f558deeddcfef814b3e

ハイパーバイザー型

ホストOS型と違い、仮想化ソフトウェアを挟まず、直接ゲストOSをインストールする方式。
windows(10以降)の場合、「Hyper-V」というドライバが標準で入っており、使いやすい。本番環境(複数人での開発)向き。

  • メリット

    • ホスト型に比べ、ハードウェアを直接制御するため、速度が速い
  • デメリット

    • 専用のドライバが必要で、ホスト型より少し難易度が高い

hyper.png

  • 主なソフトウェア
    • Hyper-V
    • vSphereHypervisor
    • KVM

参考:
https://thinkit.co.jp/story/2012/10/17/3722

コンテナ型

他2種と異なり、ゲストOSをホストOS上にインストールしない。
「コンテナ」と呼ばれる仮想空間を作り、その中にアプリを構築する。コンテナはホストOSを使用して動作しているため、ゲストOSは必要ない。

  • メリット

    • 起動が速く、処理が軽量で済む
    • 比較的簡単に、環境をコピーできる
    • コンテナの環境を合わせれば、どのサーバーでも確実にアプリが動作する
  • デメリット

    • カーネル(OSの中核)を共有するため、個別に変更できない
    • コンテナ環境のベースとなるOSと異なるのシステムは動かせない
    • 学習コストが比較的高め(新しい技術なので、情報がすくなめ)

contena.png

  • 主なソフトウェア
    • Docker (正確にはオープンソース型プラットフォーム)
    • Kubernetes (コンテナを管理するソフト?個別に調べた方がよさそう)

参考:
https://licensecounter.jp/engineer-voice/blog/articles/20191101_post_31.html

いかがだったでしょうか。
多分まだまだツッコミどころは多いと思われますが、ご指摘いただけると、とても嬉しいです。かなり喜びます。

以上、ご覧いただきありがとうございました。

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