Since begin November, a new pricing model has been introduced for Azure Logic Apps. You can find the details over here. This blog contains my personal opinion on the updated pricing model, based on the feedback I receive from (potential) customers I get in touch with, during my day-to-day job.
The pricing model!
Within Logic Apps, you need to pay for each executed action or connector. The pricing model defines three types:
- Native actions: [€0.000022/action] all actions that don’t need an API connection behind the scenes.
E.g. Compose, Azure Functions, Azure API Apps, For-Each, Azure Logic Apps, HTTP… - Standard connectors: [€0.000106/action] all connectors that require an API connection
E.g. Service Bus, Outlook, SharePoint, Blob Storage, Salesforce, Dynamics 365… - Enterprise connectors: [€0.000844/action] ‘BizTalk-like’ connectors
E.g. SAP, MQSeries (the only two at the time of writing)
The Integration Account comes with three tiers:
- Free tier: [€0/month] for development purposes, including these limitations:
- No supported SLA
- Maximum one per region
- Maximum of 10 agreements
- Maximum of 25 maps
- Basic tier: [€253/month] for XML support, including these limitations:
- Maximum of 25 XML maps
- Maximum of 25 XML schemas
- Maximum of 2 EDI trading partners
- Maximum of 1 EDI agreement
- Standard tier: [€843/month] for XML and EDI support, including these limitations:
- Maximum of 500 XML maps
- Maximum of 500 XML schemas
- Maximum of 500 EDI trading partners
- Maximum of 500 EDI agreements
What I like about it!
Native actions have become a lot cheaper. The financial impact of well-structuring a Logic App (adding scopes, splitting Logic Apps, add explicit variable extracts) becomes neglectable. We can now make our Logic Apps better readable and manageable, without worrying about the extra cost.
The enterprise connectors don’t come with a fixed and upfront cost anymore. Instead, they have become more expensive actions. I really like this approach, as this allows to start small, without a big investment. This consumption based billing model is truly in line with the serverless principles.
What I don’t like about it!
The Integration Account comes with a huge monthly cost, for sure if you take into account multiple environments (dev/test/acceptance/production). The basic tier is rather limited, so for many customers we end up with the standard tier. More and more Logic Apps features, such as Liquid templates, are moving into the Integration Account, which makes it an inevitable component of many Logic Apps solutions. I would love to see the same pricing approach as with the enterprise connectors, which means making Integration Account actions more expensive. In that way, the billing model would become really consumption based.
95% of the Logic Apps triggers work polling-based. It’s important to be aware that you need to pay for every poll, regardless whether the polling gives back a resulting message or not. This can result in a surprising and unpleasant bill at the end of the month. A small calculation example on polling cost:
10 Logic Apps polling each second on FILE/FTP folders: €2839/month
=(0,000106*60*60*24*31)*10
Conclusion
It’s extremely difficult to define a pricing model that works well for every scenario. Logic Apps should have a truly low entry cost, allowing to start small and grow with your needs. The high cost for the integration account is often preventing this. Next to that, the potentially huge consumption based cost of polling cannot be neglected.
I still hope to see some changes to the pricing model. Otherwise, we’ll end-up with solutions where one might introduce Azure Functions for cheaper polling scenarios (as described here) or for writing custom functionality that already exists in the Integration Account; just to be more cost-effective.
Cheers
Toon