)そこに、パッケージ化されたアプリケーションをアップロードして動作させる。項で解説したように、このアプリケーション展開は、ファブリックコントローラと呼ばれるシステムにより行われます。コンピュートサービスの実態は、要するに仮想マシン(VM)のイメージのコピーと、アプリケーションを自動展開するシステムです。バインドされる)ため、サービスレベルの保障がしやすい形で動作することになります。呼ぶのですが、プロビジョニングを司っているシステムがなぜ「ファブリックコントローラ」と呼ばれるのかも、この仕組みを知っているとわかりやすいと思います。これはまさに、織物を組み立て上げるような作業と言えるでしょう。コンピュートサービスに関して真っ先に知っておくべき点として、ユーザが各マシン(仮想マシン)に直接デスクトップログオンして操作することができない、ということがあります。ファイルをアップロードしたり、書き換えたりすることができる。リモートシェルを使って、ファイルを読み書きしたりすることができる。コンピュートサービスでは一切できません。インスタンス数を簡単に増減できるようにするため、でしょう。サーバを複数のユーザが共有する、という形を取ります。サーバに負荷分散させるといったことはまったくできません。コンピュートサービスでは、各マシンにログインしたり、各マシンを個別にいじったりすることができないかわりに、以下のようなことができます。インスタンス数を増やす。インスタンス数を減らす。大規模トランザクションを処理するようなオンラインシステムの場合には、ピーク時のトラフィックと平常時のトラフィックに大きな違いがあるようなシステムが少なくありません。このようなシステムでは、従来ではピーク時のトラフィックに併せてサーバ台数を決定する、という設計を行っていましたが、これではお金がかかりすぎます。このため、その時点時点に見合ったリソースを用意すること、すなわちトラフィック量に併せて処理キャパシティを動的に増減させる(=繁忙期や繁忙時間帯のみ、仮想マシンの数を増やして処理キャパシティを一時的に増やす)ことでコストを抑えることがとても重要になります。コンピュートサービスです。思ったのが正直なところです。ワーカプロセスのバインド、Hyper-V、などなど)。サイズが指定できるのですが)、という極めて割り切られた設計がなされています。コンピュートサービスでは、基本的に仮想マシンのインスタンス数を増加させるというオプションしか存在しません。この割り切り設計は非常に乱暴ですが、半面、極めて単純なスケーラビリティ調整システムが実現できるというメリットがあり、なるほどそう考えると極めてよく出来たシステムだなぁと思いました。(スケーラビリティに限らず、いろんなところにこの割り切り設計の良さが表れていますので、考えてみるとよいと思います。利用することができます。コンピュートサービスで使われるマシン群とは別物です。イメージとしては、同一データセンタ内の別のマシングループを使っている、と考えるとよいでしょう。データベースサービスが乗っているわけではないので、ご注意ください。対して、いくつかのカスタマイズと制限事項を加えることによって作られたものです。このため、以下のような特徴があります。データベースにアクセスすることができる。データベースサービスにつないで、データベースを管理することができる。現時点ではツールに一部制限あり)非常に面白いのは、データベースアプリケーションの開発スタイルが従来の方式とほとんど変わらないという点です。Instance=Trueといった接続文字列を使います。ID=nakama@mbkz90u87g;Password=xxxxxxxx;Trusted_Connection=Falseといった接続文字列に変更します。データベースにアクセスすることができます。従来のコードとほとんど変わりがないことがわかるかと思います。データベースサービス用のものに変更する、という形にすればよいでしょう。接続ができなければなりません。(イントラネットからアクセスしたい場合には)社内のファイアウォールを超えられるように設定をしたりツールをインストールしたりする、という作業が必要になります。通信を認めていません。データベースサービスを使いたい場合には、何らかの対処が必要になることが多いです。インスタンス)あたりの容量上限が比較的厳しい。サービス可用性が保障されている。このため、データ量が多いシステムの場合には、以下のような対処が必要になります。データベースで取り扱う。(=アプリケーションレベルからデータをパーティショニングする。台のマシンに複製した形で保持します。分)が保障されるようになっています。内部的には、以下のように動作しています。呼ばれるサーバが受け付ける。このサーバがロードバランサとなり、特定のマシン(当該データベースを持っているマシン)に接続をルーティングする。よる接続ルーティング先が変更される。台のマシンに自動的に複製される。カスタムに作り込んだ特殊なレプリケーションシステムが使われている。上記のデータ複製は、同一データセンタ内で行われます。このため、ディザスタ時(災害時、例えばデータセンタが地震で潰れた等)にはデータがロストすることになります。ディザスタを回避するためのデータバックアップや、別拠点へのデータバックアップについては、現時点では自力で行う必要があります。(将来的には同一データセンタ内またはデータセンタまたがりでデータベースを簡単にコピーできるようなツールやコマンドが提供される予定です。台のマシンに反映が終わっている)。このため、マシンクラッシュ時であっても、コミットされたトランザクションがロストすることはありません。制限されている、などの理由により、それほど大きな性能劣化にはなりません。データベースサービスのようなクラウド型のデータベースサービスというものは、極めて高い性能要件(特に応答速度要件)を満たすことが原理的に難しいものです。)、さらにデータベースサーバ自体、複数のユーザによって共用されています。したことを考えると、応答速度の保障が求められるようなシステム(例えばオンライントレードシステムのようなもの)には、クラウド型データベースは原理的に不向きである、と言えるでしょう。(ちなみに、極端に負荷の高い処理をしているユーザを強制的に遮断・切断する仕組み(スロットリングシステム)は持っていますので、タチの悪い他のユーザによってデータベースが使えなくなる、といったことがないようにはなっています。)これ以外にも、データベースに関して様々な制約事項(分散トランザクションが使えない、ヒープテーブルが使えない、etc.)がありますが、これらについては後ほど記述します。制約事項はそれなりにありますが、一般に、高可用性データベースの運用というのは非常に難しく、コストもかかるものです。制限事項はあれど、使える部分には積極的に使っていきたいサービスではないかと思います。ストレージサービスについて解説します。エントリが長いので分割しました。FeedbackTrademarks。