2012-01-26 6 views
1

Azureで複数の展開を処理する最も適切な方法は何ですか?Azureで複数の展開を処理する

私たちは複数の無関係の顧客を持つように設定されています。各顧客は独自のデータベースを必要とし、マルチテナントを稼働させることはないため、各顧客にも独自の紺色のアプリケーションを提供する必要があります。

これを処理する最善の方法は何ですか?ユーザーごとに新しいアカウントを作成し、各アカウントを追跡するのですか?それともマスターアカウントを持っていますか?もしそうなら、どうすればいいのですか?

答えて

1

私はこれを言うのは嫌いですが、あなたはマルチテナントをある程度稼働させることで大成功を収めるでしょう。顧客ごとに個別のデータベースを用意し、どのデータベースがどの顧客に属しているかを判断するソートブローカーを持つことは、ひどい考えではなく、マルチテナントです。 Azureでは、すべてのお客様に単一のコードベースと単一の配置を維持することが重要です。すべての顧客に個別のコードベースを展開して実行しようとすると、本当にAzureの経験(または他の環境)が気に入らないでしょう。

申し訳ありませんが、HTH。

2

アプリケーションの適切なマルチテナントを実装するまでは、顧客ごとに個別のサブスクリプションを使用するか、一時的にサブスクリプションごとに複数のロールを使用することができます。

複数の役割の最大の問題は、新規顧客を追加するときに再デプロイする必要があることです。複数のアップグレードドメインまたはステージとVIPのスワップを使用してダウンタイムを回避できますが、理想的なパターンではありません。不要なデプロイメントは危険であり、実際には構成管理プロセスが複雑になるためです。

短期間では、私は別々のサブスクリプションに固執します。消費される総リソース、したがってコストは、単一のサブスクリプション内で複数のロールを実行することと大きく異なるものではありません。また、計量と請求をより簡単にするでしょう。私はちょうどあなたが何千人もの顧客ではないと話してくれることを願っています!

一方、完全なマルチテナントモデルへの移行に全力を尽くすことができます。私はちょうどそれについてのいくつかのブログ記事を書く過程にあるので、私が覚えていれば、私は私の答えを更新するでしょう。

+0

を飢えの心配を必要としません。これは2011年10月に発表されました - http://blogs.msdn.com/b/windowsazure/archive/2011/10/19/announcing-improved-in-place-updates.aspx –

1

マルチテナントアプリは、認証/認可、テナント間のリソース使用率、テナント間のメーターリングなどを注意深く調べる必要があるため、必ずしも単純ではありません。また、アプリケーションに障害が発生した場合、複数の顧客のSLAに影響を与える可能性があります。次に、データベーススキーマがあります。テナントごとに1つのdbに固執するか、テナントIDフィールドのあるタイプのデータベースを1つ作成します。

特にコスト管理とコードベースの一貫性の点で、マルチテナントアプリが望ましいアプローチであるという点で私は本当に他の答えに同意します。ただし、シングルテナントアプリを使用すると仮定します。

  • カスタマーごとに個別のデプロイメントを作成します。
  • アカウントを管理して顧客に請求する場合は、容量に達するまで1回の購読で行ってください。複数のサブスクリプションに利点はありません。
  • 顧客がアプリを展開して維持されている場合は、あなたがシングル展開モデルでいくつかの利点を持っている

彼らは自分のサブスクリプションを使用してみましょう:パッチ/カスタマイズを展開する

  • 能力を
  • 明確な顧客請求:展開コストがどのようなものであれ、そのコストは特定の顧客に100%適用されます。
  • 特定の顧客のトラフィックを満たすために/アウトスケールアップする能力は
  • 一人の顧客のシステムを悪用し、実際には、あなたが今、再デプロイせずに役割を追加および削除することができ、他の顧客
+0

マルチテナントアプリケーションがWindows Azure内でどのように動作するかを理解したい場合は、この本をお読みください。http://www.amazon.com/Developing-Applications-Microsoft-Platform-Practices/dp/0735656061/ref = sr_1_1?ie = UTF8&qid = 1327607366&sr = 8-1 –