互換性は、以前からクラウドサービスが抱えるもっとも大きな問題の1つだった。Apache Software Foundation(ASF)は、クラウドサービス互換ライブラリである「Apache Libcloud v1.0」をリリースすることによって、この問題を解決しようとしている。
耳にしたことがない人も多いだろうが、Libcloudには長い歴史がある。このライブラリは2009年に生まれた。このコードはPythonのライブラリで、さまざまなクラウドプロバイダーのアプリケーションプログラミングインターフェース(API)の間に存在する差異を隠蔽してくれるものだ。開発者やシステム管理者は、これを使用することで、使いやすい統一されたAPIを通じて、異なるクラウドのリソースを管理することができる。
初期のクラウドプロバイダーは、「KVM」や「VMware」「XenServer VM」などを使用した仮想マシン(VM)をホストするIaaS(サービスとしてのインフラストラクチャ)として始まった。Apache Libcloudは、これらのプラットフォーム間の差異を抽象化するものだった。これは、複数のクラウドからのデータを収集し、環境を管理し、サーバの展開を自動化することができる、1つのPython APIによって実現されていた。その後、クラウドプロバイダーは進化して、DNSや負荷分散機能、バックアップなどの単純なSaaS(サービスとしてのプラットフォーム)サービスを提供するようになり、それに伴い、Libcloudもこれらの新しいクラウドをサポートするよう拡張された。
Apache LibcloudプロジェクトのリーダーであるTomaz Muraus氏は、「最初にApache Libcloudを作ったときには、各クラウドプロバイダーで使用する標準APIの仕様を作ろうとして何度も失敗した」と述べている。「そこでわれわれは、Apache Software Foundationの一部としてオープンソースの互換ライブラリを作ることに決めた。Apache Libcloud 1.0は、複数のクラウドを抽象化する強力なライブラリで、IaaSだけでなく、DNSやストレージ、アプリケーション負荷分散、バックアップ、CaaS(サービスとしてのコンテナ)などのコンポーネントも対象としている」(Muraus氏)
存在感の強いオープンソースプロジェクトであるLibcloudは、50以上のクラウドプロバイダーに導入されている。Libcloudを導入しているプロバイダーには、「Amazon Web Services」「Apache Cloud Stack」「Rackspace」「Google Cloud Platform」「Microsoft Azure」「OpenStack」およびVMwareなどが含まれる。Libcoudは、これらのプロバイダーで、複数クラウドの統合や直接的なAPIの統合を実現するためのライブラリとしてよく使用されている。
想像がつくかもしれないが、DevOpsの開発者が自分たちが使っているツールに簡単なマルチクラウド自動化機能を組み込みたいと考えていることもあり、このライブラリは人気を博している。SaltStackの最高技術責任者(CTO)であるThomas Hatch氏は、「Apache Libcloudは、出回っている中ではもっとも安定しており、もっとも使いやすいクラウド環境管理用APIの1つを提供している。このライブラリがなければ、SaltStack Cloudのクラウドオーケストレーション機能を作ることは不可能に近かっただろう。このライブラリをわれわれのプロジェクトに取り込むため、しっかり時間を取るつもりだ」と述べている。
この最新バージョンのApache Libcloudでは、CaaS、「Amazon EC2 Container Service」(ECS)、「Google Cloud Container Engine」(GKE)およびKubernetesとDockerのオンプレミスオプションがサポートされた。Muraus氏は、「Apache Libcloudは、プライベートクラウドとパブリッククラウドの両方にまたがってDockerコンテナを配備するための、シンプルなAPIの抽象化を提供している。無料または低コストなクラウドを利用したいが、商用利用しているパブリッククラウドとの互換性も維持したい学術組織や非営利組織で、このライブラリの導入事例が見られる」と述べている。
このように、もはや問題は「どのプロバイダーがLibcloudを導入しているか」ではなくなっている。今や問題は、「Libcloudを導入していないのはどのプロバイダーか」ということだ。複数のクラウドプロバイダーや、ハイブリッドクラウドを利用する必要があるのなら、Libcloudは必要不可欠だと言えるだろう。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。