Start Debugging
2020-11-18 更新日 2021-02-19 azureazure-functions Edit on GitHub

Azure Functions と WebJobs - どちらを選ぶか

Azure Functions と WebJobs を比較します。スケーリング、料金、トリガーの主な違いと、どちらをいつ選ぶべきかを解説します。

どちらも開発者を対象にした code-first テクノロジーです (design-first のワークフローサービスとは対照的に)。複数の業務アプリケーションを 1 つのワークフローへオーケストレーション・統合でき、ワークフローのパフォーマンスをより細かく制御でき、ビジネスプロセスの一部としてカスタムコードを書くこともできます。

Azure WebJobs

WebJobs は Azure App Service の一部で、プログラムやスクリプトを自動で実行するために使用できます。WebJob には 2 種類あります。

WebJob のアクションを決めるために、さまざまな言語でコードを記述できます。例えば、Shell Script (Windows, PowerShell, Bash) で WebJob をスクリプト化できます。あるいは、PHP、Python、Node.js、JavaScript、.NET、その他フレームワークが対応する任意の言語でプログラムを書くこともできます。

Azure Functions

Azure Function は多くの点で WebJob に似ていますが、主な違いはインフラについて一切気にする必要がない点です。

クラウド上で小さなコード片を実行するのに最適です。Azure は需要に応じて自動的に Function をスケールし、consumption plan ではコードの実行時間分のみ料金を支払います。

さまざまなトリガーで実行できます。例えば、次のとおりです。

違い

機能Azure WebJobsAzure Functions
自動スケーリング不可
ブラウザーでの開発・テスト不可
従量課金 (pay-per-use)不可
Logic Apps との統合不可
パッケージマネージャーWebJobs SDK を使用する場合は NuGetNuGet と NPM
App Service アプリケーションの一部にできる不可
JobHost の細やかな制御を提供不可

まとめ

Azure Functions は一般的に柔軟で運用も容易です。しかし、次のような場合は WebJobs のほうが優れた選択になります。

Comments

Sign in with GitHub to comment. Reactions and replies thread back to the comments repo.

< 戻る