2016-06-15 4 views
2

私は紺碧およびクラウドプラットフォーム開発への新たなんだ - 私は、Webアプリケーションを持っていると私はAzureのWebアプリケーションインスタンス

会社テーブルと 外部キーを使用して別々の company_productsを使用して複数の企業を作成します。 企業ID

それぞれに独自のSQLデータベースがある複数のインスタンスを実行することはできますか?私はすべての顧客がユニークで、カスタマイズされたモジュールが必要な場合があるため、これを実行したいと思います。

+0

1つのWebアプリケーションで異なるスロットを使用し、作成するさまざまなデータベースを指していますか?私はAzureと一緒に仕事をしています。私は、生産に約4つのスロットを持つ単一のWebアプリケーションを持っています。確かにパフォーマンスの低下がありますが、それでも仕事は終わります。 –

答えて

1

アプリの作り方に制限はありません。あなたは望むだけ多くのデータベースを作成することができますし、複数のWebアプリケーションを持っていても構いません(同じアプリサービスプランでも複数のアプリサービスプランでも)。あなたはこれをどうやって行うのですか?厳密にはあなた次第ですが、何もするために単一のデータベースを使用する必要はありません。

0

Davidが言っているように、あなたはあなたが好きなようにこれを行うことができます。私の提案は、アプリケーションのweb.config内の接続文字列を使用して、通信したいデータベースインスタンスを制御することです。次に、Azureポータル(またはARMテンプレート)のAzure Webアプリケーションデプロイメントの「スロット設定」をその配備のWeb設定を上書きします。

インフラストラクチャを記述するARMテンプレートを作成し、アプリケーションサービスプラン、Webアプリケーション、Web設定、SQLデータベースを特定の名前のリソースグループ(つまり、顧客の1つをターゲットとする)に展開することができます。これにより、そのリソースグループ内のデータベースインスタンスを指し示す構成と、顧客固有の機能をオン/オフにするその他の構成があります。できるだけコードと配備を共通に保つようにしてください。さもなければ、将来的にメンテナンスの悪夢に終わるでしょう。

azureウェブアプリケーションの設定の詳細については、https://azure.microsoft.com/en-gb/documentation/articles/web-sites-configure/を参照してください。

1

質問を正しく理解している場合は、各顧客がそれぞれのインスタンスとデータベースを分離したいと思っていますか?

は、この記事を見てください:https://msdn.microsoft.com/en-us/library/ff966499.aspx

私はAzureのアプリケーションサービスを利用して、自分のアプリで、あなたの顧客のそれぞれを実行することをお勧めしたいです。すべてのアプリが同じApp Service Planで実行されるので、お金を節約できます。ただし、あるインスタンスでの使用は他のインスタンスでのパフォーマンスには影響しません。 App Serviceにはかなりのメリットがあります。

https://azure.microsoft.com/en-us/documentation/articles/azure-web-sites-web-hosting-plans-in-depth-overview/

出始めて、私は顧客ごとに個別のAzure SQLデータベースを使用してお勧めしたいです。これはS0/S1データベースを比較的安価に利用できるため、コストを節約するためです。次に、App Service Planの下にある各アプリのAzureポータルから接続文字列を設定することができます。

スケーリングがすぐに終了する場合は、「弾性データベース」を参照してください。あなたはデータベースサーバーを購入し、サーバーあたり200データベースのようなものを手に入れます。あなたがかなりの数の顧客を持っていてコストを正当化できれば、本当に経済的です。しかし、エラスティックデータベースプールの管理を容易にする有用なAzureツールがいくつかあります。詳細については、Azureのドキュメントを参照してください。

このアーキテクチャを設定したら、ポータルからインスタンス/データベースを管理するか、別のロジックアプリケーションを設定してすべてのインスタンスを管理できます。しかし、これがSaaS製品であり、非常に迅速に拡張する予定の場合は、事前にいくつかのプロセスを自動化することで、新しいインスタンスを手動で行う必要はありません。

個々のカスタムアプリケーションで異なるサブドメインを指すことができるため、このアプローチも好きです。 (つまり、customer1.yourdomain.com、customer2.yourdomain.com)。各アプリにはすでにazurewebsites.netの下に独自のドメインがあります。そのドメインを使用しても構わないのであれば、それに固執することができます。あなた自身のDNSを管理する必要はなく、SSL証明書について心配する必要はありません。それは既に管理されているためです。独自のカスタムドメインが必要な場合は、これに関する多くのドキュメントがあります。 Azureには、CNAMEレコードの自動作成中に自動的に新しいアプリケーションを起動し、DBをプールにデプロイしてDBなどを初期化するDNSサービスもあります。

関連する問題