決定の条件を分析する
自転車レンタル ビジネスを運営するには複数の異なるビジネス プロセスがあります。 たとえば、自転車レンタル プロセス、返却プロセス、自転車予約プロセス、そしてスタッフの休暇予定のような自転車には直接関係のないプロセスなどがあります。
これらのプロセスの構築に使用できる数多くの Azure テクノロジを紹介しました。 それでは、特定のプロセスを決定する方法に関して、もっと具体的に見てみましょう。
サービスを選ぶ方法
次の図では、特定のビジネス プロセスに使用する最適なテクノロジを選択するために使用できる簡単なフロー チャートを示します。
最初の質問は、GUI デザイナー ツールでワークフローを設計したいか、またはコードを記述したいかです。 デザイン優先ツールを使用する正当な理由としては以下があります。
- ワークフローを設計する人にコーディングの経験がない。
- 後の設計者やユーザーがグラフィカルな設計を見て、ワークフローのしくみを明確に理解できる。
または、次のような理由があれば、コード優先ツールの使用を選択できます。
- ワークフローを設計するユーザーが開発者であり、すべての処理をコードで行うことを好む。
- コーディング担当者以外にはワークフローの詳細が見えないようにする必要がある。
design-first テクノロジを選択する
デザイン優先アプローチの使用を選択する場合は、Microsoft Power Automate と Azure Logic Apps から選択する必要もあります。
ここでの最も重要な質問は、ワークフローの設計を誰が行うのか、開発者かそれともユーザーか、ということです。
Logic Apps には、ワークフローを描画できるビジュアル デザイナーがあります。 直感的で使いやすいですが、内部を詳しく調べて、ワークフロー用のソース コードを編集することもできます。 このツールは、開発スキルを持つユーザー用に設計されています。
Microsoft Power Automate では、一般的な種類のワークフロー用に追加のヘルプとテンプレートが提供されています。 ツールで作成されたソース コードを編集する方法はありません。 このツールは、ビジネス プロセスはよく理解していても、コーディング スキルは持っていないユーザーに適しています。
code-first テクノロジを選択する
コード優先アプローチの使用を選択した場合は、次に WebJobs または Azure Functions を選択します。
Azure Functions には、広範なトリガーとサポートされる言語、ブラウザーでテスト コードを開発する機能、従量課金制の価格モデルなど、追加の機能が含まれるため、まずは Azure Functions を選択することを検討します。 WebJobs を選択した方がよい可能性がある状況がいくつかあります。
- 既存の Azure App Service アプリケーションがあり、アプリケーション内のワークフローをモデル化したい場合。 この要件は、ワークフローをアプリケーションの一部として管理できることも意味します (たとえば Azure DevOps 環境内)。
- Azure Functions ではサポートされていない特定のカスタマイズを、
JobHost
に対して行いたい場合。 - アプリの再試行ポリシーを制御する必要があります。
- WebJobs の場合、C# は Microsoft Windows でのみサポートされています。
テクノロジの組み合わせ
異なるワークフローに対して同じテクノロジを使用する必要はないことに注意してください。要件が異なる場合、意思決定プロセスの最後に異なる回答に到達する可能性があります。 さらに、あるワークフローを別のワークフローから呼び出すこともできます。 たとえば、Microsoft Power Automate で実装されたワークフローから、Azure 関数として構築された別のワークフローを簡単に呼び出すことができます。
ビジネス プロセスで使用するテクノロジを組み合わせる理由の 1 つは、完成したワークフローの小さな一部をユーザーが制御できるようにする場合です。 そのセクションを Microsoft Power Automate で実装することによってこれを行った後、そのフローをロジック アプリ、WebJob、または関数から呼び出します。