Azureでのマネージアプリケーションのホスト
-
22-07-2019 - |
質問
ASP.net Webアプリケーションがあり、Azureでホストして同時ユーザーで数千に拡張したいと考えています。また、長時間実行されるプロセスを処理するTCP / IPまたは.netリモーティングを使用してWebアプリがアクセスする、.NETで記述されたアプリケーションとサービスの束があります。たとえば、メディアトランスコーダーサーバー、システムモニター、イメージサーバー、スケジュールサーバーなどです。
質問:
- Azureでは、Azureインスタンスにこれらをインストールできますか?
- サイトの需要が増加し、Azureが複数のインスタンスに拡張する必要がある場合、これらのサーバーのインスタンスは1つだけ必要です。メインインスタンスのIPをどのように取得しますか。
解決
Azureで実行するには、既存のアプリケーションを書き換える必要があります。
クラウドでインスタンスを実行する方法を探しているように聞こえますが、以下をご覧ください:
他のヒント
Windows Azureは完全信頼のサポート、Azure WebRoleまたはWorkerRoleで実質的にすべてのアプリを実行できます。主な難点は、Windows Azure向けにアプリを再パッケージする必要があることです。アプリが.NETで記述されている場合、ポートはかなり簡単です。
長時間実行されるプロセスに関しては、Queue / Workerパターンは非常に便利です。 Lokad.Cloud を参照してください。
Azureにサービスをインストールするのではなく、Azure内でワーカーロールとして実行するようにサービスを再設計する必要があります。パターンが非常に似ているため、それほど難しくないかもしれません。ただし、Microsoftは「VM Roles」を追加する可能性が非常に高くなります。 AmazonのEC2インスタンスと競合するために来年初めにAzureに移行します。 VMの役割が実装されると、おそらくあなたが好きなことをすることができます。つまり、サービスをインストールします。
驚くほど、Azureはユースケースを念頭に置いて構築されました。 Azureのサービスを再パッケージ化する必要があります(他の人が言っているように)。 Azure情報にはMicrosoft PDCをお勧めします。素晴らしいプレゼンテーション、記事、ビデオ、サンプルがたくさんあります。
Azureには、サービスをIPアドレスにマッピングする優れたシステムがありました。これはAppFabricサービスバスと呼ばれます。サービスバスに接続すると、サービスのコンシューマーまたはサービスのプロバイダーとして接続します。バスは、消費者とプロバイダーを一緒にマッピングします。消費者またはプロバイダーを世界中およびファイアウォールの内側で実行することもできます。これはまさにあなたが探しているもののように聞こえます。このシステムでは、IPアドレスをまったく心配する必要はありません。アプリケーションIDとトークンを使用して接続し、名前でサービスを要求します。 Azureが残りを処理します。
各ロールのインスタンス数を増減するには、サービス構成ファイルを編集して適切なロールのインスタンス数を変更し、変更をAzureに送信するだけです。インスタンスが自動的に調整されます。
ヤコブ