1

WindowsAzureでのプロジェクトの開発コストを見積もろうとしています。しかし、いくつかの統計は少し曖昧です。これが私の質問です:

ストレージ
ストレージトランザクションの数をどのように計算/推定できますか。例を見てみましょう。1人のユーザーが1Moのファイルを1つダウンロードした場合、トランザクションはいくつですか。

Webおよびワーカーロールインスタンス
Webロール(ステージング)があり、それを非アクティブ化した場合、つまり、彼のステータスは停止されます。あなたはそれを支払いますか?それを停止する必要がありますか、それともホストされているサービス全体を削除する必要がありますか。

帯域幅帯域幅
をどのように見積もることができますか。

(たぶん他の質問が後に来るでしょう)

ご回答ありがとうございます!

4

3 に答える 3

2

ストレージ: http: //blogs.msdn.com/b/windowsazurestorage/archive/2010/07/09/understanding-windows-azure-storage-billing-bandwidth-transactions-and-capacity.aspx

  • 32 Mバイトを超えるBLOBをアップロードする場合、ストレージクライアントライブラリはデフォルトで4Mバイトのブロックに分割します。ブロックサイズは、CloudBlobClient.WriteBlockSizeInBytesフィールドを設定することで変更できます。32MBを超えるBLOBをアップロードする場合、クライアントライブラリは各ブロックを個別のPutBlock RESTリクエストとしてアップロードし、最後にすべてのブロックをPutBlockListでコミットします。各PutBlockは1トランザクションとしてカウントされ、最後のPutBlockListも1トランザクションとしてカウントされます。
  • BLOBサービスへの単一のGetBlobリクエスト=1トランザクション
  • BLOBサービスへのリクエストが1つあるPutBlob=1トランザクション
  • 大規模なBLOBアップロードにより、PutBlockを介して100のリクエストが発生し、コミットの場合は1つのPutBlockList=101トランザクション
  • 合計5つのリクエストを使用して多数のBLOBを一覧表示する(4つの継続マーカーによる)=5つのトランザクション

Webおよびワーカーロールインスタンス:これらのインスタンスが停止された場合でも、リソースは引き続き予約され、支払いを継続します。支払いを停止するには、インスタンスの数を減らすか、ホストされているサービスを削除する必要があります。

帯域幅:見積もりは常に困難ですが、次のことを考慮する必要があります。

  • 転送するデータの種類
  • データは圧縮されていますか?
  • (アクティブな)ユーザーは何人いますか?
  • 北米やヨーロッパにも転勤していますか?または他の場所へ(これらはより高価です!)
  • 入力は無料で、同じデータセンター内の通信は無料です。データセンターを離れるデータに対してのみ料金を支払います。
于 2012-06-14T13:10:09.967 に答える
2

@Sandrinoによる素晴らしい答え。さらにいくつかの興味深い点を追加しましょう。

  • ストレージトランザクションの価格は先週10倍に下がり、今では100,000トランザクションあたり1ペニーになっています。トランザクションのコストは、コンピューティングとストレージのコストと比較して、実際には重要ではありません。これを概観すると、1日の1秒ごとに4MBのブロックがアップロードされている100MBのファイルを想像してみてください。ファイルアップロードのトランザクションが4つある場合:(4x60x60x24x30)/ 100,000=103ペニー。
  • 特定のロールをシャットダウンする場合:Webロールと、夜間の処理を行う特定のワーカーロールがあり、たとえば1時間だけワーカーロールが必要であるとします。その1時間の間に、いくつかのインスタンスにスケーリングします。1時間の終わりに、その役割をゼロインスタンスに減らすことはできません。最小は、役割ごとに1つのインスタンスです。このようなパターンがある場合は、夜間の処理を別のデプロイメント(基本的には独自のサービス)に配置することをお勧めします。次に、毎晩、「夜間サービス」で新しいデプロイメントを作成します。すべての作業が完了するまでそれを実行してから、デプロイメントを削除します。
  • 計算コストが高くなり、複数の役割(先ほど説明したWeb +ワーカーの例など)がある場合は、機能を1つの役割に組み合わせることができます。これらの役割は基本的にWindows2008サーバーVMであるため、複数のスレッドの作成、プロセスの起動などを妨げるものは何もありません。単一の役割ですべてを実行すると、スケーリングの制限があります(たとえば、バックグラウンド処理により、その1時間の間にCPUのWebサイトが不足する可能性があります。処理)が、将来的にはいつでもコードを別々の役割に分割することができます。
于 2012-06-14T14:57:39.833 に答える
0

また、サービスインスタンスではなく仮想マシンインスタンスを実行している場合は、VMSがBLOBストレージでホストされていることも付け加えておきます。

これは、通常のオペレーティングシステムのディスクI/Oに費用がかかる可能性があることを意味します。

計算時間には、WindowsAzure仮想マシンで実行されているイメージに関連するWindowsAzureストレージのコストは含まれていません。これらの費用は別途請求されます。

参照:http ://www.windowsazure.com/en-us/pricing/details/

これを読むMSの人々がいるかどうかはわかりませんが、彼らはそれを片付けることができます。

**コメントとして追加したはずですが、それ自体で答えになるほど重要だと感じています

于 2012-06-14T19:03:28.483 に答える