🥸

サーバー仮想化の歴史

2024/07/15に公開

はじめに

この記事では、「サーバー仮想化」の詳細な技術については扱わず、その誕生の背景や歴史、解決した課題について、自分なりの整理を書いていきます。

誕生の背景

従来の物理サーバー時代の課題と、サーバー仮想化によってそれらがどのように解決されたのかを見ていきます。

従来の物理サーバー時代の課題

サーバー仮想化が普及する以前は、自社で複数物理サーバーを所有して運用するのが一般的で、以下のような課題がありました。

  • リソース調達に時間がかかる
    • 例)キャパシティ予測→リソース見積もり→社内承認→注文→到着
    • 工程が多く、数週間から数ヶ月かかる
  • リソースを動的に変更できない
    • 予測したキャパシティより低い場合:リソースの無駄遣い
    • 予測したキャパシティより高い場合:処理が捌ききれない
  • 高いコスト
    • サーバー購入代、電力、冷却、スペース、保守管理コストなど
  • 運用管理の複雑さ
    • 複数の物理サーバーの手動管理コスト

サーバー仮想化という解決策

1999年にVMwareがx86仮想化のソフトウェアを提供し、2001年には世界初のx86サーバー仮想化ソフトウェアをリリースしました。この時期から仮想化技術が徐々に普及し始め、物理サーバー時代の課題が解決されていきます。

  • 迅速なリソースプロビジョニング
    • 新しい仮想マシンの作成や削除が迅速に行える
    • 数週間から数ヶ月かかったリソース調達が数分でできる
  • リソースの効率的な利用
    • 1つの物理サーバー上で複数の仮想マシンを動作させることができる
    • リソースの割り当てを動的に変更でき、リソースの無駄遣いが減る
  • コスト削減
    • 1つの物理サーバー上で複数の仮想マシンを動作させるため、物理サーバーの台数が減少
    • サーバー購入代、電力、冷却、スペース、などの保守管理コストが削減
  • 運用管理の簡素化
    • 管理コンソールで1つの画面から複数の仮想マシンや物理サーバーが管理できる
    • 自動化ツールやスクリプトのサポートがあり、多くの管理タスクを自動化できる
    • 手動で行っていた煩雑な作業が減り、運用管理のコストが削減

サーバー仮想化の課題

サーバー仮想化は多くのメリットがあった一方で、仮想サーバーを動かすための物理サーバーを社内で管理してることや、パフォーマンス・セキュリティ面で以下のような課題も抱えていました。これが後のIaaS誕生に繋がります。

  • 余剰リソースのコスト
    • 仮想サーバーを動かすための物理サーバーを社内で保有している限り、使用されていない余剰リソースにもコストがかかる
  • パフォーマンスの低下
    • 1つの物理サーバーで複数の仮想マシンを運用するため、リソースの競合が発生
    • リソースを多く消費するアプリケーションを複数同時に動作させると、パフォーマンスが低下する可能性がある
  • セキュリティリスク
    • 共有リソースの使用、仮想ネットワークの脆弱性、ホストシステムの依存性などのリスクを管理し、適切なセキュリティ対策を行う必要がある
  • 管理の複雑さ
    • 物理サーバーと仮想マシンの両方を管理する必要があるため管理が複雑になる

サーバー仮想化の歴史

1960年代:タイムシェアリングシステムの登場

  • 1961年にMITでタイムシェアリングシステム(CTSS)の開発が始まる
  • 1つの物理的なコンピュータリソースを複数のユーザー間で共有する仕組み

1960年代後半:仮想マシンモニター(VMM)の登場

  • 1968年、IBMがCP/CMSを導入
  • 複数の仮想マシンを1つの物理マシン上で動作させる技術

1980年代:個人用コンピュータとソフトウェア仮想化

  • 1980年代に個人用コンピュータ(PC)の普及が進む
  • 1988年にSoftPCがリリースされ、異なるOS上でMS-DOSやWindowsのアプリケーションを動作させることが可能に

1990年代:VMwareの誕生

  • 1998年にVMwareが設立される
  • 1999年に初のx86仮想化ソフトウェアであるVMware Virtual Platformをリリース

2000年代:サーバー仮想化の普及

  • 2001年にVMwareが初のx86サーバー仮想化ソフトウェアをリリース
  • 同年、Virtuozzo(後のOpenVZ)がLinux向けのコンテナ技術を導入

参考記事

https://en.wikipedia.org/wiki/Timeline_of_virtualization_development

https://community.fs.com/article/top-7-data-center-management-challenges.html

https://www.zenarmor.com/docs/network-basics/what-is-server-virtualization

https://www.serverwatch.com/virtualization/data-center-virtualization/

https://zenn.dev/esaka/articles/2d117655af1f03cf2444

https://zenn.dev/yama_moto/articles/a398e8d5f73c46

GitHubで編集を提案

Discussion