There has been quite a lot of debate on whether to use Microsoft Flow or what it was seen as its “big brother” Azure Logic Apps. I must admit I was on the “Flow is nice but not a serious tool, we should use Logic Apps for our projects by default”. However, I now believe that Flow is quite a mature option for automation and it has its applications where it can be a better choice than using Logic Apps.
As you probably now, Flow and Logic Apps have many commonalities as they use the same underlying technology for its core engine. They have the same concepts of triggers, actions, and connectors. In fact, Microsoft built Flow on top of Logic Apps. Scott Durow has recently published a great video explaining the origins of Flow and how you can trace them back to the old Microsoft Biztalk Server integration product. It is well worth watching.
Microsoft positions Logic Apps as part of its core Integration platform offerings in Azure. It is the go-to tool to build integration solutions within Azure and connect disparate SaaS and On-premise systems, and it can be used in combination with enterprise messaging capabilities in Azure. On the other hand, Flow is a process automation tool to help automate business processes within your organisation, it has support for mobile and easier human interaction.
Many people, myself included, initially look at Flow as a cute toy but not a serious tool when compared to Logic Apps. We thought that Flow was more of a personal productivity tool for users to create time-saving automation but not good-enough for enterprise processes. This image was helped by the lack of some extended capabilities to manage and monitor Flows in its first release, and some miss-conceptions on performance in the initial iterations. However, the reality is quite different now. Stephen Siciliano explains this quite well in his latest session at Microsoft Build ’19. Both tools provide enterprise-grade capabilities in performance, management, and ALM support. Flow is not aimed just to end-users but it is also a tool for organisations to automate business processes. It actually has some extra features to provide better human interaction like the Mobile App for IOs and Android, and the Approval flow capabilities.
So, if both tools are equally powerful and Flow is not just a lesser version of Logic Apps. When to use each one? Again, the key is Integration vs Automation. You should look at using Flow if you require automation within Office 365, Dynamics 365 and PowerApps or your solution connects with them also, if you need to use mobile application capabilities or model human-driven process like approvals.
In other words, Flow is the workflow engine for the Power Platform and Office 365. It has some benefits above Logic Apps for workflow automation in these scenarios, like ability to run-as a user, mobile support or human-interaction capabilities, and additional integrations with PowerApps, Dynamics 365 and Office.
On the other hand, Logic Apps is better suited for more complex and B2B integrations. It suits better if your solution already has other Azure components, and it is more oriented to developers and IT Pros. It provides support to create more complex integration scenarios above what Flow is designed for. This screen grab offers an excellent summary. You can also check Stephen Siciliano session – Intelligence Process Automation with Flow watch from minute 44:30 if you want to see just this topic.
In conclusion, I am now a convert and I can see when Flow has some serious advantages over Logic Apps and the added value of its extra capabilities. I think there is a better together story in complex solutions where Flow can work as the workflow engine for automation, while Logic Apps becomes a piece of an Integration Platform based on Azure Services. What is your view? Feel free to let me know in the comments.