TECH BLOG

仮想化技術

「仮想化技術」

VMといった仮想化技術ですが、10年ほど前はずいぶん盛り上がりました。
「仮想化」という言葉がよかったのかもしれません。
確かに、ハードウェアの存在を隠ぺいして、自分のプログラムが実行できる環境が作れる技術は、便利ではあります。
しかし、ことクラウド基盤という分野では、いまや仮想化技術はそれほど重要ではなくなってきています。
CPUやメモリを効率よく使えることが、スケーラブルでコストを最小化するクラウド基盤を構築するために重要であるからです。
OSというのは1台のPCをある意味仮想化して、いろいろなプログラムを実行できるようにしましたが、何万台、何十万台といったPC全体を管理して、そこで効率よくプログラムを実行するのは、その何万台全部を1つのOSのように扱える技術が必要です。
つまり。1台のPCを仮想化して、複数のマシンのように見せかけるのではなく、その逆で、たくさんのPCを1つのマシンのように見せかける技術が必要であるということです。それを仮想化と言えば仮想化ですが、いわゆるVMとは違います。

今我々が開発しているQCSも、そういう思考で、スケールアップを考えています。
当初はOpenStackなどを使った幾重にも仮想化された環境を作ることがクラウド基盤と思っていましたが、そうではなく、数万台のPCが1つのマシンに見えるような環境を作ることが、我々の求める、ハイパフォーマンスでありコストを最小化できるクラウド基盤です。

では、仮想化の1つの目的であった、システム同士の隔離や隠ぺいはどうするのか。それは、ネットワーク技術で解決することではないかと考えます。
数万台のPCは、ネットワークによる疎結合によって巨大な1つのシステムに見せかけているので、そのネットワークが隠ぺいや保護を実現すれば、ある種のセキュリティの向上やシステムの隠ぺいが図れるからです。

先日、Kubernetesのポッド内のコンテナーをダイナミックに動作させる仕組みを作ってみました。
それって、結局OSがプロセスをForkして立ち上げるのと同じようなことになっています。
システム全体でプロセスが立ち上がったり、終了したりするので、1つのOSでやっていること同じようなことが、複数のマシンで行われていることになっています。
さらにスケジューリングやリソースの最適化を行うようにすれば、QCS全体が1つのOSのようになるというわけで、これこそが、最新のクラウド基盤と呼べるものになっていくと考えます。



Hasegawa



  Blog Top

Tech member’s blog