HowTo — LogicApp Boundaries vs Each Action boundaries
LogicApp is a PaaS service but that does not mean it has no boundaries. One of the most commonplace to read about it https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-limits-and-config
Every option has associated cost, during the high-level design of the interface we should identify the maximum capabilities/ boundaries of the interface to avoid problems at a later point in time.
For example, if I have a logic app that has 101 actions on each successful execution w. If within 5 minutes I get 1000 requests it can potentially hit the throughput limit and cause an error.
The solution to this will be we need to enable high throughput in LoigicApp workflow settings it will work for less than 3000 requests within 5 minutes.
But if the logic app can potentially get more messages during peak demand we need to further enhance the solution to handle more loads, maybe insert a service bus queue or storage queue.
Let's take one more example, if you need to unzip a file at blob storage we can use the action “Extract archive to folder”
A perfect solution in production but one day we got a 51 MB zip file and it broke because this action supports a maximum of 50MB file unzip. Although Logicapp has a 100 MB file size limitation.
So there are two levels of boundaries one is each action level and the logic app level. Action boundaries will be less then or max equal to LogicApp level boundaries.
Always try to box the logic-app interface solution with boundaries at the solution stage. While performing development estimates and designing interfaces you can make informed decisions about which PaaS service we can potentially use.