S3 APIでマルチクラウドのデータを一括管理するOSS、Zenkoとは:クラウド間でのデータ移行にも対応
クラウドのストレージサービスのネイティブな利用を確保しながら、いつでも別のクラウドにデータを移動でき、あるいは別のクラウドにデータの複製を維持しておけるようにして、ユーザー組織側がデータをコントロールできるツールはないのか。こうしたニーズに応えるオープンソースソフトウェア「Zenko」を解説する。
ハイブリッドクラウドやマルチクラウドに関する多くの議論は表層的だ。あるアプリケーションについて特定のクラウドを選択し、その後未来永劫そのクラウドで運用し続けることを議論の前提としているからだ。
ユーザー組織やアプリケーションによっては、そうしたいこともあるだろう。だが一方で、例えばデータを特定のパブリッククラウドに配置しながら、いつでも他のパブリッククラウドに移行できるようにしたい、あるいは異なるパブリッククラウド間で臨機応変にデータの冗長化を図りたいというニーズがあることは明らかだ。
アプリケーションに近いレベルでは、Cloud FoundryをはじめとするPaaSプラットフォームソフトウェアや、Kubernetesなどのコンテナオーケストレーションツールが生まれている。
だが、インフラレベルでは、クラウド間の差異を抽象化するのが難しい。データ管理における1つの方法は、オンプレミスで利用されるストレージソフトウェアをクラウドで動かすことだ。これにより、エンタープライズストレージの備える機能をクラウドで使えることになる。ただしこの場合、クラウドのストレージサービスをそのまま活用できず、柔軟性と機動性に制限が生まれてしまう。
では、クラウドのストレージサービスのネイティブな利用を確保しながら、いつでも別のクラウドにデータを移動でき、あるいは別のクラウドにデータの複製を維持しておけるようにして、ユーザー組織側がデータをコントロールできるツールはないのか。こうしたニーズに応えるオープンソースソフトウェアが、2017年7月に生まれた。
オープンソースソフトウェアのZenko、登場の理由
これは「Zenko」というツールで、オブジェクト/ファイルストレージベンダーのScalityが開発した。Scalityは商用製品ベンダーだが、Zenkoは同社の製品「Scality RING」の利用を前提としない。Amazon S3のみ、Microsoft Azure Blob Storageのみ、そしてこの2つを併用するために利用できる。Scality RINGなどのAmazon S3 API互換のストレージ製品を使えば、オンプレミス環境も対象に含めることができる。
Zenkoとは何か。データオブジェクトのメタデータ管理と、これに基づくデータサービス機能を提供するツールだ。複数のクラウドやリージョンにまたがるデータオブジェクトのメタデータを一括管理でき、Scalityはこれを「マルチクラウドデータコントローラー」と呼んでいる。
メタデータを管理し、各データオブジェクトの保存場所も管理できる。これに基づいて、2017年9月に予定される新バージョンではメタデータサーチ機能、および複数クラウド間やリージョン間でのデータ複製、データ移行などのワークフロー機能を追加するという。
Zenko開発のきっかけについて、Scalityのマーケティング最高責任者であるポール・ターナー氏は次のように話す。
「世の中にはクラウドへのバックアップやティアリングを実現するゲートウェイ製品が多数存在している。これらの多くは独自のフォーマットを採用していて、その製品を使わないとデータにアクセスできない。一方、パブリッククラウドでは多数のアプリケーションサービスが提供されている。データが管理できても、クラウドのアプリケーションサービスで活用できないのでは、クラウドを使う価値が半減してしまう。データがクラウド上で直接書き込まれたのと同様な、ネイティブなフォーマットで保存されるべきだと考えた」
「また、パブリッククラウドでサービス停止が発生したことで、『やはりオンプレミスにもデータのコピーを置いておきたい』『単一のクラウドサービスに囲い込まれたくない』というユーザー組織が増えてきた。こうした声に応えるべきだと考えた」
Zenkoをオープンソースで提供開始するという判断には、Scalityが2016年にオープンソースソフトウェアとして公開した「Open Source Scality S3 Server」の成功が影響しているようだ。
Open Source Scality S3 Serverは、Amazon S3 APIのソフトウェア実装。S3に対応したDockerコンテナアプリケーションのテストに利用できる。「2017年末までに数千のダウンロードがあれば成功だろうと考えていた。ところがふたを開けてみると、(2017年7月中旬までに)64万のダウンロードがあった」(ターナー氏)
ターナー氏は、「(Open Source Scality S3 Serverと同様に)興味を持ってもらえる技術だと考えて、オープンソースで提供することにした。この技術のメリットやユースケースをもう少し把握できたら、商用製品を提供したいと考えている。2017年末までに、エンタープライズ版を出せればいいと考えている」と述べている。
Zenkoには限界もある。当然のことだが、Zenkoを経由した書き込みをしないと、インデックス/メタデータデータベースにデータオブジェクトを登録できない。この点を指摘すると、ターナー氏は「確かに現時点ではZenkoがデータパスに存在する必要がある」と認めた。「現時点では」と語ったのは、バッチで登録できるツールを開発しようとしているからなのかもしれない。
Scality RINGはバージョン7が登場
ZenkoのようなツールをScalityが開発したのは、大まかには自然な成り行きともいえる。同社のフラッグシップ製品、というより唯一の商用製品であるScality RINGは、Amazon S3 APIをインタフェースとするオブジェクトストレージソフトウェアだからだ。
Scality RINGはオブジェクトストレージを中核としてNFS//SMBによるファイルアクセスプロトコルに対応。Erasure Codingによる冗長化やデータ複製の機能も備えている。言い換えれば、もともとクラウドストレージの拡張性、柔軟性、コスト効率といったメリットを企業がオンプレミスで享受でき、さらにセキュリティや可用性に関する制御を強化できるというのが、当初からの製品コンセプトだ。
Scality RINGの新バージョン「RING 7」では、セキュリティ面の機能強化が目立つ。
最も興味深いのはバージョン管理機能。ファイルの改変や削除が行われようとすると、その直前に、それまでのバージョンのシャドーコピーが隠しディレクトリに自動作成される。このため、ランサムウェアなどの攻撃に対応しやすい。
その他、データ保存場所を特定拠点に明示的に限定できる機能が加わった。また、データの改ざんを防止するWORM(Write Once, Read Many)機能も追加された。さらに、非同期の拠点間データ複製が実現した。これまで他拠点とは、同期的なデータ複製機能のみが利用できた。
Zenkoの意義
オンプレミスかパブリッククラウドかの二者択一、そして特定のパブリッククラウドへの全面移行に関する議論が、現時点ではよく聞かれる。だが、全てのユーザー組織が、そうした選択をしたいのだろうか、あるいはするべきだろうか。筆者はそうは考えない。データにしてもアプリケーションにしても。最終的には可能な限り自社でコントロールし、特定のクラウドベンダーへの全面的な依存を避ける努力をする企業が、今後目立つようになっていくだろう。
Zenkoは、こうした考え方をする人たちを、データ管理で助けてくれる可能性のあるツールだといえる。
Copyright © ITmedia, Inc. All Rights Reserved.