FunctionsベースのLogic Apps

このエントリは2020/09/28現在の情報に基づいています。将来の機能追加や変更に伴い記述内容との乖離が発生する可能性があります。

Igniteにあわせて、Functionsベースの新たなプラットフォームで稼働するLogic AppがPreviewとして登場した。つまりコンテナ化される、ということ。

Logic Apps updated with new hosting options, improved performance and developer workflows
https://azure.microsoft.com/updates/logic-apps-updated-with-new-hosting-options-improved-performance-and-developer-workflows/

Program Managerの書いたブログエントリも上がっている。

New Logic Apps runtime, performance and developer improvements
https://techcommunity.microsoft.com/t5/azure-developer-community-blog/new-logic-apps-runtime-performance-and-developer-improvements/ba-p/1645335

何が変わるのか

  • Functionsベースに変わることで、クラウド、オンプレミスを問わずFunctionsランタイムがあれば実行出来るようになる。Daprとの組み合わせも可能なので、マイクロサービスのオーケストレーターとしてLogic Appを使うということもできる。

Dapr Workflows – Run Cloud-Native Workflows using Dapr
https://github.com/dapr/workflows

  • Function Appのように、1個のApp内に複数のワークフローをまとめることができる(現行はLogic App1個ごとに1個のフロー)。
  • Stateful、Statelessの両方のワークフロー(システムワークフロー)を作成できる。
    • Stateful
      これまで通りのフロー。Azureへデプロイする際にステート保持のためにストレージアカウントを作成する(WS-BPELやBizTalkでいうDehydration storeに相当)。
    • Stateless
      新しいオプション。高速に動作するよう、ステート管理はメモリ内のみで、Dehydration storeへの永続化はしない(デバッグ目的で履歴を実行することは可能)。
  • 開発者を中心に、ということでVS Codeでのローカルでの開発、テストまでできるようになる(これまでもExtensionを使った実装は可能だった)。

利用可能なリージョン(2020/09/28現在)

なんと(東日本ではなく)西日本が入っている。詳細は以下。

Available regions
https://github.com/Azure/logicapps/blob/master/articles/logic-apps-public-preview-known-issues.md#available-regions

  • Central US EUAP
  • East US EUAP
  • West Central US
  • West US 2
  • Central US
  • Japan West
  • Brazil South
  • Central India
  • South Africa West

作成環境

現時点ではAzure Portal、CLI、PowerShellからは作成できず、Visual Studio CodeのExtensionを使うしかない(ローカル開発後AzureにアップロードしてしまうともちろんPortalから操作可能)。以下のドキュメントではVisual Studio Codeを使う方法を説明している(2020/09/28現在日本語ドキュメントはまだ)。

Create stateful or stateless workflows in Visual Studio Code with the Azure Logic Apps (Preview) extension
https://docs.microsoft.com/azure/logic-apps/create-stateful-stateless-workflows-visual-studio-code

注意点

  • Previewのため、SLAはない。
  • ローカル開発のためにStorage Emulatorを実行しておく必要がある(これはDesignerを使う場合に必要なので、開発にあたって事前に用意しておかねばならない)。
  • Statelessの場合、利用可能なコネクターには以下の引用のような制限がある。ワークフロー起動にあたっては、組み込みリクエスト、Event Hub、Service Busのトリガーのみをサポート(通常のHTTPは問題ない)。

Stateless workflows currently support only actions for managed connectors, not triggers. To start your workflow, select the built-in Request, Event Hubs, or Service Bus trigger. For more information about unsupported triggers, actions, and connectors, see Unsupported capabilities.

Stateful versus stateless logic apps – https://docs.microsoft.com/azure/logic-apps/create-stateful-stateless-workflows-visual-studio-code#stateful-versus-stateless-logic-apps

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中