IBM のオープン・クラウド・アーキテクチャー

クラウド・コンピューティングは、ビジネスと社会の流れを変えることにより、大きなイノベーションの道を切り開いています。今や開発者たちは、Systems of Record (基幹システム) と Systems of Engagement (人と関わりあうシステム) を結合しているなか、クラウドをベースとした新しいスタイルのアプリケーションが生まれています。それは、Systems of Interaction (相互に作用するシステム) です。これらのアプリケーションを持続可能なものにするには、オープンソースとオープン・スタンダードをベースにクラウド・コンピューティングを構築する必要があります。この記事は、そのための基礎知識を提供します。

Angel Diaz, Vice President, Software Standards and Cloud Labs, IBM

Angel Diaz author photo

Dr. Angel Diaz は、IBM Software Standards and Cloud Labs の統括責任者です。2009年から、チームのソフトウェアによる仕事の進め方の転換を主導し、標準とオープンソースに基づく相互運用性と移植性による新しい価値を追求してきました。2013年には、IBM Cloud Labs が Dr. Diaz の組織に加わりました。彼の指揮の下、ラボはクラウド環境を最適化し、エキスパートならではのソリューションで最も複雑な問題に対処することにより、常にお客様に直接的な価値を提供しています。お客様の環境のイノベーションに関わっていないときには、Cloud Labs はクラウドに相互運用性と効率性をもたらすテクノロジーを使用して、IBM の幅広いクラウド・オファリング全体で機能の強化に取り組んでいます。

現在の職務に就く前は、WebSphere Business Process Management and Connectivity の統括責任者を務め、この事業部門の成長を着実に育んで IBM のミドルウェア・フットプリントを拡大しました。これまでに務めた指導的役割には、WebSphere Business Process 開発主任、Web Services Product Manager もあります。後者では、さまざまな IBM ソフトウェア製品オファリングを担当しました。

IBM Software Group に加わる前は、IBM の研究スタッフ・メンバーおよびシニア・マネージャーを経験し、XML や Web サービスなどのテクノロジーを使用した各種のプロジェクトを先導しました。1998年に最初の XML 標準である World Wide Web Consortium’s (W3C) Mathematical Markup Language (MathML) の共同議長兼共著者を務めた後、その他多種多様な W3C の活動に参加しました。2002年には、OASIS (Organization for the Advancement of Structured Information Standards) と共同で最初の 2 つの Web サービス標準を提案します。それが、Web Services For Remote Portals (WSRP) と OASIS Web Services For Interactive Applications (WSIA) です。その結果、Dr. Diaz は、将来の OASIS の取り組みについて技術的な方向性を定める OASIS Technical Advisory Board のメンバーに指名されました。

彼はレンセラー工科大学でコンピューター・サイエンス (分散コンピューティング、プログラミング言語、およびコンピューター代数) の博士号を取得しました。



Chris Ferris, CTO Cloud Interoperability, Software Group Standards Strategy, IBM

author photo - chris ferrisIBM Distinguished Engineer の肩書きを持つ Chris Ferris は、Software Group Standards Strategy 組織のクラウド相互運用性の CTO を務めています。IT での 30 年を超えるキャリアのほとんどは、分散システムのアーキテクチャー、設計、エンジニアリングに関係し、1999年からは積極的にオープン・スタンダードの開発に携わっています。彼は現在、IBM を代表する技術者として OpenStack コミュニティーに参加しており、クラウド関連のいくつものオープン・イニシアチブにおいて技術的リーダーシップを発揮しています。



2013年 9月 26日

はじめに

developerWorks Labs で時代の先を行く

developerWorks Labs にアクセスして、IBM のオープン・クラウド・アーキテクチャーをベースとした画期的なテクノロジーを体験してください。ここでは IBM BlueMix やプロジェクト Icap の他、さまざまな新しいテクノロジー・プレビューの導入方法を学ぶことができます。

テクノロジーに関する私たちの考え方を変えているクラウド・コンピューティングは、一時的な流行ではありません。コンシューマーはクラウドを使用して音楽を保管するようになっています。新興企業はクラウドに移行して、大きな資金を投じることなく事業を立ち上げるようになっています。大企業や政府も、アクセス可能なデータを増やすためにクラウドを利用しているのが現状です。このようにビジネスと社会の流れを変えているクラウド・コンピューティングは、大きなイノベーションの道を切り開いています。IBM では、開発者たちが Systems of Record (基幹システム) と Systems of Engagement (人と関わりあうシステム) を現在どのように結合しているかを調査していますが、それによって見えてくるのは、クラウドをベースとした新しいスタイルのアプリケーションの出現です。それは、Systems of Interaction (相互に作用するシステム) です。

これらのアプリケーションを持続可能なものにするには、オープンソースとオープン・スタンダードをベースにクラウド・コンピューティングを構築する必要があります。オープンソース・ソフトウェアとオープン・スタンダードが広く採用されることは、誰もが望んでいることのはずです。それは、顧客がベンダー・ロックインを恐れる必要がなくなり、多種多様なクラウド・テクノロジーとサービス・プロバイダーを歓迎する成長市場に組織が参加できることを意味します。

IBM が経験を通じて学んだことは、オープンソースとオープン・スタンダードを使用すれば、開発者は情報をより迅速かつ容易に、しかも低コストで共有できるようになることです。そうなれば、さらに大きなイノベーションへとつながります。今、私たちは転換点を迎えているところです。業界の焦点は相互運用性を目的とした重要な標準に置かれています。これらの標準のオープンソースのリファレンス実装は、次のような結果をもたらすでしょう。

  • クラウド・コンピューティング・パラダイムの確立と採用に関して、エンド・ユーザーが大きな発言権を持つようになります。
  • クラウド・コンピューティングに移行する際の開発スキルや選択の自由などに関する障壁が減ります。
  • 現在のクラウドに対する投資が長期にわたり継続する可能性が高まります。
  • アーキテクチャーが不必要に複雑になったり、フラグメント化されたりすることがなくなります。

IBM のオープン・クラウド・アーキテクチャー

2013年 3月に開催された IBM Pulse において、IBM はオープン・クラウド・アーキテクチャーを発表し、IBM SmarterCloud Orchestrator を筆頭に IBM のすべてのクラウド・オファリングのベースを OpenStack にするという計画を明らかにしました。この発表は、OpenStack との製品統合に 1 年分相当の投資を行ったこと、さらには企業とクラウド・サービス・プロバイダーの要件を満たせるように OpenStack を改善するための支援をするという形で、OpenStack コミュニティーへの多大な貢献を行ったことの集大成でもありました。これらのオファリングの導入状況からは、IBM の取り組みも、活気のある OpenStack コミュニティー全体での取り組みも成功を収めていることを見て取れます。

OpenStack の進化

OpenStack はどこまで進化したのか、そして企業ではどのように利用されているのかを感覚的につかむには、SlideShare および YouTube といったチャネルで OpenStack に関する情報にアクセスしてください。

189 を超える組織と 9,100 人を超える個人が参加する OpenStack は、現時点で世界最大の活発なオープンソース・クラウド・プロジェクト・コミュニティーとなっています。開発者とクラウド・コンピューティング技術者によるこの壮大な世界規模のコラボレーションでは、パブリック・クラウドとプライベート・クラウドのためのユビキタスな IaaS (Infrastructure as a Service) オープンソース・クラウド・コンピューティング・プラットフォームの作成に取り組んでいます。

IBMは、OpenStack コミュニティーの極めてアクティブなメンバーであること、そして最新リリースである Grizzly に反映されているコミュニティーによる多数の成果を誇りに思っています。OpenStack は今や、極めて優れた移植性および相互運用性を IaaS アプリケーションに提供できるようになっています。


スタックの上層部について

前のセクションでは IBM と OpenStack との関わりを説明しましたが、IBM が重点を置いてきたのは OpenStack だけではありません。IBM のオープン・クラウド・アーキテクチャーは、IaaS から PaaS、そして SaaS に至るまでのスタック全体に及びます。OpenStack に関するあらゆる取り組みに加え、IBM はこのオープン・クラウド・アーキテクチャーに関連するさまざまなテクノロジーの調査という点でも熱心に取り組んできました。特に、PaaS 層および SaaS 層では、Systems of Engagement (人と関わりあうシステム)、Systems of Record (基幹システム)、そして Internet of Things (モノのインターネット) を組み合わせて、IBM が Systems of Interaction (相互に作用するシステム) と称しているものの実現に取り組んできました。IBM ではこれらの調査をまとめて BlueMix と呼んでいます。BlueMix については、この後でもう少し説明しますが、その前に IBM のオープン・クラウド・アーキテクチャーについて理解を深めておきたいと思います。

最近の事業には、モバイル、ソーシャル、ビッグ・データ、およびアナリティクスに関する機能をベースに新しいビジネス価値を生み出すように、かなりのプレッシャーがかけられています。こうした要求に応える新しいアプリケーションの開発は、高度に反復型の新たな開発モデルが登場したことによって加速されています。この開発モデルでは、ソリューションを迅速に提供するために、サービス合成、オープン・アーキテクチャー、オープンソース・コンポーネント、多言語プログラミング・モデルが用いられます。この新しいスタイルのアプリケーションを実現する上では、特に DevOps とクラウド・ベースの PaaS オファリング (Heroku、Cloud Foundry、OpenShift など) という 2 つのトレンドが重要な役割を果たします。DevOps によって、顧客は、アジャイルかつインクリメンタルな反復型の手法でビジネス成果を実現できるようになり、通常はアプリケーションがデリバリーされるまでに数ヶ月や数年かかるところを、数日または数週間でデリバリーまで行うことができます。さらに、このような開発効率を実現するために、PaaS テクノロジーが進化して、クラウドでホストされている実質的なミドルウェア・コンポーネントを開発者が短時間 (秒単位) でアセンブルできるようになっています。

マルチテナント型のエラスティックな (「クラウド・ネイティブな」) ソフトウェア・サービスは、このような開発スタイルを促進する原因となっています。この 10 年で API エコノミーは進化して成熟してきました。それを実証するのが、ProgrammableWeb などのサイトでクラウド・ベースの開発者に用意されている 10,000 を超えるサービスです。特にモバイル、ソーシャル、アナリティクスの分野における IBM のソフトウェア・ベースのサービスの奥深さと幅広さを考えると、このように開発者がボタンをクリックするだけでアクセスできる実装を提供することが不可欠となっています。

この新しいスタイルの開発と運用に伴うさまざまな側面をカバーしようとする「プロプライエタリー」オファリングが数多く存在するのは確かですが、その一方で「オープン」オファリングが顧客に真の価値をもたらし、開発者もオープン・オファリングを採用する傾向にあるのも事実です。


「オープン」が意味すること

では、「オープン」とは何を意味するのかと言うと、その意味は 1 つだけではありません。

「オープン」という言葉が持つ意味の 1 つは、OpenStack などのオープンソース・ソフトウェア (OSS) であるという意味か、Linux、Apache、Eclipse Foundation でホストされている数多くのプロジェクトのいずれかであるという意味か、あるいは単純にGithub でホストされている OSS であるという意味があります。当然、すべての OSS が同じように作成されているわけではありませんが、重要な点は、OSS コンポーネントには適切なオープン・ライセンス (Apache、Eclipse、MIT など) が使用されていること、そして OSS コンポーネントは、誰のものでも、どこからのものでも、偏見なしにコントリビューションおよびイノベーションを歓迎するオープン・ガバナンス・モデルであることです。それはまた、十分なドキュメントが作成されていて比較的安定している API という手段によって、OSS コンポーネントを容易に拡張できることや、OSS コンポーネントを利用するのも統合するのも容易であることを意味しているか、あるいは、さまざまなプラグインやドライバーを使用できるプラガブル・アーキテクチャーを提供していることを意味しています。

「オープン」という言葉が持つもう 1 つの意味は、W3C、IETF、OASIS、OMG による標準をはじめ、相互運用性に関するオープン・スタンダードの実装であるという意味です。もちろん、標準にはデファクト・スタンダードという形もあります。デファクト・スタンダードは、プロプライエタリー・ソリューションであるかオープン・ソリューションであるかに関わらず、特定のソリューションを市場が支持しているという理由で確立されるのが通常です。理想的には、「オープン」であるには、一部の関係者の管理下にある (そして一部の関係者に利益がもたらされる傾向のある) プロプライエタリーなデファクト・スタンダードは避けるべきです。

オープンソースとオープン・スタンダードの間には、徐々に共生関係が生まれてきています。例えば、新しいオープン・スタンダードの提唱者たちは、オープン・スタンダードのリファレンス実装を提供する手段として、オープンソースを利用するのが通常です。オープン・スタンダードの採用を促す便利な手段を提供する場合も、同様にオープンソースを利用します。また、オープンソース・プロジェクトを開発するコミュニティーでは、プロジェクトの API やプロトコルが安定していると感じると、これらを正式にドキュメント化するというのも、共生関係の一例です。


IBM のオープン・クラウド・アーキテクチャー

IBM のオープン・クラウド・アーキテクチャーに話を戻すと、この「IBM のオープン・クラウド・アーキテクチャー」という言葉は何を意味しているのでしょう?大まかに言うと、それは、このクラウド・アーキテクチャーが完全にオープンソース・コンポーネントの構成に基づいていること、そして可能な場合にはお客様に相互運用性と価値の両方をもたらすオープン・スタンダードのフォーマット、API、プロトコルを実装することを意味しています。このオープン・アーキテクチャーには IBM にとっても、IBM のお客様にとっても数々のメリットがあります。IBM にとっては、OpenStack などのオープンソース・コミュニティーで目にするような比類なきイノベーションによってもたらされるメリットや、これらのオープンソースおよびオープン・スタンダード・イニシアチブから成長する ISV (独立系ソフトウェア・ベンダー) パートナーの活発なエコシステムによってもたらされるメリットがあります。IBM のお客様にとっては、オープンソースおよびオープン・スタンダードの API を活用できることでもたらされるメリットと、これらの API を (IBM が選んだ活発なオープンソース・エコシステムを利用する) サード・パーティーによる機能か、お客様独自のイノベーションおよび拡張機能のいずれかで拡張できることによってもたらされるメリットがあります。

IBM のクラウド・ポートフォリオで一貫して同じオープン・クラウド・アーキテクチャーとテクノロジーを使用して、プライベート・クラウド・ソリューション、パブリック・クラウド・ソリューション、およびハイブリッド・クラウド・ソリューションに対処することにより、IBM には、これらの各種オファリング間でのワークロードの相互運用性と移植性によるメリットのみならず、機能の相互運用性と移植性によるメリットももたらされます。これらは、IBM のお客様に対してもメリットをもたらします。

実際、オープン・スタンダード・ベースのクラウド・コンピューティングを選択するお客様は、新しい好機を活かすための正しい道を進んでいると言えます。その好機とは、価値の高いビジネス・アナリティクスで相互接続されたデータを、昔から使われている機器でもモバイル機器でも、利用できるようにすることです。


オープン・クラウド・アーキテクチャーに対する IBM の取り組み

オープン・クラウド・アーキテクチャーを実現させるために、IBM はオープン・スタンダードのサポートおよび妥当性検証における経験を活かしています。Linux から Eclipse、Apache、そしてクラウド・コンピューティングに至るまで、IBM はオープンソース・コミュニティーとの緊密な連携を継続しています。オープン・クラウド・アーキテクチャーを現実のものにするために IBM が行った取り組みには以下のものがあります。

  • Cloud Standards Customer Council (CSCC) を結成。そのメンバー数は、発足時の 50 から 400 にまで増えています。
  • CSCC に関連するクラウドの標準として、Open Service for Lifecycle Collaboration、W3C の Linked Data、OASIS の TOSCA などを推進し、クラウド・アプリケーションの移植性を強化。
  • 500 人を超える開発者をオープン・クラウド・プロジェクトの専任に指名。
  • OpenStack Foundation、世界 87 ヶ国 9,100 の OpenStack Foundation メンバー、および 189 の企業スポンサーと緊密に提携。

テクノロジーに関する詳細

図 1 に示すのは、この記事を執筆している時点での IBM のオープン・クラウド・アーキテクチャーを構成するオープンソース・テクノロジーとオープン・スタンダード・ベースのテクノロジーの大部分です。オープンであることから、このオープン・クラウド・アーキテクチャーが時間とともに、IBM、オープンソースおよびオープン・スタンダード・イニシアチブを主導するオープン・コミュニティー、お客様、そして IBM パートナーによって拡張されていくことは確かです。

図 1. 新しいオープン・クラウド・アーキテクチャー
この新しいオープン・クラウド・アーキテクチャーをサポートするオープン・ツールとオープン・テクノロジーを示す図
図 2. より動的なアナリティクス・ベースの Software Defined Environment への IaaS の進化
より動的なアナリティクス・ベースの Software Defined Environment としての IaaS を示す図

OpenStack

IBM Pulse で発表したように、オープン・クラウド・アーキテクチャーの基礎は OpenStack にあります。OpenStack はベア・メタルだけでなく広範な仮想化プラットフォーム (KVM、XEN、VMware、Hyper-V、PowerVM、ZVM など) をサポートします。OpenStack 自体は、ほとんどの Linux ディストリビューションで動作します。IBM が OpenStack を選んだのは、(強く引きつけられた) そのアーキテクチャーだけが理由ではありません。それよりも重要なこととして、OpenStack の開発コミュニティー、オープン・ガバナンス、そして活発に成長し続けているプロバイダー、プラグイン、アドオンのエコシステムの存在が理由となりました。

Software Defined Network

OpenStack が基盤とするコンポーネントは、OpenStack Networking サービスです。このサービスが、ネットワークを管理するための抽象化層 API を提供します。OpenFlow コントローラーなどの SDN (Software Defined Network) テクノロジーは、OpenStack Networking サービスのプラグインとして使用可能にすることができます。

4月に Linux Foundation は OpenDaylight Project の設立を発表しましたが、このプロジェクトは今までで最大のオープンソース SDN プロジェクトであり、プラチナ・スポンサーである IBM をはじめ、業界からの幅広い後援を受けています。OpenDaylight Project の使命は、OpenFlow を含むオープン・スタンダードに基づいたオープン SDN プラットフォームを作成することです。OpenDaylight Project が成熟するにつれ、OpenDaylight Project のメンバーによって開発された OpenFlow コントローラーが OpenStack Networking サービスのプラグインとして使用できるようになると期待されます。

デプロイメントの自動化

デプロイメントの自動化に関しては、IBM のオファリングでは通常、Chef のクックブックとレシピをサポートしています。ただし、お客様が任意の、あるいはすでに使用している自動化ツールを利用できるように、PuppetJuju もサポートしています。この点もオープン・クラウド・アーキテクチャーのもう 1 つの重要な特徴であり、お客様が選択できるようにしています。Chef、Puppet、Juju はそれぞれが別個のオープンソース・イニシアチブであり、そのそれぞれでレシピ、マニフェスト、チャームのエコシステムが拡大しています。これらのレシピ、マニフェスト、チャームもまた、オープンソースであることが多いです。このようなツールがオープンであること、そしてそれぞれのエコシステムの活力は、IBM と IBM のお客様の両方にメリットをもたらします。

Linked Data と OSLC

基盤となるソフトウェアで定義される環境層をその上の (通常 はPaaS と呼ばれる) 複合層につなげるために使用されているのは、W3C の Linked Data をベースとした OSLC (Open Services for Lifecycle Collaboration) という新しいオープン・スタンダードです。

OSLC は、ソフトウェア・ライフサイクル・ツールを相互運用可能にするために、他のツールとデータを共有可能にすることに取り組んでいるオープン・コミュニティーです。この取り組みの範囲は、開発、運用、管理規律と多岐にわたり、扱っているツールも同じく多岐にわたります。その目標は、ツールを組み合わせて、アプリケーションのゆりかごから墓場までのライフサイクル全体を通して、作業、フラストレーション、コストを削減するようにワークフローを連結して合理化することです。

Web でのデータ共有方法に発想を得た OSLC のベースとなっているのは、W3C の Linked Data です。Linked Data は基本的に、同様のデータと連結できるように構造化データをインターネット上で公開して、データの利用しやすさと有用性を高めるという方法です。Tim Berners-Lee 氏によって最初に打ち出された Linked Data の発想は、次の 4 つの基本原則に基づきます。

  1. モノの名前として URI を使用すること。
  2. モノの名前を調べられるように HTTP URI を使用すること。
  3. URI を調べると、標準 (RDF*、SPARQL) を使用して有用な情報が提供されること。
  4. さらに多くのモノを発見できるように、データの中に他の URI へのリンクを組み込むこと。
図 3. クラウド・オペレーティング環境での開発者中心のプラットフォーム、市場、およびサービス
クラウド・オペレーティング環境での開発者中心のプラットフォーム、市場、およびサービスを示す図

PaaS ファブリック

さらにスタックの上のほうを見ていくと、業界では現在、さまざまなコンポーネントで構成される PaaS ファブリックのいくつものオープンな代替手段の調査が進められています。IBM は最近 Cloud Foundry コミュニティーへの参加を表明しました。そして、このオープンソース・プロジェクトの開発に貢献していくことを予定しています。IBM のオープン・クラウド・アーキテクチャーの実装である Project Bluemix という新しいクラウド開発環境には、以前より Cloud Foundry の統合が行われています。Cloud Foundry は、開発者がクラウド・ベースのアプリケーションを迅速かつ容易にデプロイ、管理、スケーリングできるようにするためのプラットフォームです。Cloud Foundry は多種多様なランタイム環境 (Java、JavaScript、Python、Ruby などを含む)、よく使用されているフレームワーク (Node.js、Tomcat、Ruby on Rails など)、そして多彩なサービス (NoSQL データベース、キューイング、メッセージング、キャッシング、アナリティクス、ソーシャル・メディア、ビッグ・データなど) をサポートします。また、Heroku で開発された Buildpack テクノロジーを使用して、追加のランタイム環境、フレームワーク、サービスを統合できるオープン・アーキテクチャーも提供します。この Cloud Foundry は、基礎となるインフラストラクチャーと統合するためのオープンな手法を提供します。この手法により、Amazon、VMware、そして最も肝心な IBM のオープン・クラウド・アーキテクチャーである OpenStack で Cloud Foundry を実行することが可能になります。

IBM が Cloud Foundry コミュニティーへ参加するにあたって重要な考慮事項となったのは、Pivotal がオープンソース・イニシアチブのためのよりオープンなガバナンス・モデルに向けて IBM や他のコミュニティー・メンバーと協力することに積極的であったことです。オープン Cloud Foundry プラットフォームにより、お客様はベースとなるインフラストラクチャーに関係なく、よりアジャイルかつスケーラブルに、クラウド・アプリケーションをデプロイおよび管理することができるようになります。オープン Cloud Foundry エコシステムは、お客様がクラウド・ベースのアプリケーションを作成する際に使用するプログラミング言語、フレームワーク、クラウド・ベースのサービスを広範な選択肢のなかから選択できるようにすることで、イノベーションをさらに発展させ、お客様の選択肢の幅をより広くするはずです。

コミュニティーへのコントリビューションに関して言うと、IBM による最初のコラボレーションは、Cloud Foundry で提供されているデフォルトの Java ビルドパックに対する拡張機能として、IBM WebSphere Application Server Liberty Core と IBM Java を統合することに関するものでした。IBM は、このビルドパック・テクノロジーをクラウド・プラットフォーム全体で移植可能にする取り組みに対して、今後も投資するつもりでいます。また、セキュリティー、パフォーマンスとチューニング、管理と監視、メッセージングなどの分野でも貢献し、IBM とコミュニティーの双方にとって利益のある他のプロジェクトにもフォーカスするつもりです。

移植可能なワークロード定義とオーケストレーション

移植可能なワークロード・テンプレート定義に関しては、オープン・クラウド・アーキテクチャーには OASIS TOSCA 標準が取り込まれています。TOSCA は、IBM、SAP、HP、Rackspace、その他多数の企業によって開発されているコラボレーティブ・オープン・スタンダードです。実に画期的なことに、この開発に関与している企業の多くは、OpenStack Heat プロジェクトの OASIS TOSCA テンプレート記述に対するサポートの実装にも連携して取り組んでいます。IBM がまず初めに行ったことは、IBM のパターン・デプロイメント機能を OASIS TOSCA テンプレート・フォーマットのインポートおよびエクスポートに対応可能にすることでした。いずれは、IBM の機能が OpenStack Heat に移行されることになるはずです。

モノのインターネット

モノのインターネットに対応する MQ Telemetry Transport は、予測可能な双方向のメッセージ配信を行う軽量のパブリッシュ/サブスクライブ・プロトコルです。これは、コードのフットプリントを小さくしなければならないアプリケーションや、ネットワーク帯域幅が制限されている場合には理想的です。モノのインターネット (センサー、ネットワーク接続されたアプライアンスと端末、スマートなビル、およびネットワーク化された自動車) には、いずれもこのプロトコルの効率性によるメリットがもたらされます。

現在のところ、MQTT コミュニティーが OASIS の下でこの仕様の標準化に取り組んでいます。さらに、Eclipse Paho プロジェクトや Mosquitto プロジェクトなど、MQTT プロトコルのオープンソース実装も複数あります。

図 4. API エコノミーを介してサード・パーティーのイノベーションに使用できるアクセス可能なビジネス・サービス
API エコノミーを介してサード・パーティーのイノベーションに使用できるアクセス可能なビジネス・サービスを示す図

ビジネス・アプリケーションと SaaS 層

SaaS 層でオープン・クラウド・アーキテクチャーが対処するのは、セキュリティー、連合アイデンティティー (TLS/SSLOpenID、OASIS SAML、および IETF の OAuth2.0)、支払い (Google Wallet と Apple の Passport)、ユーザー・インターフェース (W3C の HTML5、IETF の JSON、Apache Cordova、および Eclipse) です。

HTML5 はリッチ・インターネット・アプリケーションを構築するためのプラットフォーム共通の言語ですが、プラグインなしでもネイティブ・モバイル機能をサポートします。W3C で管理されている HTML5 は、HTML4/XHTML の進化を表しており、SVG や CSS などの標準も取り込まれています。

広範なデスクトップ・プラットフォームとモバイル・プラットフォーム全体でマルチメディアのネイティブ・サポートを提供することから、HTML5 はアプリケーション開発を大幅に単純化します。その上、オフライン・ストレージおよびアプリケーション、端末アクセス、ジオロケーション、セマンティック・データなどといった先進的なテクノロジーもネイティブ・サポートします。

Apache Cordova は、プラットフォームのサービスを使用した「Write Once, Run Anywhere (一度書けば、どこででも実行できる)」ハイブリッド・アプリケーションを実現可能にするオープンソース・プロジェクトです。Cordova では、広範な端末全体にわたって、ハイブリッド・アプリケーションがネイティブ・モバイル機能を利用できるようにするために「シム」(機能の格差を埋める手段) として機能する端末固有のコードを提供することにフォーカスしています。コミュニティーでは、他の端末もサポートできるように、コードの継続的保守と機能強化に重点的に取り組んでいます。このプロジェクトが誕生した 2010年以来、IBM は重要なコントリビューターとして新しい機能を追加し、より一層の重点をリリース管理に置くようになっています。HTML5 と Apache Cordova は共に、リッチ・モバイル・アプリケーションの継続的開発には不可欠です。

ソーシャル

Activity Streams は、開発者にビジネス・イベントを記述するための共通語彙を提供し、人々に対してデータと情報をリアルタイムでソーシャル化するアプリケーションを可能にする新しい標準です。既存の IT アーキテクチャーと将来の IT アーキテクチャーの両方を使用した実装は、ユーザー間での情報および業務の可視性を簡素化するのに役立ち、組織の共有機能、コメント機能、コラボレーション機能をサポートします。

OpenSocial は、クラウド・ベースのソーシャル・アプリケーションのための、標準ベースのコンポーネント・モデルです。このモデルでは、既存のアプリケーションを一貫した方法で統合できるとともに、サード・パーティー製アプリケーションを単一のビューで追加することもできます。これにより、ユーザー・エクスペリエンスが簡素化され、ユーザーがその時点で最適な方法で作業できるようになります。情報を統合する手段には e-メール、コンテンツ・システム、リッチ・メディアがあり、いずれの手段も、特定のコンテキストでプラットフォーム全体にわたって情報を統合することができます。このプロジェクトは、OpenSocial のオープン・リファレンス実装である Apache Shindig プロジェクトと、ActivityStreams および OAuth2.0 などの主要な標準のサポートを通じて、業界をまたいだ連携を実現します。

リアルタイムの情報共有によって、従来の情報サイロからデータを解放するという点では、Activity Streams と OpenSocial の両方に将来性があります。

セキュリティー

OAuth は、単純かつ標準的な方法で、クラウド・アプリケーション、Web アプリケーション、モバイル・アプリケーション、およびデスクトップ・アプリケーションからのセキュアな認可を行うためのオープン・プロトコルです。具体的には、アプリケーションまたはインフラストラクチャー内に定義された REST API エンドポイントに対する認可およびアクセスを実現します。OAuth によってファイアウォールの内側にあるサービスにも外側にあるサービスにもアクセス可能になるため、OAuth は REST API をエンタープライズ・アプリケーションに統合する際の主要なセキュリティー・テクノロジーとなっています。


テクノロジー・プレビュー

IBM Innovate 2013 に参加された方は、オープン・クラウド・アーキテクチャーに反映された、前述の新たな機能のプレビューをすでに見たことや聞いたことがあるかもしれません。

プロジェクト Icap

テクノロジー・プレビューのうちの 1 つは、プロジェクト Icap です。プロジェクト Icap には、クラウド中心のアプリケーションやモバイル・アプリケーションに共通する、高度に反復型の迅速な開発をするための開発ツールを提供する統合開発環境 (IDE) が兼ね備えられています。この IDE には、JAX-RS、Servlet 3.0、および Spring MVC の開発テンプレートとともに Java のサポート (WebSphere Liberty Profile) が用意されています。さらに、Icap の IDE は JavaScript (Node.js) およびモバイル・アプリケーション開発 (IBM Worklight) もサポートします。プロジェクト Icap は、Eclipse プラグインとしてダウンロードすることができます。

Icap には、サービスをディスカバーおよび共有するために使用できるクラウド・エクスプローラーが備わっているという特徴もあります。

プロジェクト Icap は、ローカルで実行可能な開発者用サンドボックスも提供します。このサンドボックスには、いくつもの基本サービスが含まれています。これらのサービスを使用して作成できるアプリケーションには、例えば Derby ベースのリレーショナル・データベース・サービス、WXS (WebSphere eXtreme Scale) ベースのエラスティック・キャッシング・サービス (ECaaS)、ソーシャル・ネットワークとソーシャル・メディア・プロパティー (Twitter や Sina Weibo など) に接続できるシンプルなソーシャル・サービス、開発者がモバイル・アプリケーション向けの位置情報対応機能を提供するために、アプリケーションに統合できるサンプル位置情報サービスなどが挙げられます。

BlueMix

もう 1 つのテクノロジー・プレビューとしては、BlueMix もあります。これは、成功を収めた jStart プログラムにちなんでモデル化された新しいパブリック・クラウド環境です。OpenStack クラウド上で実行されるこのパブリック・クラウド環境は、プロジェクト Icap のサンドボックスで使用できるのと同じサービスの多くを提供します。現在は OpenStack Folsom 上で実行していますが、IBM では近いうちに、最近リリースされた OpenStack Folsom にマイグレーションするつもりです。

この環境でホストしているのは、新たなオープンソース PaaS プラットフォームの 1 つです。このプラットフォームでは、一連のホストされたサービスを利用してクラウド中心のアプリケーションを開発することができます。ホストされているサービスには、PostgreSQL、MySQL、Redis、BLOB ストレージ、エラスティク・キャッシング (ECaaS)、サンプル位置情報サービス、SMS サービス、シンプルなソーシャル・サービス、RabbitMQ、MongoDB があります。いずれは追加のサービスをオンラインで IBM や、オープンソースの提供元、さらには IBM パートナーから、継続的デリバリーという形で提供していくつもりです。皆さんがどのようなサービスを期待しているのか、ご意見をぜひともお聞かせください。

BlueMix チームは、フィードバックを収集し、お客様にとって重要なソフトウェア・サービスを理解するとともに、これらの新しい Systems of Interaction (相互に作用するシステム) の開発、デリバリー、管理、ホスティングに伴うさまざまな側面を管理する方法を理解するために、お客様と密接に協力してこの 2 つのプレビュー版オファリングを詳しく探っていくつもりでいます。


まとめ

IBM では常に、皆さんからのご意見を求めています。どうかご遠慮なく、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=Cloud computing
ArticleID=946302
ArticleTitle=IBM のオープン・クラウド・アーキテクチャー
publish-date=09262013