仮想化とシステムのモジュラー化
10月20日、21日にVMware社が開催したVMware Virtualization Forum 2009に行ってきた。その夜に、twitterで呟いた感想をまとめておく。
tsukamoto: Virtualization Forum 2009、いろいろと新しいものはあったけど、新しいパラダイムとまで言うようなものはたぶんなかったと思う。 (11:55 PM Oct 21st)
tsukamoto: 思うに仮想化そのものは「ハードウェアとOSを切り離す」というパラダイムシフトだったのだけど、それは60年代のパーティショニングとか90年代(?)のエミュレーションとかの頃からそのパラダイム上にあった。 (12:01 AM Oct 22nd)
tsukamoto: 仮想化が始まって以降の歴史上にパラダイムシフトがあったとしたら、「ハードウェアとリソースを切り離す」ということ、その1つだったんじゃないかな。 (12:03 AM Oct 22nd)
tsukamoto: このパラダイムが、ホストOSを持たないハイパーバイザ、巨大サーバではなくサーバ群をまとめて1つのリソース総量と捕らえるリソースプール、その中で使用するリソース量を「どこかから」自動的にわりあてるDRSといった新しいアプローチを生んできた。 (12:05 AM Oct 22nd)
tsukamoto: 今日デモしていたVMware MVPなんかも、端末が何かにとらわれず単なるリソースプールと考えてその上に載せるワークロードを提供すればいいという、同じパラダイムの敷衍で捉えていいように思う。 (12:07 AM Oct 22nd)
tsukamoto: …ああ、「ハードウェアとOSを切り離す」「ハードウェアとリソースを切り離す」より「ハードウェアを抽象化する」「コンピュータリソースを抽象化する」が正確かも。 (12:09 AM Oct 22nd)
コンピュータリソースが抽象化されると、ハードウェアから下を管理するインフラ技術者と、OSから上を管理するシステム技術者が、コンピュータリ ソースの提供/利用を境界にしてをきれいに分業できる。
インフラ技術者はコンピュータリソースの安定供給に努めればよく、システム技術者はOSやその上のアプリケーションによるサービスに専念すればよい。これは昔からある考え方なのだが、これまではコンピュータリソースの分割、コンピュータリソース供給の安定(可用性、復旧性、 etc.)の実現が、OSやその上のアプリケーションなどに食い込んでいて、そこをきれいな境界線として分けられなかった。
仮想化環境は、仮想化レイヤでリソースの分割、仮想マシンとしてパッケージしての提供、仮想マシンに対する自動フェールオーバやバックアップなどを可能にした。これにより、システムの「安定稼働」はインフラ技術者がハードウェアと仮想化レイヤで、「機能提供」はシステム技術者がOSとアプリケーションレイヤで、役割も作業レイヤもきれいに切り離して実現することが可能になった。
つまり、仮想化で実現できるレベルのリソースコントロールで十分なシステムであれば、システム構築はインテグラル(擦り合わせ)型からモジュラー(組み合わせ)型にシフトした。
(※本エントリは10月26日のtumblrへのポストに加筆、修正したものです)