はじめまして、Re:Qの三上です。
すべての始まりは、昨年4月にクラウドストレージサービスの企画開発業務に携わったことでした。
これまで1年ほど携わってきた私ですが、この業界は若く、潜在的な需要はあるものの、
まだまだ一般に浸透をしているとは言いがたい状況にあると感じています。
私の場合、データセンターでサービスを提供する立場にいることもあり、
個別のプロジェクトでクラウドストレージを導入する方よりも、
検証や導入に対するハードルは低いと言えるかもしれません。
今回はそこで得た知識が、
オブジェクトストレージの導入を検討される方の一助になればと思い執筆に至りました。
そもそも「クラウドストレージ」=「オブジェクトストレージ」?
少し前から「クラウドストレージ」という言葉を2つの意味で聞くようになりました。
1つは、ストレージベンダやSIerのようにクラウド(IaaS)配下の「物理ストレージ」として、
もう1つは、Amazon Simple Storage Service(以下、S3)やGoogleドライブ、
OSSのOpenstack swiftに代表されるような「オンラインストレージ」という意味として、です。
どちらもインターネットを介して提供されるサービスであるため、
クラウドストレージと呼ばれること自体は正しいのでしょうが定義が曖昧であるとも言えます。
今回は、後述した「オンラインストレージ」としての「オブジェクトストレージ」を執筆テーマ
とし、これから少しお話させて頂きます。
従いまして、私の定義では、
必ずしも「クラウドストレージ=オブジェクトストレージではない」ことを
予めお伝えしておきます。
一昔前の「クラウドサービス」と「IaaS」のような関係と捉えて頂ければ幸いです。
オブジェクトストレージとは!?
オブジェクトストレージへのアクセスは、通常、HTTPS上の
REST(Representational State Transfer)を利用して行われます。
ユーザ、または、アプリケーションからオブジェクトへのアクセスは直接行われ、
例外を除き、ファイルシステムは使われません。
従って、OSや、ファイルシステムに依存することなく、
データの格納や格納したオブジェクトへのアクセスが可能です。
オブジェクトには、固有の名前(UUIDのような文字列)が付与され、
ストレージ内において、データとデータを管理するためのメタデータが関連づけられます。
オブジェクトに紐づけられるメタデータは、一般のファイルシステムにおけるメタデータ
(ファイル名、サイズ、作成日、所有者等の属性)のみならず、以下のような属性が格納されます。
・保存期限
・冗長コピー数
・格納媒体の場所や特性
・遠隔地保管の有無
・暗号化の有無
・アクセス性能の規定
この他にユーザやベンダーのエッセンスをメタデータに付与し、
独自のカスタムメタデータを格納することも可能です。

オブジェクトストレージの特徴と主な利点
さて、このオブジェクトストレージが昨今話題になっていますが、
「何故?」と疑問に感じている方も多いかと思います。
しかし話題になるにはそれなりの理由があります。
[table id=3 /]
このようにオブジェクトストレージは、
これまでのブロックストレージやファイルストレージでは実現が困難であったことを容易に行える
特性を持っています。
「Internet of Everything」時代のストレージプラットフォームに相応しい可能性を秘めています。
オブジェクトストレージで提供するもの
具体的な商談になると、
「機能は大体わかったけどどうやってデータを入れるの?」
といった質問をよくされます。
「ブロックストレージ」は、NFSやCIFSでOSから
ドライブやマウントポイントとして見ることができるため利用イメージがつきやすい一方で、
「オブジェクトストレージ」は、インターネットを介するため、
ブラウザやコマンドプロンプトでしかやりとりができないようなイメージが先行しているようです。
オブジェクトストレージでは、オブジェクトストレージとアプリケーション間をつなぐための
Application Program Interface(API)を提供しています。
クラウドサービスと言えば、従来、IaaSやPaaS、SaaSというものがありますが、
オブジェクトストレージでは少し考え方が違います。
実際には、APIの接続口を開けて待っているだけだからです。
そのため、どのようにデータを転送するかは利用者に委ねられており、
それを自由度が高いと捉えるか、使い勝手が悪いと捉えるかはユーザ次第ということなります。
オブジェクトストレージの使い道とは!?
上述まででお察しの方も多いと思いますが、
利用用途はあくまでも「アーカイブ」や「利用頻度の低い静的ファイルの保管先」です。
オブジェクトストレージを直接企業のファイルサーバや、
データベースの一次ストレージとして構えることは避けてください。
具体的な保管推奨データは後述の図中に記載していますが、
ここではブロックストレージとは利用用途が異なるということがご理解いただければよいと思います。

しかし、どうしてもファイルサーバとして利用したい場合もあるかと思います。
この場合は、NASインターフェースを備えたオブジェクト型ファイルストレージなる
アプライアンス製品がありますので、それらを利用するとよいでしょう。
これは通常のファイルサーバを置き換えて利用できる一方で、
裏ではデータの自動階層化を行い、ポリシーで定めたアクセス頻度の低いデータや古いデータを
オブジェクトストレージに自動アーカイブします。保存したデータを利用する際は、ユーザが意識することなくクラウド上からリトリーブされる仕組みです。
別のバックアップソフトウェア型のクライアント製品では、
上述のアプライアンス製品と同様の自動階層化機能に加え、スタブ機能(※)を有します。
データは、ポリシーに従って自動アーカイブされますが、ローカルにスタブが残ります。
ノンアクティブデータをクラウド上から読み込む際には、ローカル上のスタブをダブルクリックすることで容易にリトリーブが可能です。
ちなみに、リトリーブとはアーカイブの対義語です。
※スタブとは通常、上位プログラムを呼び出す仲介プログラムのことを指します。Linuxの技術で例えるとシンボリックリンクが近く、クラウド上のデータに対してリンクを張るイメージです。

サービスとしてのオブジェクトストレージ
今回紹介した他に、サービスとして利用するのみであれば
Amazon Web Service(AWS)のS3やMicrosoft Azuruストレージサービスのようなサービスもあります。
従量課金制ではありますが、安価で容易に利用できるツールとして最近では必ずと言ってよいほど、
検討対象に上がります。
ただし、海外のサービスであるが故に、データの管理・取扱やサポート体制、ネットワーク遅延、
日本の法律が適用されないなど、国内のサービスと比較すると異なる部分が少なからずありますので
利用に当たっては十分な調査が必要です。
ガートナーやIDCの調査によりますと、これからますますデータが溢れかえる時代に突入すると言われています。
現在、全世界の総データ量は約3ZBと言われていますが、全ての情報がインターネットにつながるであろう2020年には40ZBにまで達するという予測も出ていて、これは全世界のすべての人が1人当たり5TB分を保有する量に相当するそうです。
このようなデータを保管するためには、柔軟で伸縮性あるオブジェクトストレージはなくてはならない技術であるとともに、今後、この領域が果たす役割は「徐々に」、ではなく、「爆発的に」大きくなるだろうと予想していますので、また折をみてお話させていただこうと思います。
いま話題のオブジェクトストレージとは!?