1

私は、主にAzureでホストされる可能性が高い米国の顧客向けのマルチテナントWebアプリケーションの計画段階にあります。

私はさまざまな価格設定/導入計画を検討しており、次のことに興味がありました。

彼らのウェブサイトによると:

マルチテナント環境では、サブリージョンごとに最大10のWebサイトを無料で実行できます。トラフィックの増加に応じて、有料の共有マルチテナントまたはリザーブドインスタンスモデルにシームレスにアップグレードします。

上記は、同じサイトの異なるインスタンスまたは最大10の異なるサイトを意味しますか?

また、1つのWebサイトが複数のSQL Serverインスタンスをサブスクライブできるかどうかを知っている人はいますか?たとえば、データベースの最大制限、サイズは150GBです。

私の意図したサイトは、その成長の可能性を考慮して、最初の6か月で100〜200人のユーザーベースを持つ可能性があります。私の基本的な計画では、各顧客に少なくとも1GBのデータストレージを提供します。では、150 GBの制限を超えたとすると、同じサイトにデータベースを追加できますか?

私はCloud全体にかなり慣れていないので、私に耐えて、あなたの考えを共有してください。

4

2 に答える 2

5

私はAzureにマルチテナントアプリを持っており、あなたの説明と異ならないようにしています。大きなマルチテナントアプリの場合、私はWebサイトを忘れて、Webロールを使用します。また、クライアントごとに個別のサイトを用意することは避けます。理想的には、複数のインスタンスで負荷分散できる同じ役割を実行する必要があります。site1.mysite.com個々のユーザーごとにホストヘッダー(つまり)を設定することもでき、すべて同じWebロールで実行されます。

私はすべてのクライアントを同じデータベースで実行していますが、これは実装が難しくなく、拡張性が向上します(Googleにはクライアントごとにデータベースがあると思いますか?)。後でデータベースに移動できない理由や、SQL Azureフェデレーションを使用してクライアントごとにフェデレーションを設定できる理由はありませんが、他の方向に進むのははるかに困難です。クライアントごとに個別のデータベースがある場合は、各データベース(スキーマの更新、バックアップ)を個別に管理する必要があります。これは、はるかに多くの作業(および費用)になる可能性があります。ここではコストがデザインに影響します。1GBのデータベースは月額$10の費用がかかるため、クライアントが月額$ 20しか支払っていない場合、それは実際には実行可能ではありません。しかし、彼らが月額$ 1000を支払う場合、それは問題ではありません。

セッションを使用しないようにアプリを設計します。それほど難しくはなく、拡張性も向上します。

最後に、SQLAzureデータベースはスーパーハイエンドデータベースサーバーでは実行されません。データアクセスを最適化し、データベースサーバーの負荷を可能な限り増やす必要があります。たとえば、Azure Cachingを使用して参照データをキャッシュし、TableStorageを使用して監査ログまたは同様の履歴データを保存します。

于 2013-01-24T03:08:16.920 に答える
1

私の$0.02

  1. これは、無料モードで最大10のWebサイトを作成できることを意味すると思います。また、共有モードまたは予約モードにアップグレードすると、さらに作成できます。

  2. SQLサーバーにはいくつでも接続できます。WindowsAzureWebサイトのSQLサーバー接続に制限はないと思います。ただし、現在、データベースの最大サイズは150GBです。

  3. デフォルトで顧客ごとに1GBを提供することを計画している場合は、顧客ごとに個別のデータベースを作成することを強くお勧めします。これにより、セキュリティ境界が改善され、アーキテクチャとコード構造がクリーンになります。

于 2013-01-24T02:12:14.550 に答える