質問するのは公平だと思いますが、結果は常に異なり、その分野の人々からの回答は特定の状況に特化しすぎているため、誰もがあなたに答えを出すのに苦労するでしょう.
Azure で実行する実際のソリューションがあります。実際、Azure を使用することにした場合は、それを使用して Azure のコンピューティング インスタンスの割り当てを最適化することを検討してください: http://www.paraleap.com :)
環境をステージング エリアに展開/再展開/再展開する必要があるさまざまな時間 (時間単位で余分なコストがかかる) を見つけるためだけに、少なくとも 20% の余分なコンピューティング時間を予算に入れたいと言うことができます。これは、開発ファブリックで機能していたときにクラウドで機能しないものです。これは、アプリケーションの初期の不安定な時期に特に当てはまります。大規模な QA チームが Azure-QA 環境を完全に破壊するか、ベータ テストのために顧客のところに行き、彼らが Azure-Prod 環境をテストしているかは問題ではありません。それらを静かに頻繁に再展開する必要があります。さらに、すでに述べたように、必要に応じてインスタンス数を調整することを計画してください。できれば自動的に、またはスケジュールに従ってください。これを行うために独自の監視を作成する場合は、そのためだけに、開発コスト、ストレージ コスト、およびトランザクション コストに /bunch/ を追加します。パフォーマンス メトリックを少なくとも 1 回は保存し、少なくとも 1 回は再度読み込む必要があるため、これをアウトソーシングしても多少のコストがかかります。これにより、需要がどの程度変動するかに応じて、コンピューティング インスタンスのコストを簡単に 50 ~ 80% 節約できます。
ストレージ コスト - 使用パターンとターゲット スキーマを知っていれば、簡単に見積もることができます...問題は、以前にリレーショナル データベースを使用したことがあり、現在はテーブル ストレージを使用する場合、3 ~ 4 倍のサイズを計画することです。これは、リレーショナル データベースにあると考えていたであろうものです。table-storage を使用すると、ALOT をさらに非正規化できます。3 倍から 4 倍は乗数が小さすぎる可能性があります。結果は異なる場合があります。
取引コスト。私はこれらで、私の見積もりがさらに外れていることを発見しています。リレーショナルの世界から来た私は、必要なレベルの非正規化に対して完全に準備ができていませんでした。非正規化は、ストレージ コストの上昇につながるだけでなく、ストレージへの呼び出しが増える (さらに多くの呼び出しが発生する) ため、トランザクション数が増加します。
残念ながら、私のアプリの性質上、トランザクション モデルをうまく使用できません。1 つのテーブル内の 1 つの PartitionKey に多数のものが格納され、1 つのトランザクションでコミットされるトランザクションを使用できる場合、コストははるかに少なくなります。したがって、取引コストがどのようなものになると考えても、悲観的な側になるには、それに 10 を掛けます。
おそらく、転送コストはインターフェイスの一部であり、事前にはるかに適切に定義されているため、転送コストを計画するのが最も簡単であることがわかりました. あなたのマイレージは異なる場合があります。
最後に、診断データ - トレース/パフォーマンス カウンターなどを保存する必要があります。情報。それを計画することを忘れないでください。やや非正規化されており、十分なスペースを取ることができます。
SQL Azure は、同じデータ センター内であればトランザクション コストや転送コストによって課金されないため優れていますが、データを格納するためのスペースとコストが非常に限られています。そのため、頻繁に照会されるが小さいデータ項目に使用します。
お役に立てれば