Azure Logic Apps or Power Automate?

by | Mar 28, 2022

Today the IT landscape is littered with so many services, products, and tools it is difficult to keep up.  I am not surprised that many clients are unaware of the many tools available to them, let alone choosing the “best fit”.  One tool it seems that many clients seem to lack awareness about is Microsoft’s Azure Logic Apps.  I have been in numerous client and architecture related discussions over the last year where the discussion of using Microsoft’s Power Automate is suggested.  In many cases as I listen to the client’s problems, needs, and the end goals, my recommendation has been to consider using Azure Logic Apps instead of Power Automate.  Quite often I am greeted with a bewildered look and the question “What is Logic Apps?”.

The Microsoft marketing machine has been busy pushing its Power Platform, so that has made it far too easy for someone to unaware of even other options in Microsoft’s stack.  This lack of awareness impacts the ability to find perhaps the more effective tool to solve their problem.  Power Platform is certainly a good set of tools to help a worker’s productivity and I am not here to claim otherwise.  However, please remember the “Law of the Instrument” which is “If the only tool you have is a hammer, everything looks like a nail.”

One reason Power Automate appeals to many clients is the notion of low-code development. If we look at that reason, then Azure Logic Apps would be appealing as well.  One interesting note that not many seem to know is that Power Automate is built on top of Microsoft’s Azure Logic Apps.  It has been termed by some that Power Automate is a subset of the capabilities of Azure Logic Apps.  The relationship between Power Automate and Logic Apps does allow for many similarities but there are also some significant differences including their intended use.

One similarity is the look and feel for how to create your process/integration flows.  Both Logic Apps and Power Automate have web-based designers.  These web designers are nearly identical.  Logic Apps has the additional options and benefit of having the ability to be created within Visual Studio and as JSON definition files while Power Automate has an additional mobile app interface option.  Logic Apps web designer is available through the Azure Portal, while the Power Automate web designer is available through Office 365.

With the similarities in designing and creating your workflows and integrations, the knowledge and experience of working with one can easily be transferred to working with the other.  Many Logic App developers also develop with Power Automate and vice versa.  The driving factor for which they chose to use and when generally falls around the intended use of the solution.  Originally, Power Automate was targeted to be used by the office worker to help improve their productivity.  While Azure Logic Apps was meant to be the primary cloud tool from Microsoft for enterprise application integration scenarios and targeted for professional development, integration, and IT staff.

Power Automate is intended to be a self-service workflow and integration tool to help end users get the most from an organization’s Office 365 investment and enabling them to increase their productivity by automating many mundane daily tasks.  The user could pull data from their email or twitter feed and save it in their OneDrive, or they could create a simple workflow based on a SharePoint list.  In addition, Power Automate has expanded to be an integral part of the Dynamics 365 world and has added to the robustness of that platform.  But if you take a good look at the pre-made template options in Power Automate you can get a good sense of what it was really meant to provide. Many templates are of an end user-oriented task meant to provide simple ways to improve your daily productivity.  Microsoft has grown to increase the number and complexity of these provided templates over the last couple of years making this product more appealing and expand its possibilities.  But that said, this does not mean they are telling you it is right solution for all your organization and enterprise level needs.

On the other hand, Azure Logic Apps was intended to excel at handling your advanced and complicated enterprise level application integration activities.  It can orchestrate your business processes and manage the data movement between systems inside and outside your organization.  Do you need to sync data between systems, or do you need send real-time order data to a warehouse for fulfillment?  If so, then Logic Apps was meant to be the player.  Logic Apps is just as capable to integrate into your Office 365 and Dynamics 365 environments as Power Automate.  Logic Apps is a tool to handle the backend processing needs of your business.  Many use cases have involved exposing a Logic App as an API endpoint for another application to trigger a process or gather data.  Other scenarios involve scheduling or real-time integration activities and B2B processes.  The list of use cases is long and ever growing the same as with Power Automate.

Unfortunately, over the last couple of years, the lines of the intended use for these products have been blurred and in large part we can thank Microsoft for that confusion.  There is a long history of how these products came to be and why one is built on top of the other, but I will save that for another time.

One difference between Azure Logic Apps and Power Automate is how they are licensed.  Azure Logic Apps has the options of being billed at a consumption (what you use) or a fixed pricing model.  Power Automate has traditionally been licensed in the per user model but Microsoft is now starting to offer per flow licensing.  The consumption model for Logic Apps can be very beneficial for clients particularly when they are first starting out.  The Power Automate licensing per user model can have some “gotchas” as many use cases for clients involve interacting with their systems and applications that require the use of premium connectors.

Azure Logic Apps and Power Automate share the ability to use most of the available connectors provided by Microsoft and other third-party providers.  However, there are a few that are unique to each platform.  Logic Apps provides some specific connectors like those used for B2B integrations like EDI, X12, and AS2.  Power Automate provides some connectors not available to Logic Apps like those for approvals and certain desktop related activities.   One difference in connectors between Logic Apps and Power Automate is there are many connectors that are considered base standard connectors in Logic Apps that Power Automate consider to be premium connectors that impact licensing.  Examples of these connectors are those used for API and database integrations like the HTTP, SQL, Oracle, DB2, MySQL, PostgreSQL, and Cosmos DB connectors.  Also, many of the connectors Microsoft provides to integrate with its Azure services are considered standard for Logic Apps and again are Premium to Power Automate.  Logic Apps even offers connectors to your help desk software like Service Now and Zendesk to be standard connectors versus premium to Power Automate.

Azure Logic Apps supports full application lifecycle management (ALM) and integration with tools like Azure DevOps to provide source control, automated testing, support, CI/CD, and governance. Power Automate has traditionally been managing its ALM using test environments and promoting to production at release time.  Microsoft has been working to improve the ALM options for the Power Platform, but it is still lacking maturity.

Yet another difference is around exception handling, monitoring, and alerting.  Logic Apps takes full advantage of Azure Monitor with Application Insights to provide for a rich monitoring, logging, and alerting to exceptions and performance problems.  Logic Apps integrates well into an organization’s current operational monitoring tools and practices.  Power Automate Dashboard is the central location to monitor errors and issues in that environment.  As mentioned, Logic Apps leverages the strengths of Azure’s monitoring and management tools and is far richer and more inclusive than the current Power Automate capabilities.  Of course, advanced patterns can be coded into your flows and integrations in both environments to meet many needs for operational support.

Security and identity management are very important topics these days and there are some significant differences with these products.  One key difference that has some real concerns is user-based identity versus managed identity.  One concern many security professionals have is the creating and using of service accounts.  Often users of Power Automate create a service account with licensing assigned to it and use it to own and run Power Automate flows.  They assign this same service account permissions in the different systems to access or write data.  This presents security holes and threats and in many organizations the use of service accounts is frowned upon due to the security risks.  Additionally, many use this practice of service type user account to limit the impact and number of licenses requiring a premium level.  In contrast, Logic Apps can be enabled to run as a managed identity.  This allows for the Logic App to be authenticated as itself and not as a service principal, service account, or using any passwords.  This allows direct authentication into other services such as Azure’s Key Vault where all the secrets can be stored securely to access partner or other systems adding an additional layer of protection against credential theft and unauthorized access to those systems.

There are many other differences and similarities. Data privacy and protection are slightly different, but both are equipped to support those needs.  Scalability and capacities are different.  Logic Apps being a Platform as a Service utilizes the full power and flexibility of Azure to scale as needed.  Power Automate is considered a Software as a Service and is based on performance profiles for the licensed plan.  The difference here stands out when you are dealing with tens to hundreds of thousands of transactions per a timeframe.

To sum it up, both are very capable and powerful tools.  They are both considered low-code offerings from Microsoft.  They have many similarities but there are differences that are important to understand and be considered.  The understanding of original intent and the basis for how they have been licensed should lend some credence to which to use and when.  Remember a hammer can be a useful tool, but sometimes you should use a screwdriver instead.

To find out which tool you should use for your solution, please contact Jim Arnold at JArnold@mailctp.com.