ビジネス ロジックを実行するために Azure Functions を選択するのが適している状況

それでは、自転車レンタル ビジネスの別のプロセスを調べて、ニーズに最適なテクノロジを決定しましょう。 プロセスと対象ユーザーの技術的な側面と、プロセスに必要な発展方法を検討します。

シナリオ

現在、自転車整備士は、自転車が顧客から返却されたときに各自転車の修理と保守で行ったアクションを、スプレッドシートを使って記録しています。 スタッフには自転車が修理やパーツを待機していることを知る方法がないため、スペア パーツが必要なときに問題が発生しています。 この問題のため、ブレーキ パッドがすり減っていたり、タイヤがパンクしていたり、その他の問題を抱えたりしている自転車が顧客に貸し出されて、高品質の自転車レンタル会社としてのブランドを損なっています。

あなたは、保守と修理のプロセスを管理するシステムを構築して、誰でも次の質問に対する回答を検索できるようにしたいと考えています。

  • ある自転車に対してどのような作業が完了しているか。
  • 自転車を再び貸し出せるようになる前に完了する必要がある、どのような作業が残っているか。
  • 現在貸し出すことができる自転車はどれか。
  • 現在貸し出すことができない自転車はどれか。
  • 貸し出すことができない各自転車について:
    • なぜ貸し出すことができないか。
    • パーツが届くのを待っているのか、それはどのようなパーツか。
    • 自転車を再び貸し出せるようになるのはいつごろか。

このシステムを前のユニットの自転車予約およびレンタル プロセスと統合し、店舗スタッフが使用可能な自転車を検索したときに、現在貸し出すことができる自転車のみが見つかるようにしたいと思います。 あなたは、マネージャーからこのプロジェクトの開発者として指名されました。

ビジネス プロセス

あなたは、両方のキャンパスの自転車整備士によるレンタル後の自転車の保守が、確実に下記のワークフローに従って行われるようにしたいと考えています。

自転車保守ワークフロー

詳細は次のとおりです。

  1. 顧客が任意の場所に自転車を返却する。 自転車の保守プロセスが開始する。
  2. 整備士が自転車を利用不可としてマークする。
  3. 整備士が、タイヤ、ブレーキ、ドライブ チェーン、ライトを含むチェックの完全なリストを完了する。
  4. 新しいパーツが必要か?
    1. 新しいパーツが必要だが、在庫にパーツがない。
      1. 整備士が新しいパーツを注文する
      2. パーツが届く
    2. 新しいパーツを取り付ける
  5. 整備士が最終的な変更を完了する。
  6. 整備士が自転車を貸し出し可能としてマークする。

テクノロジを選択する

ビジネス プロセスを実装し、自転車追跡データベースと統合するため、次の一連のテクノロジについて考えてみましょう。

  • Microsoft Flow
  • Azure Logic Apps
  • Azure Functions
  • Azure サービス アプリ WebJobs

前のシナリオと同様に、これらのどのテクノロジを使用してもワークフローを構築できます。 ただし、最適な選択肢を決定する 2 つの問題があります。

デザイン優先かコード優先か

Logic Apps または Flow だけを使ってこのワークフローを実装するのは困難です。 詳細についてはあまり確認していませんが、このプロセスでは在庫管理システムにアクセスし、サード パーティのパーツ会社に注文する必要があることは明らかです。 これは新しいビジネス ロジックであり、デザイン優先アプローチを検討するという要件はありません。 カスタム コネクタでソリューションをラップし、Logic Apps または Flow で作成された他のワークフローと統合することができます。 開発者であるあなたは、コード優先アプローチからこのシナリオに取り組むことで最大限の柔軟性が得られます。さあやってみましょう。

Azure Functions か、Azure App Service WebJobs か

次の 2 つのテクノロジのどちらにするかを決める必要があります。

  • Azure Functions
  • Azure App Service WebJobs

次の要因が選択を左右します。

  • コスト: WebJobs では、ジョブをホストする VM または App Service プランの全体に対して支払います。 Azure Function は従量課金プランで実行できるので、関数の実行時にのみ課金されます。 このプロセスは自転車が返却されたときにのみ開始されるため、Azure Functions を選択すると節約できる可能性があります。
  • 統合: 保守ワークフローを、前のユニットの自転車予約およびレンタル プロセス用に作成したロジック アプリと統合する必要があります。 ロジック アプリから WebJobs を呼び出すことはできますが、Logic Apps と Functions の統合の方が緊密です。 たとえば、Logic Apps デザイナーから関数の呼び出しをより簡単に制御できます。

これらの理由から、自転車保守ビジネス プロセスの管理には Azure Function を選択します。