Sunday, 13 August 2023

App Insights for Power Platform - Part 9 - Power Automate Licencing

Overview: Licensing is highly complicated in Power Automate, but threshold limits are being reduced currently, in August 2023.  

O365 users get the lowest priority profile, can only run the standard connectors, and have a "request" limit of 6,000 requests per day.

What is a Request?

Each flow consists of a combination of triggers, actions, and responses. When a cloud flow is run, the instance walks thru the actions such as Create a SharePoint list item, setting variables, 

What counts as a Power Platform Request

"Here are some guidelines to estimate the request usage of a flow.

  • One or more actions run as part of a flow run. A simple flow with one trigger and one action results in two "actions" each time the flow runs, consuming 2 requests.

  • Power Automate Flows (not Canvas App triggered flows) run in the context of the Flow Owner by default. The "actions" are worked out against the Flow Owner.


                     MP4 explaining a Canvas app trigger flow permissions and who it runs as.

  • Every trigger/action in the flow generates Power Platform requests. All kinds of actions like connector actions, HTTP actions, built-in actions (from initializing variables, creating scopes to a simple compose action) generate Power Platform requests. For example, a flow that connects SharePoint, Exchange, Twitter, and Dataverse, all those actions are counted towards Power Platform request limits.

  • Both the successful and failed actions count towards these limits. Skipped actions aren't counted towards these limits.

  • Each action generates one request. If the action is applied to each loop, it generates more Power Platform requests as the loop executes.

  • An action can have multiple expressions, but it counts as one API request.

  • Retries and additional requests from pagination count as action executions as well."

Here are my thoughts, which seem to differ from the MS notes provided above: Not all Actions count as requests. If I look at the Power Automate Analytics, it gives me a breakdown of the API calls to understand the "Request" counting. Basically, any action that makes an API call when run adds to the request count.  

Guide for planning for limitations:

  • O365 users get 6k request per days
  • Dynamics and most per-user plans get 40k requests per day.
  • As a rough guide, I count simple workflows as having an average of 3 requests, medium workflows as having 7 requests, and large workflows as having over 100. So, it is better to build the workflow, and from the analytics, you can get the number of requests per day.
  • For each flow, multiply by the estimated number of calls
  • Understand who the quest is attributed to (either the user or the owner of the flow, the requests are counted against the flow owner unless the flow uses a pay-per-flow model.)


Example: to calculate billable actions/billable requests

I have a single Flow running against my O365, the flows has a Power Apps trigger, then creates a new list item and lastly responds to Power Apps.

1 Cloud flows that has 3 billable actions run 5 times will result in 15 billable actions.

I have 6k requests per 24 hours on an O365 licence. For most other licences, such as Power Automate Premium, an account has 40k requests per 24 hours. Under an O365 licence, I could run the flow 1,200 times in 24 hours.

Series

App Insights for Power Platform - Part 1 - Series Overview 

App Insights for Power Platform - Part 2 - App Insights and Azure Log Analytics 

App Insights for Power Platform - Part 3 - Canvas App Logging (Instrumentation key)

App Insights for Power Platform - Part 4 - Model App Logging

App Insights for Power Platform - Part 5 - Logging for APIM 

App Insights for Power Platform - Part 6 - Power Automate Logging

App Insights for Power Platform - Part 7 - Monitoring Azure Dashboards 

App Insights for Power Platform - Part 8 - Verify logging is going to the correct Log analytics

App Insights for Power Platform - Part 9 - Power Automate Licencing (this post)

App Insights for Power Platform - Part 10 - Custom Connector enable logging

App Insights for Power Platform - Part 11 - Custom Connector Behaviour from Canvas Apps Concern

0 comments:

Post a Comment