どのようなときに Azure Logic Apps を使用するか

完了

ここでは、Azure Logic Apps がワークフローにとって最適な選択であるかどうかを判断する方法について説明します。 まず、Azure Logic Apps でパフォーマンスと機能の目標を満たせるかどうかを示す基準をリストアップします。

意思決定の基準

Azure Logic Apps は、さまざまなシステム間のデータ フローを調整するのに役立ちます。 一般的に、リアルタイムの要件がある、ビジネス ルールが複雑である、標準以外のサービスを使用しているといったケースでは、Azure Logic Apps が最適なオプションではないことがあります。 これらの各要素について、以下で簡単に説明します。

要素 説明
統合 Azure Logic Apps を検討するときの重要な質問は、"サービスを統合する必要があるか" ということです。Azure Logic Apps は、複数のアプリケーションやシステムを連携させる必要がある場合に適しています。 まさにそのために設計されています。 外部との接続のないアプリを構築している場合、おそらく Azure Logic Apps は最善の選択ではないでしょう。
パフォーマンス 次に考慮するのはパフォーマンスです。 Azure Logic Apps の実行エンジンは、アプリを自動的にスケールします。 Azure Logic Apps では大規模なデータ セットを並列で処理できるので、高スループットが実現します。 ただし、超高速のアクティブ化は保証されず、実行時間に対するリアルタイムの制約も適用されません。 1 秒未満の低応答時間を求めている場合、Azure Logic Apps は最適ではない可能性があります。
条件 Azure Logic Apps にはブール式、switch ステートメント、ループなどのコントロール コンストラクトが用意されており、アプリでデータに基づいた決定を行えるようになっています。 ロジック アプリ ワークフローでは、非常に複雑で深い入れ子になった条件を構築できます。 それを望まない人もいますが、それには 2 つの理由があります。 第 1 に、多くの場合、ワークフロー デザイナーを使用するよりもコードで条件付きロジックを記述する方が簡単です。 第 2 に、埋め込まれたビジネス ルールは他のアプリと簡単に共有することができません。 複雑なビジネス ルールを直接ロジック アプリ ワークフローに含めることを好む人もいます。 Azure 関数などを記述して条件付きロジックをカプセル化し、所有するすべてのアプリからその関数を呼び出す方が簡単だと考える人もいます。
コネクタ 最後に考慮すべきなのは、必要なすべてのサービスにアクセスできる事前構築済みのコネクタがあるかどうかです。 そうである場合、準備は完了です。 そうでない場合は、カスタム コネクタを作成する必要があります。 サービスに REST または SOAP API が既にある場合は、コードを記述しなくても、数時間でカスタム コネクタを作成できます。 そうでない場合は、コネクタを作成する前に、まず API を作成する必要があります。

基準を適用する

Azure Logic Apps は、コントロール ロジックをいくつか追加して複数のサービスを統合している場合に最適です。 ただし、多くの場合、その判断は主観的なものです。 サンプルのプロセスで、これらの基準をどのように当てはめられるか考えてみましょう。

架空のシューズ メーカーでは、ソーシャル メディアを監視し、古い動画をアーカイブ ストレージに移動し、オンラインで靴を販売する必要がありました。 目標は、これらのタスクが Logic Apps に適しているかどうかを判断することでした。 その判断を下すには、独自に開発した 4 つの基準 (統合、パフォーマンス、条件、およびコネクタ) を使って各タスクを分析する必要があります。 その結果を以下の表にまとめています。

統合 パフォーマンス 条件 コネクタ Logic Apps の使用
ソーシャル メディアの監視 複数のサービスを統合する ほぼリアルタイムの低待機時間を必要としない 1 つの単純な条件 必要なすべてのシステムで組み込みのコネクタを利用できる 可能
動画アーカイブ ユーティリティ 1 つのサービス、クラウド ストレージへのアクセスのみ必要 ほぼリアルタイムの低待機時間を必要としない 2 つの単純な条件 必要なすべてのシステムで組み込みのコネクタを利用できる 可能
オンライン直販 複数のサービスを統合する ほぼリアルタイムの低待機時間を必要としない 複数の複雑な条件 複数のカスタム コネクタが必要 可能性あり

この分析には興味深い考慮事項がいくつかあります。

  • 動画のアーカイブ タスクは、複数のシステムを統合するわけではありませんが、Logic Apps に適しています。 Azure Logic Apps には、このプロセスを実装するのに最適な組み込みのタイマー トリガーと Azure BLOB コネクタがあります。

  • オンライン販売プロセスには複雑なビジネス ロジックが含まれている可能性があります。 たとえば、購入額や、宛先に応じて運送会社が異なる場合、承認プロセスも異なる可能性があります。 Azure Logic Apps なら、これらの条件を簡単に処理できます。 これらのビジネス ルールをアプリに埋め込むかどうかは、自由に決めることができます。

  • オンライン販売プロセスでは、おそらく組み込みコネクタとカスタム コネクタの組み合わせを使うことになるでしょう。 メール通知とデータベース アクセスには組み込みのコネクタが使えますが、独自の支払い処理サービスとの対話には、おそらくカスタム コネクタが必要になります。

  • Azure Logic Apps にはこれらすべてのタスクに十分に対応できる性能があります。 一部で大量のデータ処理が行われる可能性がありますが、Azure Logic Apps が自動的にスケールして高スループットや需要の急増に対応します。 これらのタスクのいずれにも、待機時間の少ない応答時間は必要ありません。 問題が生じるのは、ほぼリアルタイムの制約がある場合だけです。

Azure Logic Apps は、これらのすべてのタスクで機能します。 唯一、すべてのオプションを検討しなければならないのは、オンライン販売プロセスです。 必要なカスタム コネクタを作成するためのリソースがあれば、Azure Logic Apps は適した選択であるといえるでしょう。

ガイダンスのまとめ

次のフローチャートは、Azure Logic Apps の使用を検討する際に確認するべき重要な質問をまとめたものです。

Flowchart of the key questions to ask when evaluating Azure Logic Apps for your work.

Azure Logic Apps が自社のビジネスに適切かどうかを判断するのに役立つフローチャート。 このフローチャートは、自社のビジネスに対して Azure Logic Apps を評価する際に確認するべき重要な質問をまとめたものです。 第 1 に、複数のシステムの統合が必要なプロジェクトか。 第 2 に、低待機時間が必要か。 第 3 に、プロセスに複雑なロジックが含まれているか。 第 4 に、アクセスする必要があるすべてのシステム用のコネクタがあるか。