現代のストレージソリューションは、増え続けるデータを保存、アクセス、整理するために必要とされています。歴史的に、アプリケーションデータはデータベースソフトウェアを実行するサーバーに接続されたディスクドライブに保存されてきました。このアーキテクチャは、頻繁に更新されるデータには最適ですが、ドライブがデータベースサーバに接続されているため、スケーラビリティがありません。またストレージを追加すると、より多くの計算能力が必要になることもあります。
オブジェクトストレージはスケーリングの問題を解決できるほか、カスタマイズ可能なメタデータ、アクセス制御、バージョニング、組み込みレプリケーションなど、幅広いワークロードに役立つ機能が組み込まれています。
オブジェクトストレージとは?
オブジェクトストレージは、従来のストレージデバイスの抽象化層を提供します。オブジェクトストレージシステム内のデータは、それぞれオブジェクトとして保存され開示されます。オブジェクトは任意のサーバーやワークステーションからREST APIを介して更新されます。またHTTPリクエストでアクセスされた場合にユニークなURLをオプションで割り当てることもできます。
クラウドベースのオブジェクト・ストレージ・ソリューションは、ハイブリッドまたはオンプレミスインフラとの組み合わせに適しています。オブジェクトは API を介してアクセスされるため、オブジェクトストレージを追加する為にクラウドベースのコンピュート製品を追加する必要がなく、導入が容易になります。またこれらのソリューションは、インターネットからAPIにアクセスできるため、既存のクラウドインフラ やアプリケーションとの相性も抜群です。
最後に、クラウドベースのオブジェクト・ストレージは、オブジェクトの追加や削除に応じて動的にスケーリングします。これに比べて、従来のディスクドライブのクラウド版であるブロック・ストレージ・ボリュームはサイズが固定されており、サイズの縮小や拡大にはリサイズ操作が必要となります。
オブジェクトストレージのユースケースは、単純なマルチメディアストレージから機械学習用の大規模データセットを収容するものまで多岐にわたります。今年の初めには、クラウド上のオブジェクトストレージから最大限の価値を引き出す方法をまとめた電子書籍を出版しました。"S3-Compatible Object Storage Use Casees"はこちらからダウンロードできます。(登録が必要です。)ここでは電子書籍の中で取り上げている事例をいくつか紹介します。
アーティファクトの保管
開発の量が増え、アプリケーションのライフサイクルが自動化されるにつれて、ログやバージョンファイルの大規模なコレクションのような、より多くの成果物がこれらのプロセスから生成されるようになります。アーティファクトを廃棄することはベストプラクティスではありません。なぜならば後日テストサイクルで有益になるからです。開発者やステークホルダーはオブジェクトストレージを使用して成果物を保存し、固有の URL を配布することで、本番サイクルで成果物を共有することができます。
静的ウェブサイトのホスティング
オブジェクトストレージを使用すると、必要最小限のメンテナンスで静的ウェブサイトを簡単にホスティングすることができます。従来、静的 HTML ファイルは、仮想マシン上で実行されているウェブサーバ(NGINX や Apache など)で発行されています。オブジェクトストレージを使用すれば、オブジェクトを HTTP で公開してアクセスできるようにすることができ、それぞれに固有の URL を持つことができるのでこのプロセスは不要になります。静的サイトを構築したら、オブジェクトストレージのバケットにファイルをアップロードすることで、インターネット上で利用できるようにすることができます。
静的サイトファイルをホストするためにオブジェクトストレージを使用することで、ソフトウェアのアップグレード、ウェブサーバーの設定、セキュリティの維持管理などの日常的なサーバーメンテナンス作業の代わりに、ウェブサイトの開発に集中する時間を確保することができます。
非構造化データ
構造化されていないデータを保存する必要性は、オブジェクトストレージの誕生のきっかけでした。非構造化データとは、ログファイル、PDF、領収書、地図、マルチメディアファイルなど、従来のデータベースに収まらないものを指します。このデータに共通していること、そして何が非構造化とさせるのかは、データベース列にきれいに収まるために必要な内部のリレーショナル情報を欠いているということです。
オブジェクトストレージを使用すると、構造化されていないデータの各部分に対してカスタムメタデータを構成することができるので、各オブジェクトから有用な情報を推定したり、類似のメタデータを持つオブジェクトを簡単に取得することができます。構造化されていないデータに対して他のストレージ方法を使用する場合、通常はメタデータを個別に整理するために追加のデータベースをセットアップする必要があります。
構造化されていないデータも、オブジェクトストレージを使用することでセキュリティを得ることができます。ブロックストレージもオブジェクトストレージも本質的にはプライベートなものですが、大きな違いがあります。ブロックストレージでは、データをインターネット上で公開するためにサーバーを設定する必要があります。オブジェクトストレージでは、バケット内の新しいオブジェクトはすべてデフォルトでプライベートに設定されています。オブジェクトを公開するには、アクセスコントロールを使用します。その後、オブジェクトは HTTP リクエストでアクセスできるようになります。
ウェブサイトファイル
オブジェクトストレージは、画像、ダウンロード、ユーザーデータなどの静的資産をHTTPアクセス可能なバケットにホスティングすることで、ウェブサイトやウェブアプリケーションを最適化するのに役立ちます。動的なウェブサイトをゼロから構築する場合でも、WordPress のようなコンテンツ管理システムを使用する場合でも、Magento のような Eコマースプラットフォームを使用する場合でも、従来のファイルストレージやブロックストレージでは、ウェブサイトのファイルを保存するためのコストが高くなることがあります。オブジェクトストレージは、サイトやアプリの資産の一部を保存して整理するためのコスト効率の良い代替手段を提供します。
S3互換のオブジェクト・ストレージのインフラへの採用にお困りの方は、こちらからご連絡いただくか、proservices@.linodecomまでメールでお問い合わせください。
コメント