は自社専用のサーバー保有をあきらめ、サーバーの集合住宅であ
るデーターセンターからサーバー環境の提供を受けて使うように
なりつつあります。しかし、そのデーターセンターのサーバーは
どうなるのでしょうか。小池良次氏は近未来のデーターセンター
について次のように述べています。
―――――――――――――――――――――――――――――
近い将来、クラウドインフラプロバイダーの次世代データセン
ターには、大型サーバーがいくつも並ぶことになる。しかし、
ユーザーはその大型サーバーを借りる必要はない。仮想化技術
は、大型サーバーの中に、必要なサイズの仮想サーバーをいく
つでも作り出せるからだ。また、サーバーだけでなく、ストレ
ージ(記憶領域)やネットワークなども自由に作り出せる。外
見はひとつのサーバーだが、中には何十台ものサーバー機能が
詰まっている。
――小池良次著、『クラウド』より/インプレスR&D刊
―――――――――――――――――――――――――――――
もう少し具体的な話をしましょう。
「EC2」というデーターセンター・サービスがあります。E
C2というのは、次の言葉の略語です。
―――――――――――――――――――――――――――――
EC2/エラスティック・コンピュート・クラウド
Elastic Compute Cloud
―――――――――――――――――――――――――――――
「コンピュート」と「クラウド」のように2つ「C」が付くの
で「C2」というわけです。これは、アマゾン・ウェブ・サービ
シス社――AWS社が提供している次世代データーセンター・サ
ービスであり、「EC2」と呼称されます。
「エラスティック」というのは、弾力性や伸縮自在性という意
味であり、「弾力性に富んだクラウドコンピュータ」という意味
になるのです。これは次のことを意味しているのです。
―――――――――――――――――――――――――――――
EC2/仮想化技術を駆使して柔軟にオンラインアプリケー
ションを提供できる。
――小池良次著、『クラウド』より/インプレスR&D刊
―――――――――――――――――――――――――――――
この中に出てくる「仮想化技術」という言葉があります。およ
そこの言葉ぐらい説明が難しいものはないのですが、現在PCを
使っている人にも関係のある技術ですので、知っておく必要があ
ると思います。EJはけっして技術系の人向きのレポートではな
いのですが、今後の社会の動きの一つとして理解しておくと後で
役立つと思います。
「Java」という言語をご存知でしょうか。
「Java」は、インターネット上の利用に適した言語で、PCだ
けでなく、サーバーや携帯電話にも利用が広がっています。サン
・マイクロシステムズ社が開発した言語です。
「Java」はコンピュータの機種の違い――OSの違いを問わな
いというところに大きな特色があります。すなわち、「Java」で
記述したソフトウェアは、ウインドウズ上でも、マックOS上で
も、リナックス上でも問題なく動くのです。
どうしてそんなことができるのでしょうか。その秘密は「仮想
マシン」にあります。
―――――――――――――――――――――――――――――
仮想マシン/Virtual Machine
―――――――――――――――――――――――――――――
「仮想マシン」について説明します。
「ジャバ語」という外国語があったとします。そのジャバ語で
書かれたメッセージがあるとして、それを日本人と米国人に伝え
たいとします。この場合、ジャバ語のメッセージをそのまま日本
語や英語に翻訳しないで、その前段階の「共通コード」というも
のに翻訳します。
そのうえで、日本人に対してはその共通コードを理解できる日
本人通訳をあてがい、米国人に対してはその共通コードを理解で
きる米国人通訳をあてがって伝えるのです。これによって、日本
人にも米国人にも同じメッセージが伝わることになります。
これに加えて、イタリア人にもそのメッセージを伝えたい場合
は、共通コードが理解できるイタリア人通訳をあてがえば伝わる
ことになります。
「Java」のプログラムは、これとまったく同じ方法をとってい
るのです。次をごらんください。
―――――――――――――――――――――――――――――
ジャバ語のメッセージ ・・・・・ 「Java」プログラム
共通コード ・・・・・・・・・・ 「Java」バイトコード
共通コードを理解する通訳 ・・・ 「Java」仮想マシン
日本人、米国人、イタリア人 ・・ コンピュータ+OS
――藤田英時著
『人間の考え方プログラムの考え方』/ナツメ社刊
―――――――――――――――――――――――――――――
「Java」のプログラムは、「Java」コンパイラによって翻訳さ
れ、実行可能なプログラムになるのですが、CPUが直接命令す
る機械語ではないのです。これは、「Java」バイトコードという
特殊なコード(命令)であり、それを解釈して実行するソフトウ
ェアが「Java」仮想マシンなのです。
「Java」仮想マシンは、ウインドウズやマックOSなどに対応
したものがそれぞれ用意されており、OSに代わって「Java」バ
イトコードを実行するのです。これがコンピュータなどの機器や
やOSに依存しないで「Java」のプログラムが動く仕組みになっ
ているのです。プログラムを書いて「Java」バイトコードに翻訳
しておけばどのような機器でもそのソフトウェアは動くのです。
――[クラウド・コンピューティング/29]
≪画像および関連情報≫
●「EC2」とは何か
―――――――――――――――――――――――――――
EC2とは、商用ウェブサービスであり、顧客が計算資源を
借り、アプリケーションの実行を可能にするものである。E
C2は、アプリケーションのスケーラブルな展開を可能とし
ており、顧客はバーチャルマシンと呼ばれるサーバインスタ
ンスを作成することで、希望するのソフトウェアを実行する
ことができる。顧客はサーバインスタンスを必要に応じて作
成、実行および停止することができ、起動しているサーバに
対し毎時ごとに対価を払うので「エラクティック」と呼ばれ
る。顧客はサーバインスタンスを互いに隔離されたゾーンに
作成することにより、障害時において互いにバックアップと
なり、ダウンタイムを最小化するような構成をとることがで
きる。 ――ウィキペディア
―――――――――――――――――――――――――――
●図の出典/藤田英時著『人間の考え方プログラムの考え方』
ナツメ社刊
Javaプログラムが異機種で動く仕組み


