Linux: クラウド・コンピューティングのオペレーティング・システム
Amanda McPherson、Linux Foundation
2009年5月

ユーティリティ・コンピューティングは、長年の間、技術分野において主要な技術としての地位を得ようと取り組んできましたが、遂に、来たる数四半期の間にこれを実現する可能性があります。しかし今度は、クラウド・コンピューティングという名前で知られることになるでしょう。また、クラウド・コンピューティングが一線を越えて主要な技術として採用される時、これに力を与えるのはLinuxです。
クラウド・コンピューティングとは、先行するユーティリティ技術およびグリッド技術から多くの技術を取り入れたものです。クラウド・コンピューティングは、自社外のサービスの利用可能性を表しています。クラウドという名前は、インターネットを表す構造図が雲(クラウド)として描かれていたことに由来します。クラウド・コンピューティングは、ハードウェアおよびソフトウェアのさまざまなサービスから構成されています。これらのクラウド・サービスは、たとえば、バックアップやディザスターリカバリーなどの場合のように、補完的なリソースとしてそれぞれのサービスを組み合わせたり、またはスタンドアローン・プラットフォームとして使用したりすることができます。クラウド・コンピューティングには、オンデマンド・コンピューティングを可能にするという特徴があります。すなわち、サーバーまたはストレージなどのハードウェア・リソースさえも少しずつ使用量に応じて料金を支払うことができます。従来の契約においての一般的な月単位や年単位ではなく、オンデマンド・コンピューティングでは、通常、分単位または時間単位により使用量を計測することができます。
多くの点において、クラウド・コンピューティングで使用されている技術は、新しい技術というわけではありません。たとえば、ハードウェアの遠隔利用は、新しく開発された技術ではありません。クラウド・コンピューティングが類似したこれまでのサービスよりも注目されている要因として、需要の側面と技術の側面があります。需要の側面について言えば、多くのユーザー企業がクラウド・コンピューティングをオプションの一つとして考えています。これは、自社のデータ・センターの維持費が急激に増加しているためです。しかし、技術の向上、特に仮想化、分散コンピューティング、およびIT管理における技術進歩がこの需要と結びついたのです。
クラウド・コンピューティングの利用は急速に進んできました。主に個々の開発者や新規事業者で構成されたクラウド・コンピューティングの最初の技術革新の波が、最先端技術を積極的に採用する企業や場合によっては行政機関など初期導入者に押し寄せました。クラウド・コンピューティングを導入する理由はユーザーにより異なりますが、一般的には、費用、スピード、および柔軟性にあります。この点に関して、クラウド・コンピューティングの導入要因は、オープン・ソース技術の導入要因とよく似ています。
仮にそうだとすると、クラウド環境にLinuxが遍く存在することも予期できます。クラウド・コンピューティングにおいてLinuxがここまで注目されている理由を探るには、Linuxがクラウド・コンピューティングの土台として適している特性を調べる必要があります。クラウド・コンピューティングにおけるLinuxの幅広い利用は、クラウド環境を運用および操作する事業者だけでなく、その環境を利用するユーザーにもメリットがあります。

Linux:クラウド・コンピューティング向けの設計
Linuxはクラウド・コンピューティングを可能にする固有の技術を備えています。それらは、モジュール性、性能、電力効率、拡張性、オープン・ソース、およびユビキタス性です。さらに、世界最大のクラウド・インフラストラクチャが構築されているプラットフォームとして、Linuxは他のオペレーティング・システムとは異なり、クラウド・インフラストラクチャのコンポーネントとして、パブリックまたはプライベートかどうかに関わらず、さらなる証明の必要はありません。「皆様がGoogleを利用する場合は常に、Linuxカーネルが動作するマシンを使用しているのです。」とGoogleのChris DiBonaは述べています。 [1]
アーキテクチャ
Linuxカーネルは、他の汎用オペレーティング・システムでは見られない高いレベルのコンポーネント化を達成しています。Linuxカーネルは、ハンドセットからスーパーコンピュータまですべてに適用できるように設定可能であり、あらゆる形状およびサイズのコンピューティング環境に対して非常に高い適応力を持っています。「今日、Linuxは、世界中のどんなオペレーティング・システムよりもたくさんのハードウェア・デバイスをサポートしています。」 [2] このことは、異機種で構成されたコモディティ・ハードウェア、ネットワーク、およびストレージなどの環境で動作する必要のある、高度にカスタマイズされた、スケールアウト型クラウド・プラットフォームにおいて特に価値があります。さらに、クラウド・コンピューティングの提供者は、多くの場合、Linuxのソース・コードを修正できることの利点を生かし、特定のニーズやハードウェアに合うようカーネルの調整やカスタマイズを行います。
互換性
Linuxには、幅広いアプリケーションおよびISVのエコシステムがあります。Linux間の互換性を有し、認証を受けた数千ものアプリケーションが利用可能であり、ユーザーは特定の作業ニーズに合わせてこれらを利用できます。ローカルおよびデータ・センター用にLinuxを利用する顧客は、クラウドベースのシステムにまでこのメリットを広げることができます。
プラットフォーム提供者にとって、Linuxは当然の選択です。Webアーキテクチャ同様、クラウド・コンピューティング・プラットフォームは、多くの場合、他の多くのオープン・ソース・プロジェクトから構成されています。このプロジェクトには、データベースやファイル・システム、アプリケーションやWebサーバー、言語ランタイムなどがあります。品質、ユビキタス性、およびオープン・ソース性のメリットにより、Linuxは上述のあらゆる開発者が最初に選択する導入対象となります。その結果、クラウド・コンピューティングのベンダーには、Linuxプラットフォームのさまざまなアプリケーション・グループを使用できるメリットがあります。
Linuxを選択することは、アプリケーションの選択肢を保証することになります。
ライセンスのコスト
一部では、フリーという言葉を文字通り受け取り、Linuxは常に無料だと誤解されています。しかし現実には、圧倒的な数の企業および行政機関における運用では、商用ライセンスを購入し、サポートを受けています。しかし、クラウド・プラットフォームの提供者は、非商用ディストリビューションを利用することも選択肢とすることができ、これは魅力的かもしれません。数千または数万ものライセンスを受けたノードから構成されるクラウド・インフラストラクチャを構築することは、従来のサーバー単位またはソケット単位のライセンスのモデルでは非経済的なため、プラットフォーム提供者はこの方法を利用します。この安価な方法を利用することで、クラウド提供者は、節約した費用を顧客に還元することができます。
電力消費のコスト
ライセンスに関するメリットに加えて、Linuxは、クラウド提供者やクラウド利用者にとって費用効果の高いプラットフォームとなります。小規模で消費電力の影響を受けやすいデバイスを動作させるため、Linuxは、総消費電力の削減に関する研究から多くのメリットを受けています。たとえば、ティックレス・カーネル(tickless kernel)などのプロジェクトを通じ、競合他システムよりLinuxの電力消費効率をさらに高めるよう注意が払われています。クラウド・データ・センター内の節電効果と組み合わせると、Linuxによりクラウド利用者のソリューション費用全体を下げることができます。
管理性と人材配置
企業および行政機関では、リソースおよび人材の課題が、技術の導入や購入の重要な要因となっています。ある製品またはプロジェクトのメリットを評価するのに加えて、組織は既存のスキルセットをどのようにして新技術に展開するのかを検討する必要があります。そしてさらに、将来、これらの技術を雇用市場で求めることができるのかも検討する必要があります。幸いにして、Linuxの管理および開発は共通の技術のため、クラウド・プラットフォーム内の遍くLinuxがあることにより、クラウド・コンピューティング提供者は、システム管理者や開発者の再研修に費用をかけずにすみます。既存の人員の再利用に加えて、すでにLinuxを対象としている導入済みIT管理システムは、Linuxベースのクラウド・ノードにも適用することができます。
標準
クラウドを利用する可能性のある顧客に対するアナリストやアドバイザーが抱える多くの共通懸念の一つに、標準の欠如、および、そこから出てくるロックインの可能性があります。導入スピード、および柔軟性に関するメリットには、初期段階のクラウド・サービスや、パッケージ、ランタイム、およびバーチャル・イメージに関する共通の合意済みフォーマットの欠如から来るリスクがあります。しかし、顧客はLinuxをこのリスクに対する保険として利用することができます。結局のところ、クラウド環境でホストされたLinuxインスタンスとローカルあるいはデータ・センターでホストされたLinuxインスタンスとの違いは、技術的違いというよりも地理的な違いなのです。Linuxのワークロードを標準化することにより、顧客は、経済的側面および状況に応じて、ローカルまたはリモートで柔軟に運用することができます。
仮想化
多くのデータ・センターおよび企業において主要な技術である仮想化は、多くのクラウド・プラットフォームを実現するために重要な要因の一つです。つまり、仮想化には、基盤となるプラットフォームからオペレーティング・システムとアプリケーションのインスタンスを切り出す機能が含まれます。たとえば、これらの技術を使用して、Windowsのイメージまたはアプリケーションを切り出して、Linuxプラットフォーム上で動作させることができます。
Linuxユーザーは、仮想化を可能にするハイパーバイザーから、仮想化されたリソースの効率的な配置や適用を行う管理ツールまで、さまざまな仮想化技術を利用できます。仮想化されたインスタンスのホストとして、または、ゲストとして、Linuxは、安定したセキュアな仮想化オプションです。
「ライブ・マイグレーション」と呼ばれる機能と組み合わせることで、仮想化技術は、ローカル環境とクラウドベースのハードウェアの隔たりを埋めることができます。したがって、Linuxは、KVMまたはXenなどの技術を利用してホスト・オペレーティング・システムとして、または、ゲストとして同じように巧みに機能するため、最適なクラウド・プラットフォームとなります。

Linuxはクラウドの過去
根拠のない熱狂として名高いドットコム時代、クラウド・コンピューティングに向けた最初の実験的なステップを経験しました。コスト削減の必要性に迫られて、多くのWeb事業者が、サーバーやメインフレームなど、従来のスケールアップ型アーキテクチャを避け、Linuxカーネルが動作する一般的なハードウェアで構成される大規模なスケールアウト型アーキテクチャを選択しました。これにより、スケールアウト型アーキテクチャが広まりました。
本当の意味で、Linuxは新しいアーキテクチャとWeb指向ビジネスにおいて新しい時代へのきっかけとなりました。事実、Linuxのようないつでも利用可能なオープン・ソース・カーネル抜きには、クラウド・コンピューティングをイメージすることは困難です。Linuxなしでは、オンライン新規事業者の今日の繁栄は無かったと言えるでしょう。Windowsなど他の選択肢では、技術的にも経済的にも制約が多すぎたからです。Linuxは、成功した新規事業者およびその新規事業者の後に続いた人々の技術的基盤として機能し、まったく新しいクラスのビジネスを生み出すことを可能にしました。
Linuxはクラウドの現在
現在のクラウド・コンピューティング・ベンダーにおけるLinuxの優位は目を瞠るばかりです。ほとんど全てのクラウドプレーヤーは、Linuxを主な、あるいは、サポートできるシステムとして提供しており、採用はさらに急増しています。Googleが最近開始したApp EngineおよびAmazonのEC2は、Linuxカーネルを利用しています。また、10gen、3Tera、Media Temple、Mosso、およびZimoryなどのベンダーのクラウド製品もLinuxカーネルを利用しています。一部の提供者は、基盤となるオペレーティング環境を明示し(EC2など)、また他の提供者はそれを明示しない(App Engineなど)など、提供者はそれぞれ異なる手法を選択しています。
たとえば、クラウド製品の例では、商用LinuxディストリビューターのRed HatとAmazonが協力し、Red Hat Enterprise Linux、JBoss Enterprise Application Platform、Red Hat Enterprise MRG Grid & Amazon EC2 Execute Node on EC2などを含んでいます。EC2上で動作する他のLinuxディストリビューションには、Oracle Enterprise Linux、SUSE Enterprise Server、および最近ではUbuntu Server 9.10などがあります。
Linuxは、IBMとAmazonの協力製品でも基盤プラットフォームとして機能しています。IBMのDB2 Express-C 9.5、Informix Dynamic Server Developer Edition 11.5、WebSphere Portal Server、Lotus Web Content Management Standard Edition、およびWebSphere sMashは、EC2クラウドで使用することができる製品です。
しかし、明示的にまたは暗黙的に動作しているかどうかに関係なく、あるいは、注意深く見なければ見えないか、または最先端技術をアピールするかに関係なく、Linuxは、クラウド環境の大部分において主要な役割を担っています。
Linuxは、すでにクラウド・コンピューティングにおけるデファクト標準のオペレーティング・システムとなっていることは明確です。
Linuxはクラウドの未来
LinuxはWebビジネスの最初の世代の原動力となる中核コンポーネントでした。当初、これらのWebビジネスは、低価格で、柔軟性のあるソフトウェア・ソリューション抜きでは構築できませんでした。一方で、Windowsは、ライセンス・コストや技術的制約などの理由から主要な製品ではありませんでした。
GoogleやAmazonに象徴されるオンライン・ビジネスの第二の波は、消費者のデジタル・ライフにさらに深く押し寄せていき、複数のデバイスにおける動作、オフラインの間の処理、ブラウザ・インターフェースの改良、ユーザー選択による多様なサービス間のマッシュアップの利用などを実現し、最近気づかれ始めた無数の課題にまで及びます。現在、Linuxをベースとした柔軟性およびユーティリティ性により、クラウド・コンピューティングが世界中の企業、行政機関、および小規模なビジネスに取り込まれています。
大規模な環境でその価値を証明したことで、今日ではクラウド提供者およびその顧客によりLinuxが繰り返し選択されています。AmazonやGoogleなどの企業がこれまでオープン・ソースおよびLinuxから経済的メリットを受けたのに対して、次には、そのクラウドを利用する顧客が、大規模な提供者がもたらす規模の経済効果を受けることになります。規模の経済効果は、Linuxおよびクラウド・コンピューティングにより可能になります。
Linuxは、クラウド・プラットフォームが今後構築される基盤そのものなのです。
[1]
Q&A:
Google's
open-source balancing act,
http://news.cnet.com/8301-13580_3-9952719-39.html
[2]
The Linux Driver Model:
A
Better Way to Support Devices,
http://www.linuxfoundation.jp/collaborate/linuxdevicedriver

Linuxを使用しているクラウド・コンピューティングの例
|
Vendor |
Products |
URLs |
|
10gen |
Mongo |
|
|
3Tera |
AppLogic Cloud Computing Platform |
|
|
Amazon EC2 |
Amazon EC2, Amazon S3, Amazon SimpleDB |
|
|
Cassatt Corporation |
Cassatt Active Response |
|
|
CohesiveFT |
Elastic Server |
|
|
Dell DCS |
Cloud Computing Solutions |
|
|
Elastra |
Enterprise Cloud Server |
|
|
ElasticHosts Ltd. |
ElasticHosts |
|
|
EMC |
Mozy |
|
|
Enomaly |
Elastic Computing Platform |
|
|
Flexiscale |
Cloud Computing On-Demand |
|
|
|
Google Apps |
|
|
IBM |
Blue Cloud |
|
|
Media Temple |
{mt} |
|
|
Morph Labs |
Morph eXchange |
|
|
Mosso |
Cloud Sites, Cloud Files |
|
|
SalesForce.com |
Force.com Cloud Computing |
|
|
VMWare |
vCloud |
|
|
Zimory |
Public Cloud |