2016-12-14 23 views
1

「Windowsサービス」と同等のAzure PaaSを構築したいと考えています。もちろん、VMを作成してWindowsサービスを展開することもできますが、これを行うにはスケーラビリティ/ PaaSの方法を探しています。基本的に私のアプリはキュー(Azure Service Bus)を監視するバックエンドサービスであり、メッセージがキューに入ったときに処理ロジック(処理ロジック、データベースへのアクセス、他のWebサービスの呼び出し、キューイング他のプロセスなど)。一部のサービスでは、子アプリケーションドメインの作成、一時ファイルのディスクへの書き込みなど、さらに高度な操作が必要な場合があります。バッチ処理用のAzureウィンドウサービス

このニーズを満たすには、どのようなAzureソリューションが必要ですか?

Azureはここ2、3年で多くの進化を遂げましたが、私のニーズを満たすのに最適なサービスを見つけようとすると混乱します。一部のプロジェクトタイプは廃止されているようですが、まだ古いドキュメント/ブログがたくさんあります。私は、WebJob、Worker Roles、Logic Apps、およびFunctionsを参照しています。 Azureサービスを構築する経験が豊富な人は、私のニーズを満たすためにどの技術を見ていなければならないのでしょうか?

私はこれが明白で一般的な必要性のように感じるかもしれませんが、間違った検索条件を使用しているだけで、私の正確なニーズに合った情報をたくさん見つけ出すことはできません。私が見つけた情報は2011年からのことです。それ以来景色が大きく変わったことを心配しています。

+0

WebJobと関数はあなたのために仕事をすることができます。利用可能なドキュメントはたくさんあります:webjobs https://docs.microsoft.com/en-us/azure/app-service/app-service-webjobs-readme?toc= %2fazure%2fapp-service-web%2ftoc。jsonと関数https://docs.microsoft.com/en-us/azure/azure-functions/index – Milen

+0

[Azure Batch](https://azure.microsoft.com/en-us/services/batch/)is is成熟したプロダクション対応サービスであり、その名前が示すように、バッチ処理ワークロード用に特別に調整されています。 Azureファンクショントリガーをキューにリンクすると、Azureバッチジョブを作成して、autopool(ジョブのオンデマンドでリソースを作成し、ジョブが終了したら自動的に削除する)やオートスケールコンピューティングリソースを自動的に拡大/縮小するためのさまざまなメトリック)。 – fpark

答えて

2

WebJobs、Logic apps、Service Fabric、またはFunctionsのような選択肢があります。これは、展開しているコードに対して必要な、または必要なコントロールの程度によって異なります。ワーカーロールはクラウドサービス用語であり、まだサポートされていますが、リストされている他のサービスの展開、スケーラビリティ、および管理がはるかに優れているため、一般的に推奨されません。

Webジョブと機能は、どちらも同じWebJobs SDKを使用して、キュー、ブロブまたはスケジューリングの実行からのトリガーのサポートを提供します。それらはどちらもアプリサービスプラン内で実行されますが、Webアプリケーションサービスインスタンスを表示または管理する必要がなく、ソースコードをデプロイするだけで機能する「サーバレス」です(コンパイルされます)。配備

サービスファブリックは、異なるビーストであり、復元性と低レイテンシの状態(データ)複製を提供しますが、ステートレスバッチ実行のオプションでもあります。これは、あなたのための復元力と配備を管理するカバーの下にVMノードのクラスタを作成します。もう少し理解して管理する必要がありますが、大規模なステートフルサービスなどには最適です。

論理アプリケーションは異なる実行/課金モデルを持ち、要求に応じて拡張されますが、実際に操作を実行するよりも、ワークフローを調整し、コンポーネントを一緒に結合することができます。つまりあなたのキューからデータを処理するためのコンポーネントは、どこかで実行する必要があります。おそらく、APIアプリケーションやホスティングしているAzure関数の中で実行する必要があります。

0

ロジックアプリケーションは、記述した正確なシナリオ用に設計されています。

サービスバスキューの新しいメッセージをトリガするロジックアプリケーションを作成できるはずです。

Logic Appsは、オンプレミスファイルシステム、XML検証、X12/AS2/EDI、JSON/XMLの解析、条件付け、ルーピングなどの組み込み関数とともに、SQL/Queue/RESTとの相互作用をネイティブにサポートしますLogic Appsで現在サポートされていないより高度なアクションについては、Azure関数でLogic Appsを拡張することができます。