Azure Logic Apps

Important information I gathered from Logic Apps on the documentation found at https://azure.microsoft.com/en-us/services/logic-apps/ and will be adding a Logic App walk-through.

What are Logic Apps?

  • Part of iPaaS (integration Platform as a Service), which allow them to scale automatically on demand
  • Help simplify scalable integrations and workflow in the cloud, like BizTalk server does for on premise solutions.
  • Use visual workflows and connectors to create integrations
  • Can be used with custom APIs, code, and actions
  • Provides Managed Connectors for fast and consistent integration.

Connectors supported – https://azure.microsoft.com/en-us/documentation/articles/apis-list/

Logic App Uses

  • Provide a variety of triggers and actions with management tools to help centralize your API development.
  • Workflows – graphical way to model your business processes as a series of steps or a workflow.
  • Managed Connectors – Managed connectors are created specifically to aid you when you are connecting to and working with your data.
  • Triggers – Some Managed Connectors can also act as a trigger. A trigger starts a new instance of a workflow based on a specific event, like the arrival of an e-mail or a change in your Azure Storage account.
  • Actions – Each step after the trigger in a workflow is called an action. Each action typically maps to an operation on your managed connector or custom API apps.
  • Enterprise Integration Pack – For more advanced integration scenarios, Logic Apps includes capabilities from BizTalk. BizTalk is Microsoft’s industry leading integration platform. The Enterprise Integration Pack connectors allow you to easily include validation, transformation, and more in to your Logic App workflows.

Limits

  • Single Http request and/or Connector call limits
  • Request Timeout is 1 minute
  • Message size is limit is 50mb, with request trigger support for up to 25MB
  • Expression evaluation is limited to 131,072 character meaning @cancat(), @base64(), string cannot be longer
  • Retry policy is max delay is 1 hour with a min of 20 minutes with a max of 4 retry attempts
  • Run duration and retention is limited to a run duration of 90 day with a storage retention of 90 days with min recurrence intervals of 15 sec and max recurrence interval of 500 days.
  • Looping and debatching limits for ForEach items, SplitOn item, Until iterations to 10,000 and ForEach Parallelism to 20.
  • Throughput limits for a single app instance are 100 triggers per second.
  • Definition limits Actions in ForEach to 1 with Action per workflow to 60 and action nesting depth to 5.  Triggers per workflow are limited to 10 with a max character per expression to 8192.  Action/Trigger names are limited to 80 characters with a description length to 256. Parameters are limited to 50 and outputs are limited to 10.

Troubleshooting Tips

Three different trigger statuses:

  • Skipped. It polled the endpoint to check for data and received a response that no data was available.
  • Succeeded. The trigger received a response that data was available. This could be from a manual trigger, a recurrence trigger, or a polling trigger. This likely will be accompanied with a status of Fired.
  • Failed. An error was generated.

A run displays one of the following statuses:

  • Succeeded. All actions succeeded, or, if there was a failure, it was handled by an action that occurred later in the workflow. That is, it was handled by an action that was set to run after a failed action.
  • Failed. At least one action had a failure that was not handled by an action later in the workflow.
  • Cancelled. The workflow was running but received a cancel request.
  • Running. The workflow is currently running.