クラウドデータストレージ

Facebook、Instagram、YouTube、その他多くのソーシャルアプリケーションの台頭により、ユーザー生成コンテンツの管理が問題になり、問題に対処する必要があります。 Amazon AWS S3、Google Storage、Rackspace Cloud Filesなどのサービスは、アプリケーション開発者がスケーラブルなアセットストレージを管理するという緊急の問題を解決できるように、雨上がりのキノコのように見え始めました。 そしてもちろん、それらはすべて「クラウド」を使用します!



問題



人気のソーシャルアプリケーション、科学アプリケーション、およびメディアコンテンツを生成するアプリケーションは、短時間で大量の情報を生成できます。 次に例を示します。





ユーザーが生成した大量のコンテンツをアプリケーションが保存し始めると、チームはこの問題を解決するためにどこに時間を投資するかを決定する必要があります。 ハードウェア/インフラストラクチャにアセットを配置するような方法でアプリケーションを構築する場合、チームはアセットを効率的に保存および管理するために多くの時間とお金を費やします。 または、クラウドストレージプロバイダーでアセットを保存できます。 このパスを選択することにより、アプリケーションコンテンツをほぼ無限にスケーリングし、このコンテンツを送信するために使用されたスペースとリソースのみを支払うことができます。 その結果、クラウドベースのデータストレージは、エンジニアの手を解き放ち、スケーラビリティが問題になる場合に自転車を発明するのではなく、独自のアプリケーションの作成に集中することができます。





クラウドストレージをアプリケーションに使用することをいつ考えますか?







統合とアクセス

ほとんどの主要なクラウドストレージサービスは、APIを介したアクセスを提供するため、開発者はクラウドベースのアセットストレージをアプリケーションに統合できます。 以下に、SDKまたはライブラリを使用してAmazon S3にアセットを保存するいくつかのコード例を見てみましょう。



RubyとCarrierwave

CarrierWaveリポジトリから適合したサンプルコード。



CarrierWaveを使用してAmazon S3、 Rackspace Cloud Files、 Google Storageにアップロードする例と、 DataMapperMongoid、 SequelなどのいくつかのORMジャムを次に示します。



PHPおよびAWS SDK

Amazonは、AWS APIとサービスを操作するためのPHP SDKを提供します。 この例では、READMEリポジトリのSDKからの指示を使用します。



ノードとノックス

Node.jsについては、Github上のKnox Amazon S3クライアントからのサンプルコードを適合させました。



 //   var client = knox.createClient({ key: '<api-key-here>' , secret: '<secret-here>' , bucket: 'BUCKET-NAME' }); //    S3 client.putFile('some/path-to-file.ext', 'bucket/file-name.ext', function(err, res){ // Logic }); //    S3 client.get('/some/path-to-file.ext').on('response', function(res){ console.log(res.statusCode); console.log(res.headers); res.setEncoding('utf8'); res.on('data', function(chunk){ console.log(chunk); }); }).end(); //    S3 client.del('/some/path-to-file.ext').on('response', function(res){ console.log(res.statusCode); console.log(res.headers); }).end();
      
      





おわりに



ご覧のとおり、AWS S3 APIの操作は非常に簡単で、ほとんどの言語で利用可能なライブラリがたくさんあります。 将来のプロジェクトを設計するときは、クラウドストレージを確認することをお勧めします。 新しい資産配分ソリューションを発明しないことで時間を節約でき、クラウドストレージを拡張するほぼ無制限の機能が与えられます。



All Articles