エントリからの続きです。(エントリが長すぎてポストできなかったため、分割しています。ストレージサービスとは、大規模・大容量の、高信頼性データストレージサービスです。ストレージサービスです。つのノードに複製格納されているため、ひとつのサーバがクラッシュしても、データは生き残ることが可能になっています。コンピュートサービスとは全くの別物なので注意してください。(データセンタまたがりのデータ複製)には対応していません。あればファイル共有を通してアクセスすることになります。プロトコルでデータの読み書きを行います。ストレージサービスへアクセスするためのライブラリを使うことができます。ストレージサービスへのデータの読み書きを実施することができます。ストレージサービスを読み書きするには、以下のようなコードを利用します。このサンプルコードは特に理解しなくても大丈夫です。興味がある方は読んでください。本論からは逸れるため、今回はコードの詳細は説明しません。"コンテナを作成しました。"コンテナはすでに存在します。Console.WriteLine("権限設定しました。Console.WriteLine("すでにデータがあったため、いったん削除しました。Console.WriteLine("ファイルを書きこみました。ストレージサービスは、ログデータの転送先として非常に重要なものになります。これは以下のような理由によります。コンピュートサービスの大きなウリです)。上に記録したデータなど)は簡単に消え去ったり初期化されたりすることになります。)にデータを記録・保存すべきではありません。......が、これではログファイルなどの記録や保存を行うことが全くできなくなってしまうため、困ってしまいます。つのストレージシステムを使います。コンピュートサービスの仮想マシンインスタンスが増減したとしても、業務データやログデータが消失することはありません。ストレージサービスにするようにアプリケーションを作ったり書き換えたりするのはなかなか大変です。この問題についても以下のような対処方法が用意されています。ランタイムと呼ばれるサービスがインストールされています。ストレージサービスへとデータを転送するようになっています。ストレージサービスへデータを書き込む必要はなく、従来通り、イベントログやパフォーマンスログなどにデータを出力しているだけで済むようになっています。既定ではこれらのサービスは動作していません。このため、構成設定や起動処理を行うことによって、このデータ転送機能を有効化する必要があります。既定で転送できるデータの種類は以下の通りです。ランタイムの使い方についてはここでは紹介しませんが、このサイトが非常に詳しいので、興味がある方は読んでみてくださ���。ストレージサービスに転送されたログデータを簡単に見る方法(ビュアー)が提供されていないため、それらについては自作する必要があります。ランタイムによるログデータの転送機能は、遅延転送での動作になっています。サーバでもマシンがクラッシュした際にはデータロストが発生するので当たり前のことですが;)。データベースサービスなどに書き込むように設計してください。種類のデータ構造が定義されており、それぞれの構造を持つデータを簡単に出し入れすることができるように設計されています。ドライブのように扱えるストレージこれらについては比較的誤解があったり、わかりにくい資料も多いため、どんなものなのかを簡単に解説しておきたいと思います。マルチメディア系のファイルや巨大なデータファイルなどを格納するのに適したストレージ形式です。階層のファイルシステムであるかのように取り扱うことが可能です。プロトコルでファイルをアップロードすることになります。以下に概念図を示します。よるデータ取得ができるようになっています。プロトコルでしか行うことができません。択で、細かいアクセス可否設定はできません。ストレージは、プレインオブジェクト(POCO、プロパティ値のみを持つようなオブジェクト)を、お皿のようなものに入れて分散格納することができるストレージです。下図のようなイメージでとらえていただくとわかりやすいでしょう。つのキーを付与する必要があります。フィールドも必要になるのですが、まあとりあえずそれは置いておくとすると。持つオブジェクトは別ノードに保持されます。このため、データ検索処理を行うと、下図のように、複数のノードで分散検索処理が行われるようになります。設計が極めて重要になります。利用すると、検索速度などが極端に劣化することがあるため、注意してください。テーブルとは全くといっていいほど異なるものです。確かに、オブジェクトインスタンスを「行」、プロパティを「列」と捉えれば、確かにテーブル的な構造を持っているといえなくもありません。以下のような点は全く異なります。つのテーブルに、異なる構造のオブジェクトを格納できる中でも最後の特徴は極めて重要です。ストレージでは、ストレージに対してスキーマの指定ができません。異なれば)同一のテーブルに異なる構造を持ったオブジェクトを格納することができるためです。オブジェクトという、異なる構造を持ったデータを同一テーブルに格納した場合を以下に示します。この様子を無理矢理に表形式に書き直すと「穴空き表」になりますが、ストレージ内部で隙間だらけのデータとして格納しているわけではありません。実際には、左の図のように、「異なるオブジェクトがひとつのお皿の上に乗っているだけ」という状態になります。ストレージではごく当たり前のこととして扱われます。「テーブル」という名前にあまり惑わされないようにしていただければと思います。ストレージは、その名の通り、メッセージキューシステムになります。以下のようなシンプルな機能を持ったメッセージキューシステムを提供します。なし(キューに対する接続時の認証のみ)機能は限定的ですが、その分、プログラミングは非常に単純です。ストレージは、現在では利用シナリオが非常に限定的です。これは次のような理由によります。サーバを連携させるための通信経路として使うことを念頭において設計されていた。通信を直接受け付けることができるようになっている。サーバ間をキュー型接続(=非同期接続)しなければならない場合に限られる、ということになります(と書くとやや言いすぎですが、とりあえずはそう理解しておいても差し支えないでしょう)。実際にはそのようなケースはほとんどない(キュー型トランザクション処理が求められるケースは少ない)でしょうから、簡単なアプリケーションやシステムではほとんど使われることがない、と思っていただいてよいと思います。ドライブであるかのようにして使うことができる、という特殊な形式になります。比べると若干アクセスが遅い)というものになります。現時点ではまだ未リリースのため詳細は不明ですが、今後、明らかになってくることでしょう。ストレージサービスについて概要を解説してきましたが、重要なのは、どのようなケースでどのストレージサービスを使うのか、という点です。それぞれに適切な使い分けが必要になりますので、よく覚えておいていただければと思います。アプリケーションの開発と、ほとんど同じ技術を使うことができる。開発)という点でしょう。アプリケーションと完全に同じように捉えられる、ということでもありません。それ相応に相違点や注意点があります。プラットフォームです。このため、オンプレミス型の開発と異なり、ハード/ミドルなどのインフラに関わる設定や運用をほとんど考えなくて済むという利点があります。サーバの設定やバージョンを自由に決められない・変更できないという注意点もあります。メリットとデメリットを比較する形で書くと、以下のようになります。構成設定などを考えなくて済む。構成設定などが変更できないことが多い。ミドルウェアやパッケージ製品の追加インストールにも制限があり、配置するアプリケーションそのものにも制限事項がある。主だった注意点を以下にまとめます。中でも、特に日本語まわりの注意点は、日本ローカルでアプリケーションを開発していたときとは大きく異なる部分になります。十分に注意して取り組むようにしてください。特性に併せた形でアプリケーション開発を行う必要があります。プラットフォームに適したアプリケーションと、適していないアプリケーションとがあると言えます。具体的には以下のようになります。サービスに比べると敷居が低く、またハイブリッド型(オンプレミスとクラウドを併用する形態)などを取りやすいといったメリットがあります。上での動作に適しているというわけではありません。適用するようにしてください。主要構成要素を俯瞰図的にまとめておきたいと思います。型プラットフォームであるが故に、オンプレミス型と比べて、ランタイムやミドルウェアの設定を自由に変更できないという問題点があります。上に移植できる、というわけでもありません。エントリでは実装の詳細に触れていきたいと思いますが、「なんでもかんでもクラウド化」といった考え方をしないように、十分注意してください。FeedbackTrademarks。