This is interesting. We just moved some scheduled IoT processing _off_ Azure functions for a few main reasons.
- The lack of any persistent storage (the functionality needed to regularly scrape through a couple of GB of data)
- The run-time limit of 10 minutes kept catching us out.
- The management/monitoring experience is pretty poor.
To be fair our use case was more like a cron job on a "VM-lite" - i.e. we were looking for a cheap way to run a scheduled job every few hours with a moderate amount of persistent storage that wouldn't incur the full cost of a VM but that also seems to apply here. It sounds like the persistency issue can now be resolved using Azure files but I'm curious about the run-time limitation - surely this is a factor in ML applications as well?