ビジネス ロジックを実行するために Azure Functions を選択するのが適している状況
それでは、自転車レンタル ビジネスの別のプロセスを調べて、ニーズに最適なテクノロジを決定しましょう。 プロセスと対象ユーザーの技術的な側面と、プロセスに必要な発展方法を検討します。
シナリオ
現在、自転車整備士は、各自転車の修理と保守で行うアクションを、スプレッドシートを使用して記録しています。 スタッフには自転車が修理やパーツを待機していることを知る方法がないため、スペア パーツが必要なときに問題が発生しています。 この問題の結果として、ブレーキ パッドがすり減っていたり、タイヤがパンクしていたり、高品質の自転車レンタル会社としてのブランドを損なう可能性があるその他の欠陥がある自転車が顧客に貸し出されています。
あなたは、保守と修理のプロセスを管理するシステムを構築して、誰でも次の質問に対する回答を検索できるようにしたいと考えています。
- ある自転車に対してどのような作業が完了しているか。
- 自転車を再び貸し出せるようになる前に完了する必要がある、どのような作業が残っているか。
- 現在貸し出すことができる自転車はどれか。
- 現在貸し出すことができない自転車はどれか。
- 貸し出すことができない各自転車について:
- これを貸し出すことができないのはなぜですか?
- パーツが届くのを待っているのか、それはどのようなパーツか。
- 自転車を再び貸し出せるようになるのはいつごろか。
このシステムを、前のユニットの自転車の予約とレンタルのプロセスと統合したいと考えています。 そのようにすると、店員が利用可能な自転車を検索するとき、現在レンタルできる自転車だけが表示されます。 あなたは、マネージャーからこのプロジェクトの開発者として指名されました。
ビジネス プロセス
あなたは、両方のキャンパスの自転車整備士によるレンタル後の自転車の保守が、確実に下記のワークフローに従って行われるようにしたいと考えています。
詳細は次のとおりです。
- 顧客が任意の場所に自転車を返却する。 自転車の保守プロセスが開始する。
- 整備士が自転車を利用不可としてマークする。
- 整備士が、タイヤ、ブレーキ、ドライブ チェーン、ライトを含むチェックの完全なリストを完了する。
- 新しいパーツが必要か?
- 新しいパーツが必要だが、在庫にパーツがない。
- 整備士が新しいパーツを注文する
- パーツが届く
- 新しいパーツを取り付ける
- 新しいパーツが必要だが、在庫にパーツがない。
- 整備士が最終的な変更を完了する。
- 整備士が自転車を貸し出し可能としてマークする。
テクノロジを選択する
ビジネス プロセスを実装し、自転車追跡データベースと統合するため、次の一連のテクノロジについて考えてみましょう。
- Microsoft Power Automate
- Azure Logic Apps
- Azure Functions
- Azure サービス アプリ WebJobs
前のシナリオと同様に、これらのどのテクノロジを使用してもワークフローを構築できます。 ただし、最適な選択肢を決定する 2 つの問題があります。
デザイン優先かコード優先か
Logic Apps または Power Automate だけを使ってこのワークフローを実装するのは困難です。 詳細についてはあまり確認していませんが、このプロセスでは在庫管理システムにアクセスし、サード パーティのパーツ会社に注文する必要があることは明らかです。 これは新しいビジネス ロジックであり、デザイン優先アプローチを検討するという要件はありません。 カスタム コネクタでソリューションをラップし、Logic Apps または Power Automate で作成された他のワークフローと統合することができます。 開発者であるあなたは、コード優先アプローチからこのシナリオに取り組むことで最大限の柔軟性が得られます。さあやってみましょう。
Azure Functions か、Azure App Service WebJobs か
次の 2 つのテクノロジのどちらにするかを決める必要があります。
- Azure Functions
- Azure App Service WebJobs
次の要因が選択を左右します。
- コスト: WebJobs では、ジョブをホストする VM または App Service プラン全体に対して支払いを行います。 Azure Functions は従量課金プランで実行できるので、関数の実行時にのみ支払いを行います。 このプロセスは自転車が返却されたときにのみ開始されるため、Azure Functions を選択することで費用を節約できる可能性があります。
- 統合: 保守ワークフローを、前のユニットの自転車予約およびレンタル プロセス用に作成したロジック アプリと統合する必要があります。 ロジック アプリから WebJob を呼び出すことはできますが、Logic Apps と Functions の統合の方が緊密です。 たとえば、Logic Apps ビジュアル デザイナーから関数の呼び出しをより簡単に制御できます。
これらの理由から、自転車保守ビジネス プロセスの管理には Azure Function を選択します。