web-dev-qa-db-ja.com

Azure FunctionsとLogic Apps

機能論理アプリ は、Microsoft Azureによる2つの異なる製品です。 Logic Appsよりも新しいFunctionsを好むユースケースは何だろうか。

26
Rotem Varon

「ここでは、Azure FunctionsとAzure Logic Appsのどちらを選択するかを決定できるユースケースをいくつか紹介します。

Azure関数:

  1. Azure Functionはイベントによってトリガーされるコードです
  2. Azure Functionsはローカルワークステーションで開発およびデバッグできます。これは、開発者の生産性を向上させる大きなプラスです
  3. より複雑なロジックを実行する同期要求/応答呼び出しを処理する場合、Azure関数が推奨されるオプションです

論理アプリ:

  1. Logic Appsは、イベントによってトリガーされるワークフローです

  2. Logic AppsはMicrosoft管理のコネクタに依存しているため、クラウドでのみ実行されます。 Logic Appsをローカルでデバッグ、テスト、実行することはできません

  3. Logic Appsは、信頼性の高い処理を必要とする非同期統合およびファイアアンドフォーゲットメッセージングに適しています。

Azure Functionsには十分なログ機能とトラブルシューティング機能があり、カスタム監視ツールを構築することもできます。機能はクラウドに依存せず、ローカルでも実行できます。」

12
Serverless360

Azure Functionsはcodeイベントによってトリガーされます。

Logic Appsは、イベントによってトリガーされるワークフローです。

それは、実際、それらが補完的であることも意味します。昨日のどこかの時点で、Logic Apps UXを介してLogic App内のワークフローの一部として関数を追加できます。

TL; DR-ロジックアプリではなくロジックアプリ+関数OR関数。

65

ロジックアプリは、ビジネスプロセスの自動化に使用されます。クラウドおよびオンプレミスシステムとの統合を簡単に行えるコネクタがいくつかあります。一方、Azure関数は、イベントに応答して何かを実行します。たとえば、メッセージがキューに追加されたとき、またはBlobが追加されたとき、これらを処理するなどです。Azure関数をHTTP APIエンドポイントとして公開して統合することもできますLogic Appsを使用してビジネスプロセスに組み込みます。

私の心の他の明らかな違いは価格設定です。Azureの機能は、実行する機能に使用される計算と、機能に関連付けられたメモリに基づいて課金されます( https://Azure.Microsoft.com/en-us/pricing/details/functions / )。

7
Mani

Azure Durable Functions のリリース後に、この質問に対する答えが変わった可能性があります。現在、2つのプラットフォームのオーバーラップは大きくなっています。どちらのサービスオファリングでも、サーバーレスワークフローを構築できます。 Azure Durable Functionsはコードベースのワークフローですが、Logic Appsは視覚的に設計されたワークフローです。

Logic Appsは、市場投入までの時間を短縮する非常に広範なコネクタのリストがあるため、統合ソリューションを構築する場合、およびリッチな視覚ツールに適しています構築および管理することをお勧めします。

耐久性のある関数は、堅牢なプログラミング言語のすべてのパワーと柔軟性が必要な場合、またはより優れた移植性が必要な場合に適しています。利用可能なバインディングとロギング機能で十分です。

2つのプラットフォームの詳細な比較は、この投稿では )です

3
Paco de la Cruz

私は両方を広範囲に使用します。シンプルなアプリ/ APIには、Azure FunctionよりもLogic Appsの方が好きです。 Logic Appsの知識の伝達は非常に簡単です。次の人は写真を見るだけです。ロギング/トレースもすでに組み込まれています。ただし、Logic Apps(およびFlow)は、if-elseまたはcase条件が複数ある場合、または複数のネストされたワークフローがある場合、乱雑になり、読みにくくなります。 Logic Appsでのエラー処理にも多くの課題が残されています。

1
Charlie C

私の考えをいくつか加えたかっただけです

Azure Function Apps

  • 高頻度タスク-1,000,000回の実行と400,000 GB-sのメモリは無料で、価格は非常に低くなります。コーディング言語機能のサポートを知ったら、非常に低コストで何百万もの実行を実行できます。
  • 複数のAzureサービスとのバインドが非常に簡単-ロジックアプリから頻繁に外部アプリにバインドする場合、ロジックアプリも簡単にバインドできますが、1〜2ドルかかります。また、関数を使用すると、外部Azureサービスへの簡単な入力および出力バインディングが可能になります。
  • ステートフル実行-永続タスクフレームワークを使用すると、複数の機能を実行し、ファンインとファンアウトを実行し、ステートフル実行を簡単に記述できます。
  • プログラミングおよびスクリプト言語-プログラミング言語を既に知っている場合、最小限の変更でアプリケーションの一部をクラウドに移行するための機能が簡単な方法かもしれません。

Azure Logic Apps

  • 低頻度-この最大の理由は価格設定モデルです。ロジックアプリでの単一のアクションは、個別の実行であるため、代金を支払うものと考えてください。たとえば、つのステップを持つ1つのロジックアプリがあり、10秒ごとに実行するの場合。これは1分あたり18アクションになります。したがって、1時間あたり1080、1日あたり25920です。これらの3つのアクションが外部、つまりblob/httpなどに接続する場合、それらはconnectorsであり、1日あたり26,000個のコネクターの実行の単純なロジックアプリです- 月額100ドル。最も可能性が高いのは、1ドル未満の関数です。
  • 多数の外部サービス/ APIの組み合わせ-200以上のコネクタのおかげで、APIなどを学ぶ必要なく複数のサービスを簡単に組み合わせることができます。これは単純なTCO計算です。開発者の価格でX個のAPI統合を記述するか、すぐに使用できるコネクタを使用する方がよいでしょう。
  • 非常に適切に設計されたロギング-ビジュアルロギングを使用すると、実行ステップの入力、出力、時間などをすべて簡単に確認できます。AzureFunctionsのすべての行を記録したかのように。
  • Data Factoryなどの他のサービスを適切に拡張する-一部のサービスは特定のタスク向けに非常に適切に設計されていますが、他のタスクにはあまり適していません。たとえば、データファクトリはすぐに電子メールを送信できませんが、10分でデータファクトリからLogic AppのHTTP webhookを呼び出して、簡単に電子メールの送信を開始できます。

要するに他の人が言ったように。それらは異なる役割を果たし、そのように使用されるべきです。

一般的に、ロジックアプリ❤️関数

情報を確認する場合は、確認することをお勧めします

1
Adam Marczak

Logic Appsは、Microsoftが提供するiPaasです。クラウド上で実装しやすい統合ソリューションを作成するために使用できます。オンプレミスおよびCouldベースのアプリケーション間でソリューションを統合するために使用できる、すぐに使用できるコネクタの配列が付属しています。ただし、Azureの機能を使用すると、「クラウド」上で小さなコードや機能をすばやく実行できます。 Azure機能をLogic Appsと統合して、Logic Apps内からコードのスニペットを実行できます。

1
AasthaK

Azure関数 Azure関数は、デバッグ可能なイベントまたはタイマーでトリガーされるコードの一部であり、Visualのようなコードを記述するためのコードとオプションを組み合わせることができる言語がいくつかありますスタジオコード、ビジュアルスタジオ、インポータル

ロジックアプリこれは、ワークフローオーケストレーションツールであり、Azureの機能と同様の方法でトリガーされますが、コードを記述できないドラッグアンドドロップツールであり、実行するアクションの束を提供します主にシステムの統合に使用される機能

どちらのシステムもサーバーレスアーキテクチャに基づいていますが、Azureロジックアプリは開発とデバッグが簡単ですが、Azureのカスタマイズされた多くのロジックが必要な場合は範囲​​が制限されます

0
Abdul Raheem