仮想化技術として、企業におけるシステムの構築や運用に使われている「仮想マシン」と「コンテナ」には、どのような違いがあるのか。それぞれの仕組みの違いを踏まえて、得意なことと不得意なことを明らかにする。
アプリケーションの実行環境を用意するための仮想化技術に、「仮想マシン」(VM)と「コンテナ」がある。これらは類似する技術として考えられる傾向にあるが、その仕組みには明確な違いがあるため、リソースの使用といった基本的な違いを理解して使うことが欠かせない。本稿はVMの短所を踏まえて、VMとコンテナの違いを明らかにする。
CPUやメモリなどのリソースに関して、VMは独立したリソースを必要とする。一方コンテナは、ホストシステムのリソースを共有する。VMのイメージファイルはOSを含むため大きくなりがちであるのに対し、コンテナはコンテナ自身やその中のアプリケーションを動かすためのソフトウェアであるランタイムやライブラリ(プログラム部品群)を含む。こうしたファイルから成るコンテナのサイズは、概してVMよりも小さくなりやすい。そのためコンテナは、実行に必要なリソースがVMよりも少なくて済む傾向にある。
特にクラウドサービスにおいて、これは大きな違いをもたらす。クラウドサービスでVMを使用すると、各VMがそれぞれ必要なリソースを専有するため、同時に実行できるVMの数には限度がある。一方で同じホストシステムにあるコンテナは、ホストシステムのOSをコンテナ間で共有するため、1つのホストシステムでコンテナを効率的に同時実行できる。この効率性は、コンテナ数を増減させる「水平スケーリング」が頻繁に必要となるモダンなアプリケーションにおいて有用だ。一般的には、1台のホストシステムで同時実行できるVM数よりも、同時実行できるコンテナ数の方が多くなる。
つまりコンテナは、アプリケーションのデプロイ(配備)を簡素化する際に役立つ。アプリケーションはコンテナ内で完結するため、アプリケーションに必要な特定のOSやライブラリをホストシステムにインストールする作業は不要だ。「Kubernetes」などのコンテナオーケストレーションツールを用いてデプロイやスケーリングを実行できる。追加のコンテナを実行するためのリソースは、実行中のコンテナが使っているリソース以外にはほとんどない。
米国TechTargetの豊富な記事の中から、さまざまな業種や職種に関する動向やビジネスノウハウなどを厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
ハロウィーンの口コミ数はエイプリルフールやバレンタインを超える マーケ視点で押さえておくべきことは?
ホットリンクは、SNSの投稿データから、ハロウィーンに関する口コミを調査した。
なぜ料理の失敗写真がパッケージに? クノールが展開する「ジレニアル世代」向けキャンペーンの真意
調味料ブランドのKnorr(クノール)は季節限定のホリデーマーケティングキャンペーン「#E...
業界トップランナーが語る「イベントDX」 リアルもオンラインも、もっと変われる
コロナ禍を経て、イベントの在り方は大きく変わった。データを駆使してイベントの体験価...