オープンソース・クラウドの徹底調査

IaaS の構成要素

クラウド・コンピューティングはもはや、これから成長を遂げようとしている技術ではなく、私たちがオンデマンド・アプリケーションを使用する方法と開発する方法を今まさに根本から変えている、価値ある重要な技術となっています。もちろん Linux およびオープンソースでも、クラウドの基盤を (公開インフラストラクチャーおよび専用インフラストラクチャーともに) 提供しています。この記事では、クラウドとそのアーキテクチャーの詳細を探り、この動的でスケーラブルなコンピューティング/ストレージ・プラットフォームを構築するために使用されているオープンソース技術について具体的に説明します。

2012年 6月 05日 ― 著者により、記事全体にわたって基本的な部分の更新が行われました。主な更新内容には、OpenStack に関する情報、ネストされた仮想化とそのクラウドにおける重要性、そして「参考文献」に追加された 3 項目などがあります。

M. Tim Jones, Independent author

M. Tim JonesM. Tim Jones は組み込みファームウェアのアーキテクトであり、『Artificial Intelligence: A Systems Approach』、『GNU/Linux Application Programming』、『AI Application Programming』、それに『BSD Sockets Programming from a Multilanguage Perspective』の著者でもあります。技術的な経歴は静止軌道衛星用のカーネル開発から、組み込みシステム・アーキテクチャーやネットワーク・プロトコル開発まで、広範にわたっています。また、コロラド州ロングモン所在の Emulex Corp. のシニア・エンジニアでもあります。



2012年 7月 05日 (初版 2010年 3月 09日)

このトピックに関するスキルを磨いてください

この記事は、皆さんのスキルを漸進的に磨いていくナレッジ・パスの一部となっています。「クラウド・コンピューティング: Infrastructure as a Service の紹介」を参照してください。

分散システム、つまりインターネットではごく一般的にクラウドを抽象化技術として使用しています。しかし、ここ数年の間、この抽象化は (ローカルで、あるいはリモートで、もしくはローカル・リソースとリモート・リソースの組み合わせで) サービスとして容易にプロビジョニングできる、極めてスケーラブルな仮想インフラストラクチャーを組み込むまでに拡大しています。この記事ではクラウド・アーキテクチャーの定義とその利点についての説明は差し控えます。これらの詳細については、一読する価値のある優れた資料を「参考文献」セクションに記載しているので、そちらを参照してください。

クラウド・コンピューティングの徹底調査

この記事ではまず、クラウド・アーキテクチャーの中核となる抽象化技術について (IaaS (Infrastructure as a Service) の観点から) 説明した後、インフラストラクチャーを構成する技術、さらにはより統合されたソリューションへと話を進めていきます。

よく使われる頭字語

  • API: Application Programming Interface
  • I/O: Input/Output
  • SLA: Service-Level Agreement
  • UI: User Interface

動的でスケーラブルなアーキテクチャーを構築する上で、仮想化は必須というわけではありませんが、他にはない独特の利点をもたらすことは確かです。仮想化はリソース共有やスケーラビリティーだけでなく、負荷分散を目的とした物理サーバー間での仮想マシン (VM) のマイグレーションを可能にします。図 1 に、ハイパーバイザー、または仮想マシン・モニター (VMM) とも呼ばれるソフトウェア層が提供する仮想コンポーネントを示します。この層により、単一の物理マシンで複数のオペレーティング・システム (およびそれぞれのアプリケーション) を同時に実行できるようになります。1 つひとつのオペレーティング・システムには、ハイパーバイザーによって物理マシンにマッピングされた論理マシンが表示されます。ハイパーバイザーの上にあるのが、オペレーティング・システム、アプリケーション、および構成をカプセル化する仮想マシンと呼ばれるオブジェクトです。さらにオプションで、デバイスのエミュレーションをハイパーバイザーで行うことも、または VM として提供することもできます。このような仮想化による新しい動的特性と、それによって提供される新しい機能には、新たな管理方式が必要となります。この場合に最適なのは層単位での管理です。つまり、サーバーでのローカル管理を考慮し、さらにその上位にあるインフラストラクチャーの管理を考慮して、仮想環境全体の調整を取るという方式です。

図 1. クラウド内の各ノードを構成するコア要素
クラウドのコア要素の階層を示すアーキテクチャー図

図 1 のノードを、共有ストレージを備えた物理ネットワークで何倍にも増やすとします。そしてインフラストラクチャー全体での管理を調整した上で、キャッシングとフィルタリングを使用して (専用設定または一般設定に関わらず) 着信接続の負荷分散をフロントエンドで行うとしたら、それがすなわち、クラウドと呼ばれる仮想インフラストラクチャーとなります。図 2 に、この新しい構造を示します。VM がノード全体での負荷に応じた負荷分散を行う (しかも動的に行う) ことにより、休止中のサーバーについては、さらなる計算処理を行う必要が出てくるまで電源を切った状態にしておくことができます (これにより、電力効率が向上します)。

図 2. クラウド・コンピューティングのインフラストラクチャー
物理ネットワーク/ストレージや、ユーザー/インターネットを含む、クラウド内のさまざまな層が相互作用する仕組みを示す図。

クラウドの基本アーキテクチャーの定義は以上のとおりです。次は、動的なクラウド・インフラストラクチャーを構築するためにオープンソースが適用されている場合について説明します。


中核となるオープンソース技術

現在、Linux の世界では、クラウド・ソフトウェア・パッケージの仮想化、管理、そして大規模な統合を目的とした仮想インフラストラクチャーの開発が盛んに行われています。まずは個々のノード・レベルでのオープンソース技術について見ていくことにし、それからインフラストラクチャーに視野を広げて現在の動向を探ることにします。

ハイパーバイザー

ノード・レベルでクラウドのベースとなるのはハイパーバイザーです。仮想化が必須というわけではありませんが、仮想化によってアーキテクチャーにスケーラビリティーと電力効率とがもたらされることは間違いありません。オープンソースの仮想化ソリューションはいくつもありますが、なかでも重要なのは、Linux オペレーティング・システムをハイパーバイザーに変身させる 2 つのソリューション、Linux KVM (Kernel Virtual Machine) と Lguest です。KVM は正式なハイパーバイザー・ソリューションとして本番環境にデプロイされます。Lguest は Linux に重点を置いたソリューションであり、実行するのは Linux VM だけですが、カーネルに統合されて広範に使用されています。また、Xen ハイパーバイザーもパフォーマンスが優れていることから、パブリックおよびプライベートの IaaS ソリューションの中で広く使用されています。

Linux をハイパーバイザーに変換するという手法の他に、ゲスト VM 中心の手法を採用しているソリューションもあります。UML (User-Mode Linux) は、(ハイパーバイザー拡張を使用していない) 別の Linux オペレーティング・システム上で稼働するようにゲスト Linux カーネルを変更するという手法です。しかし、ユーザーの多くはカーネルを変更せずにそのまま実行することを選ぶので、UML よりは完全仮想化ソリューション (KVM など) のほうが好まれます。

UML もよく使われていますが、この手法を使用する場合には、仮想ハードウェア (コンソール、仮想ディスク、ネットワーキングなど) が必要となります。

デバイスのエミュレーション

ハイパーバイザーは、CPU を複数のオペレーティング・システムで共有する手段となります (CPU 仮想化)。けれども完全仮想化を行うには、VM 用に環境全体を仮想化しなければなりません。マシン (またはプラットフォーム) のエミュレーションを行うにはいくつもの方法を使えますが、よく使用されていて、多数のハイパーバイザーをサポートしているのは QEMU というオープンソース・パッケージです。QEMU は完全なエミュレーター兼ハイパーバイザーですが、KVM はユーザー空間での独立したプロセスとしてデバイスのエミュレーションを行うために QEMU を利用します (図 1 を参照)。QEMU の興味深い特徴は、QEMU はディスクのエミュレーション (QCOW フォーマットを使用) を行うことから、スナップショットやライブ VM マイグレーションなどといったエミュレーション以外の高度な機能も提供することです。

KVM ではカーネル 2.6.25 以降、I/O 仮想化パフォーマンスを最適化する手段として virtio を採用しています。virtio による最適化の仕組みは、ゲストからの接続によって準仮想化ドライバーをハイパーバイザーに組み込み、パフォーマンスをネイティブに近いレベルにまで引き上げるというものです。この仕組みは、オペレーティング・システムをこの目的に合わせて変更することが可能でなければ機能しませんが、Linux ハイパーバイザーのシナリオでは Linux ゲストで使用されています。

現在、virtio と QEMU は連動するようになっているため、ユーザー空間の Linux ゲストと QEMU エミュレーターとの間でエミュレート対象のデバイス・トランザクションを最適化することができます。

仮想ネットワーキング

VM と物理サーバーが統合されると、プラットフォームでのネットワーキングのニーズは増大します。その一方、VM のネットワーキングをすべてプラットフォームの物理層に押し付けるのではなく、代わりにローカル通信自体を仮想化することも可能です。VM 間でのネットワーク通信を最適化するためには、vSwitch という仮想スイッチを導入するという方法があります。vSwitch は、物理スイッチのように振る舞うものの、図 3 のようにプラットフォームに仮想化されます。この図を見るとわかるように、VM に関連付けられた仮想インターフェース (VIF) は、仮想スイッチを介して物理インターフェース (PIF) と通信します。

図 3. Open vSwitch と仮想インターフェースおよび物理インターフェースの概要図
この図には、下から上へ順に、物理ドメイン、物理インターフェース、仮想インターフェース、VM が階層的に示されています。

オープンソースでも VM のネットワーキングのニーズに対処するために、Open vSwitch という非常に興味深いソリューションを使用しています。Open vSwitch は仮想環境での仮想スイッチとしての役割を果たすだけではありません。物理プラットフォーム全体を統合し、仮想ローカル・エリア・ネットワーク (VLAN)、優先度に基づくサービス品質 (QoS)、トランキング、ハードウェア加速化のサポート (シングル・ルート I/O 仮想化 (IOV) ネットワーク・アダプターなど) といったエンタープライズ・レベルの機能を提供することもできます。現在 2.6.15 カーネルで使用可能になっている Open vSwitch は、Linux ベースの仮想化ソリューション (Xen、KVM、VirtualBox) および管理標準 (RSPAN (Remote Switched Port Analyzer)、NetFlow など) をサポートします。

VM のツールと技術

VM はオペレーティング・システム、ルート・ファイルシステム、そして構成をまとめて集約したものであることから、ツールを開発するにはうってつけの場所です。けれども VM とツールの十分な潜在能力を実現するためには、VM およびツールを移植できるようにアセンブルしなければなりません。OVF (Open Virtualization Format) と呼ばれる現在の手法は、柔軟性と効率性に優れ、移植可能な VM 構成フォーマットです。OVF は仮想ディスク・イメージを、VM の構成を定義する XML ラッパーでラップします。XML ラッパーが定義する構成情報には、ネットワーク構成、プロセッサーおよびメモリーの要件だけでなく、イメージとそのプラットフォームのニーズをさらに詳しく定義するための各種の拡張可能なメタデータも含まれます。OVF によってもたらされる主な特徴に、ハイパーバイザーに依存しないように VM を分散するための移植性があります。

VM イメージ (VMI) を管理するためのユーティリティーや、VMI と他のフォーマットとの間での変換を行うためのユーティリティーは数多くあります。例えば VMware の ovftool は、VMI の変換 (例えば、VMDK (VMware Virtual Disk Development Kit) フォーマットから OVF への変換) に使用できる便利なツールです。このツールや他のツールは、すでにVMI が存在する場合に役立ちますが、これから VMI に変換しようとしている物理サーバーについてはどうでしょうか。その場合には、Clonezilla というツールが活躍します。このツールは元々、災害時の復旧を目的としたディスク複製ツールとして開発されたものですが、仮想インフラストラクチャーへのデプロイを容易にするために物理サーバーのインスタンスを VM に変換するという場合にも使用することができます。OVF フォーマットの採用が進むなか、開発中のツールも含め、OVF を対象とした変換および管理用のツールは他にも多数あります (libvirtをベースに作成されたユーティリティーなど)。

ローカル管理

この記事では管理について、2 つの観点から見ていきます。このセクションではプラットフォームの管理を取り上げ、後のセクションで、プラットフォームの上位レベルにあるインフラストラクチャーの管理に話題を展開します。

Red Hat では、プラットフォーム仮想化 (ハイパーバイザーおよび VM) を管理する API として libvirt ライブラリーを発表しました。libvirt の興味深い点は、数々のハイパーバイザー・ソリューション (そのうちの 2 つは KVM と Xen ) をサポートし、多数の言語 (C、Python、Ruby など) の API バインディングを提供していることです。libvirt は管理の「ラスト・マイル」を提供し、プラットフォームのハイパーバイザーと直接インターフェースを取って、API をさらに大きなインフラストラクチャー管理ソリューションに拡大します。libvirt は VM の起動および停止を容易にするだけでなく、プラットフォーム間での VM のマイグレーションなどといった、より高度な操作のための API を提供します。libvirt を使用することで、virsh と呼ばれる (libvirt をベースに作成された) シェルも使用できるようになります。


インフラストラクチャーのオープンソース技術

仮想ノード・レベルでのオープン・ソリューションをいくつか説明したところで、今度はこのインフラストラクチャーをサポートする他のオープンソース・アプリケーションに目を向けたいと思います。この記事では 3 つのカテゴリーを検討します。最初の 2 つは、前述のソリューションを補完するインフラストラクチャー・レベルの技術です。続いて 3 番目のカテゴリーとして、すべての要素をまとめて簡単にデプロイできる統合ソリューションを検討します。

I/O 技術

スケーラブルで負荷分散が行われた Web アーキテクチャーを構築するには、バックエンドの機能を実装するサーバー間で Web トラフィックの負荷を分散することが不可欠です。負荷分散ソリューションは多数存在しますが、最近、Yahoo! が Traffic Server というソリューションをオープンソースとして公開しました。Traffic Server の面白いところは、クラウド・インフラストラクチャーを対象に、セッション管理から認証、フィルタリング、負荷分散、そしてルーティングに至るまでの多数の機能が含まれている点です。この製品は当初、Yahoo! が Inktomi から買収したものですが、現在は Yahoo! によって拡張され、オープンソースとして公開されています。

インフラストラクチャーの管理

大規模なインフラストラクチャーを管理 (多くのハイパーバイザーだけでなく、さらに多数の VM を管理) するには、いくつかの方法があります。最もよく使われている 2 つのソリューションは、いずれも同じプラットフォーム (libvirt) から作成されています。そのうちの 1 つは、oVirt パッケージです。このオープンソースの VM管理ツールは、少数の VM から、数百のホスト上で稼働する何千もの VM にまで拡張することができます。Red Hat によって開発された oVirt パッケージは、Web ベースの管理コンソールであり、従来の管理に加え、クラスタリングと負荷分散の自動化をサポートします。oVirt ツールは Python 言語で作成されています。よく使用されているもう一方のツールは、VirtManager です。これも同じく libvirt をベースに Red Hat によって開発されましたが、oVirt のように Web ベースのアプリケーションではなく、GTK+ UI を使用したアプリケーションとなっています。VirtManager の表示 (ライブ・パフォーマンスとリソース使用状況の表示) は、グラフィックに関して遥かに充実しており、リモート VM の完全グラフィック・コンソールとして VNC クライアント・ビューアーが組み込まれています。

データ・センター・インフラストラクチャー (クラウド) 用に設計されたオープンソースのパッケージには、Puppet もあります。仮想インフラストラクチャー専用に設定されているわけではありませんが、対応するオペレーティング・システムの詳細を抽象化することによって、大規模なインフラストラクチャーの管理を単純化します。その手段としては、Puppet 言語を使用します。Puppet は多数のサーバーでの管理タスクを自動化するには理想的なパッケージであることから、現在広範に使用されています。


統合 IaaS ソリューション

以下に紹介するオープンソース・パッケージは、仮想化、管理、インターフェース、そしてセキュリティーなどの必要な機能を 1 つのパッケージに統合し、より総体的な手法を取っています。これらのパッケージをサーバーのネットワークとストレージに追加することで、柔軟なクラウド・コンピューティングおよびストレージ・インフラストラクチャー (IaaS) が実現します。それぞれのプラットフォームについての詳細は、「参考文献」を参照してください。

Eucalyptus

クラウド・コンピューティングのインフラストラクチャーを作成するために最もよく使用されているオープンソースのパッケージとしては、Eucalyptus (Elastic Utility Computing Architecture for Linking Your Programs to Useful Systems の略) が挙げられます。Eucalyptus が他と一線を画している点は、そのインターフェースが Amazon のクラウド・コンピューティング・インターフェースである Amazon EC2 (Amazon Elastic Compute Cloud) と互換性があることです。さらに Eucalyptus には、Amazon のクラウド・ストレージ・インターフェースである Amazon S3 (Amazon Simple Storage Service) と互換性を持つクラウド・アプリケーション、Walrus も組み込まれています。

Eucalyptus がハイパーバイザーとしてサポートしているのは、KVM/Linux および Xen です。また、クラスター管理用に Rocks クラスター・ディストリビューションが含まれています。

OpenNebula

Universidad Complutense de Madrid で開発された OpenNebula もまた、興味深い (Apache ライセンスが適用された) オープンソースのアプリケーションです。OpenNebula はプライベート・クラウド構成をサポートする他、ハイブリッド・クラウドの概念もサポートします。ハイブリッド・クラウドではプライベート・クラウド・インフラストラクチャーとパブリック・クラウド・インフラストラクチャー (Amazon など) を組み合わせられるため、さらに高度なスケーリングが可能になります。

OpenNebula は Xen、KVM/Linux、および VMware をサポートし、libvirt などの要素に依存して管理およびイントロスペクションを行います。

Nimbus

Nimbus は科学計算に重点を置く IaaS ソリューションです。Nimbus では、リモート・リソース (例えば、Amazon EC2 によって提供されるリソース) を借りて、ローカルで管理することができます (構成、VM のデプロイメント、監視など)。Nimbus は Workspace Serviceプロジェクト (Globus.org の一部) から派生しました。Amazon EC2 に依存する Nimbus は、Xen および KVM/Linux をサポートします。

Xen Cloud Platform

Citrix は Xen を IaaS プラットフォームに統合し、Open vSwitch などの他のオープンソース機能を統合する一方、Xen をハイパーバイザーとして使用します。Xen ソリューションの興味深い利点は、その焦点が Kensho プロジェクトによる標準ベースの管理 (OVF、DTMF (Distributed Management Task Force)、CIM (Common Information Model)、VMAN (Virtualization Management Initiative) など) に置かれていることです。Xen 管理スタックは、SLA 保証と併せ、返金目的の詳細なメトリックをサポートします。

OpenQRM

データ・センター管理プラットフォームとして分類される OpenQRM では、サード・パーティー製ツールの統合を許容するプラガブルなアーキテクチャーを持つ仮想データ・センター全体を、単一のコンソールで管理することができます。OpenQRM は (冗長性による) 高可用性のサポートを統合し、KVM/Linux、Xen、VMware、Linux VServer などの多種多様なハイパーバイザーをサポートします。

OpenStack

現在 IaaS ソリューションの中心的な存在となっている OpenStack は、2010年 7月にリリースされると、たちまち標準的なオープンソース IaaS ソリューションとなりました。OpenStack は RackSpace Hosting (Cloud Files) と NASA の Nebula プラットフォームという 2 つのクラウド・イニシアティブが組み合わせられたもので、Python 言語で開発されており、Apache ライセンスの下で活発に開発が行われています。

図 4 に、計算およびストレージ用の一連のサーバーを管理するためのモジュール・アーキテクチャーとしての OpenStack を示します。OpenStack は 3 つの主要なコンポーネントによって定義され、Nova (計算処理を行います)、Swift (オブジェクト・ストレージを扱います)、Glance (イメージ・サービスを実装します) で構成されます。KVM、LXC (Linux Containers)、QEMU、UML、Xen、XenServer をはじめとする広範なハイパーバイザーをサポートしている OpenStack は、現在クラウド・インフラストラクチャーのオープン・スタンダード化の原動力となっており、その結果として急速に広く利用されるようになってきています。

図 4. OpenStack のモジュール・アーキテクチャー
API サーバーがフロントエンドにあり、それに続いてクラウド・コントローラー、そして計算処理用、ネットワーク用、ストレージ用の分散リソースで構成された OpenStack アーキテクチャーの図

ネストされたハイパーバイザー

仮想化とオープンソースのなかで生じている最も興味深い進化のひとつが、ハイパーバイザー上に別のハイパーバイザーをホストできる機能です (「ネスト」と呼ばれる概念を使用しています)。図 1 で、ハイパーバイザーの典型的な使用モデルは、ゲスト仮想マシンに対する物理プラットフォームの抽象化としてハイパーバイザーを使用するモデルであったことを思い出してください。ネストの概念を使用した場合、ホスト・ハイパーバイザーが提供するのは、(標準的なケースとしての) 仮想マシンに対するベース・レベルの抽象化か、それにゲスト・ハイパーバイザーに対するベース・レベルの抽象化も加えたもののいずれかになります (図 5 を参照)。

図 5. 便利な抽象化であるネスト・ハイパーバイザー
物理マシンに対する抽象化としてホスト・ハイパーバイザーがあり、互いに互換性のない仮想マシン用のゲスト・ハイパーバイザーと仮想マシンの両方をサポートしている階層構造の図

ネストは奇妙な使用モデルのように見えるかもしれませんが、ネストをクラウド・コンピューティングに適用する場合を考えてみてください。クラウドでは一般に、仮想マシンは選択したハイパーバイザーに対応していなければなりません。しかし、そのハイパーバイザーがネストをサポートしていれば、ユーザーはそのハイパーバイザーに対応した仮想マシンだけでなく、選択したゲスト・ハイパーバイザーに対応した仮想マシンを使用できるようになります。これにより、ユーザーにはさらなる抽象化が提供されるため、クラウドに移植性がもたらされます (つまりクラウド・プロバイダーを容易に切り替えられるようになります)。

現在、KVM ハイパーバイザーではネスト仮想化をサポートしています。AMD サーバーでネスト仮想化を実際に行う方法については、「参考文献」を調べてください。


さらに詳しく調べてください

クラウドと仮想ドメインでオープンソースが果たしているリーダー的役割については何巻もの本が書けるほどですが、この記事では、現在よく使用されているソリューションをいくつか簡単に紹介しました。独自の要件を基に個々の部品からクラウドを構築しようとしているのか、あるいはそのまま使用できる状態で提供される包括的なソリューションを求めているのかに関わらず、オープンソースはその必要を満たします。この記事で説明したソリューションやその他のソリューションについての詳細は、「参考文献」セクションを参照してください。

参考文献

学ぶために

  • OpenStack は NASA と Rackspace のソリューションが組み合わせられてオープンソースとしてリリースされた最新の IaaS ソリューションです。OpenStack は計算用とストレージ用のクラウド・オペレーティング・システムを実装しており、仮想マシン用のイメージ・サービスも提供しています。
  • IBM Research Haifa と IBM Linux Technology Centerによって書かれた論文「The Turtles Project: Design and Implementation of Nested Virtualization」では、ネスト仮想化に関する Turtles プロジェクトについて詳しく説明しています。また、ホスト・ハイパーバイザー上でゲスト・ハイパーバイザーをネストすることで、さらに有用なレベルの抽象化を作成するという概念を紹介しています。
  • Nested Virtualization with KVM and AMD」は、KVM と AMD サーバーを使用したネスト仮想化について有用なデモンストレーションを行っています。ネスト仮想化の概念に関する作業は、確かにまだ現在進行中ですが、進化している有用な技術です。
  • Michael Galpin が「オープンソース・クラウド・コンピューティングの実態: 第 1 回 すべてのクラウドが同じというわけではありません」で、クラウド・コンピューティングの概要、その利点と問題についてわかりやすく説明するとともに、現在使用できる基本的なプラットフォームおよび特殊化されたプラットフォームのいくつかを検討しています。
  • Linux ハイパーバイザーの徹底調査」では、ハイパーバイザーとしての Linux について詳しく説明しています。仮想アプライアンスと OVF の使用方法についての詳細は、「Virtual appliances and the Open Virtualization Format」を参照してください。
  • カーネル仮想マシンは、Linux ベースの初のハイパーバイザーとして登場しました。そのアーキテクチャーについての詳細は、「Linux カーネル仮想マシンを探る」を読んでください。カーネル仮想マシンが登場してまもなくしてカーネルに参加した Lguest は、より軽量な手法を取っています (ソース・コードに追加するのはわずか 5000 行です)。ハイパーバイザーの代替手段として説明した User-Mode Linux は、標準カーネルで稼働するように変更されたゲストです。Xen は、大規模なクラウド・インフラストラクチャー (例えば、Amazon's Elastic Compute Cloud など) のいくつかで使用されている人気のハイパーバイザーで、完全仮想化と準仮想化の両方をサポートします。
  • QEMU についての詳細は、「QEMU によるシステムのエミュレーション」を読んでください。デバイスのエミュレーションと仮想 I/O については、「Linux の仮想化と PCI パススルー」、「virtio: Linux の I/O 仮想化フレームワーク」も参考になります。
  • Open vSwitch は、主要なすべてのハイパーバイザー (KVM、Xen、VirtualBox) で使用することができます。Open vSwitch の設計とその用途については、最新のネットワーク・ニュース記事「Extending Networking into the Virtualization Layer (PDF 版)」で詳しく説明しています。
  • Yahoo! は、その Traffic Server ソフトウェアを Apache Software Foundation でオープンソースとして公開しました。Yahoo! が社内で使用しているこのソフトウェアは、クラウド・コンピューティング・インフラストラクチャーのフロントエンドを提供します。Traffic Server は、大規模な Web 2.0 インフラストラクチャーでの負荷分散、セッション管理、認証、構成管理、およびルーティングをまとめて 1 つにパッケージ化しています。Yahoo! の発表、および Traffic Server のウィキで詳細を調べてください。
  • KVM ベースの VM を作成する詳細な手順については、「KVM ベースの仮想サーバーを作成する」で説明しています。
  • VM ツールは成長し続けていますが、現時点でもこのツールを使い始めることはできます。「Clonezilla を使って仮想 Linux 環境に移行する」では、物理インスタンスから VM を作成するために使用できる Clonezilla について説明しています。また、VM の変換に役立つツールには、VMware の ovftool もあります。
  • この記事では、いくつかの異なる仮想インフラストラクチャー管理アプリケーションについて検討しました。そのうちの 2 つは、libvirt 仮想化 API がベースとなっています。libvirt については「libvirt 仮想化ライブラリーの徹底調査」で詳しく説明しています。さらに包括的な管理ソリューションについて詳しく学ぶには、oVirtVirtual Machine Manager (virt-manager)、および Puppetを調べてください。
  • developerWorks podcasts ではソフトウェア開発者のための興味深いインタビューや議論を聞くことができます。
  • developerWorks の Technical events and webcasts で最新情報を入手してください。
  • Twitter で developerWorks をフォローしてください。
  • 世界中で近日中に予定されている IBM オープンソース開発者を対象とした会議、見本市、ウェブキャストやその他のイベントをチェックしてください。
  • オープンソース技術を使用して開発し、IBM の製品と併用するときに役立つ広範囲のハウツー情報、ツール、およびプロジェクト・アップデートについては、developerWorks Open source ゾーンを参照してください。
  • My developerWorks コミュニティーは、多種多様なトピックを網羅した全般的コミュニティーの成功例です。
  • 無料の developerWorks On demand demos で、IBM およびオープンソースの技術と製品機能を調べて試してみてください。

製品や技術を入手するために

議論するために

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Open source, Cloud computing
ArticleID=480431
ArticleTitle=オープンソース・クラウドの徹底調査
publish-date=07052012