# Logic Apps are so expensive!!

https://blog.cynexia.com/logic-apps-are-so-expensive

Author: [Rob Aleck](https://blog.cynexia.com/pages/about) · https://github.com/mnbf9rca · https://www.linkedin.com/in/robertaleck/ · https://family-foqos.app/

Published: 2016-10-20
Categories: Fix, How-to


I started writing [EnfieldTownBot](<https://web.archive.org/web/*/https://twitter.com/EnfieldTownBot*>) using Azure Logic Apps. It's pretty easy, but i soon hit a challenge - it's so expensive! My app was pretty simple - a trigger, a "for...each", a condition and a http callout to my Twitter Poster Function App:

![enfieldtownbotlogicapp](https://blog.cynexia.com/attachments/logic-apps-are-so-expensive/a1758-enfieldtownbotlogicapp.png)

So - if there are no delays, that's (recurrence + httprequest + foreach + 3 x (condition)) = 6 actions. There could be up to 9 if the postToTwitter action also triggers. I want to run this function 2x (once for trains FROM Enfield Town, once for trains TO Enfield Town), so that's 12-18 actions per request. And I want to run it every 15-30 seconds to get the latest information published ASAP. So that's 48-72 actions per minute. Over a day, that's 69,120 to 103,680 actions. Over a (31 day) month, that's 2,142,720 to 3,214,080 actions. Taking a mean of these (2,678,400), and looking at the current [pricing](<https://azure.microsoft.com/en-us/pricing/details/logic-apps/>), it would cost me £450 a month to run this app. Wow. I don't care about late trains THAT much...  
  
So - I rewrote the whole lot as a function app (actually 2 or 3 function apps, as some of the items, such as parsing the XML from National Rail to JSON are reusable elsewhere). Each execution takes about 300ms, and it executes (24 hours x 60 minutes per hour x 4 times per minute) = 5,760 per day. Over a month that's 178,560 executions. That's well within the "[permanent free grant](<https://azure.microsoft.com/en-us/pricing/details/functions/>)" provided for Functions. In fact, I'd have to run it something like 30,000,000 times per month, or about 600 times per second to even hit a cost of £1.

