それほどまでのデータ保証は必要ないという場合、Amazonはデータの複製数を抑えた「低冗長化ストレージ」(RRS)というオプションも提供している。また、データにリアルタイムでアクセスする必要がないのであれば、「Amazon Glacier」というオプションもある。
Amazon S3ではどのオプションを選択した場合であっても、いったん設定した後はデータの保管や編集、アクセスを行うためのオペレータや管理者は必要とされない。SDSはデータセンターやプライベートクラウドストレージ設備上と同種の作業を行えるようにするものなのだ。
またSDSは物理的なストレージの無駄を最小化するためにも利用できる。例えば、筆者の自宅のようなストレージ環境であれば、あちこちにファイルの複製ができているはずだ。SDSの採用によって、データストアが合理化され、無意味なコピーや、決して使わないような古いファイルによって何テラバイトも無駄にしなくても済むようになる。
さらにSDSであれば、面倒な設定なしにストレージリソースをクライアントOS間で透過的に共有できる。SDSでは、ユーザーが細かい詳細について気を配らなくとも、PCやスマートデバイスのOSが期待するようなストレージとして振る舞える。
早い話が、SDSによって「Amazon Web Services」(AWS)や「Microsoft Azure」「Google Compute Engine」上で必要な時に新たなサーバを立ち上げるのと同じくらい簡単にストレージの割り当てやプロビジョニング、使用が可能になるというわけだ。クラウドがサーバの総所有コスト(TCO)を引き下げたように、SDSはストレージのコストを引き下げてくれる。
オープンソースとSDS
お分かりかもしれないが、SDSは登場してからまだ日が浅いため、このテクノロジに関する皆の解釈はまちまちとなっている。このためSDSアプライアンスや、EMCのようなハードウェアとソフトウェアをクロスオーバーさせる取り組み、IBMの「Elastic Storage」のようなオープンソースソフトウェア上で稼働するプログラム、VMwareにおける仮想マシンとSDSを相互接続するアプローチなどがあり、世の常として従来の垂直型のプロプライエタリなプログラムをSDSと称している企業もある。
オープンソースソフトウェアによって、過去に多くのサーバ市場やデータセンター市場で生み出されたようなさまざまな利点がもたらされる。まず、有名なオープンソースのSDSを開発しているCephの創業者であり、チーフアーキテクトでもあるSage Weil氏は、2014年11月にパリで開催された「OpenStack Summit」カンファレンスで「ソフトウェア定義ストレージという言葉は、人によって、特に人が作っているものや販売しているものによってさまざまな意味で用いられている。共通する部分はハードウェアから独立したストレージサービスを提供するというものだ。オープンソースのSDSによってハードウェアベンダーから独立できるようになる。一方、プロプライエタリなソフトウェアの採用は単一ベンダーへのロックインにつながる」と述べた。要するに、オープンソースによって企業に選択の余地が与えられるというわけだ。そしてそれはコストの削減にもつながる。
さらに、オープンソースのおかげで誰でもコードの改良が可能になる結果、ユーザーや開発者が増加するとともにプログラムの全体的な品質も向上するようになる。そして、最終的によりパワフルで柔軟なプログラムが生み出される。
具体的な話をすると、有望視されている主要なオープンソースSDSは3つある。まずはクラウドに軸足を置いた「OpenStack」だ。OpenStackにはブロックストレージコンポーネントである「Cinder」と、オブジェクトストレージコンポーネントである「Swift」が用意されている。次に、OpenStackとは別系統になるが「Ceph」、そして「GlusterFS」というSDSがある。これらはいずれも商用オフザシェルフ(COTS)のストレージデバイス上にソフトウェアの抽象階層を配置するものだ。なお、いずれのプログラムも相互排他的な製品とはなっていない。