Trade Study - Process Automation¶
Process Automation aims to streamline business workflows by replacing intricate and labor-intensive tasks with software solutions. This approach reduces the time and effort needed to complete tasks efficiently. Software solutions in this case range from simple scripts to complex applications.
Study Purpose and Use¶
Power Platform implementation teams can utilize this study as a starting point for designing and architecting process automation solutions. It offers valuable insights to determine the most effective approach for using the Power Platform. Aligning your process automation requirements with the options presented in this study will help you identify the best approach.
Intended Audience¶
- Developers
- Architects
Power Automate¶
Solution Summary¶
Power Automate is a cloud-based workflow automation service within the Power Platform. It facilitates the creation of automated workflows between various apps and services. With Power Automate, you can synchronize files, receive notifications, collect data, and perform many other tasks seamlessly.
Key Findings¶
-
Pros
- Works out-of-the-box with Power Automate Desktop allowing for RPA (Robotic Process Automation).
- Can be called from Power Virtual Agents (PVA) to automate bot interactions
- Users working in Model-driven, Canvas Apps and SharePoint can trigger flows on demand
- Can push notifications for Power Apps
- Has a dedicated mobile app for users to interact with flows
- Application Lifecycle Management (ALM) is supported with Dataverse solutions
- Data access is controlled by the Data Loss Prevention policies
- Can be converted to Azure Logic Apps
- Works with on-premises sources using on-premises data gateway
- Does not require more resources and licenses on top of Power Platform
- Support development process such as CI/CD using Power Platform solutions
-
Cons
- No Infrastructure as Code (IaC) support: flows are created in the UI
- Licensing model has a limited transaction cap
- Flows can be created and edited only from the Power Automate web portal or Visio: there is currently no VS Code, Visual Studio or other IDE support
- Depending on the connector used (standard or premium), other licensing may be required
- Lacks some connectors for enterprise use, such as SAP, AS2, IBM or Microsoft's Defender and Microsoft Sentinel
-
Recommended Use Cases
- Interacting with other Power Platform components
- Business workflows where end users are creating flows of their own (e.g. Power Apps, Power Virtual Agents, SharePoint)
- Tasks where end users will be interacting with flows directly (e.g. running them on demand, viewing status, etc.)
- Less complex human centered tasks (notifications, approvals, etc.)
Azure Logic Apps¶
Solution Summary¶
Azure Logic Apps is a cloud-based, serverless platform for running automated workflows.
Key Findings¶
-
Pros
- Infrastructure as Code (IaC) support using ARM templates or Bicep/Terraform
- Enables complex DevOps scenarios
- Different billing methods available, including consumption or standard
- Can run on-premises using Azure Arc or on-premises Data Gateway
- Workflows can be created and edited using the web portal, vscode, and/or visual studio
- Can execute Azure Functions
- Can run inline code snippets with Node.js and JavaScript
- Supports batched work execution
- Works under granular Azure Role-Based Access Control (RBAC) permissions
- Can handle HTTP chunked responses
- Enables inbound/outbound network traffic control using Azure Private Endpoint
- Support development process such as CI/CD using ARM templates, Bicep or Terraform
-
Cons
- No built-in connectors for Power Platform components (e.g., Power Apps, Power Automate, Power AI Builder)
- No mobile app for users to interact with workflows
- Requires Azure Subscription on top of Power Platform license(s)
- No support for RPA (Robotic Process Automation) out of the box
-
Recommended Use Cases
- Backend automation scenarios without direct user interaction
- More complex processes that can be built with Power Automate which would benefit from extra coding (e.g. inline code, directly executing Azure Functions, etc.)
- Advanced scenarios, where security and infrastructure have to be under full control
- Running workloads on-premises
Azure Functions¶
Solution Summary¶
Azure Functions is a serverless compute service for running code on-demand without having to explicitly provision or manage infrastructure. Azure Functions can be used to run code in response to events, on a schedule, or on-demand. You can write code for Azure Functions using C#, F#, JavaScript, PowerShell, Python, and TypeScript.
Key Findings¶
- Pros
- Ability to write code in any of the supported languages enables high level of flexibility
- Infrastructure as Code (IaC) support
- Enables complex DevOps scenarios
- Supports wide set of application patterns via Durable Functions
- Can run on-premise using dedicated Kubernetes clusters, Azure Arc, or using Azure site-to-site VPN
- Granular security control using Azure Role-Based Access Control (RBAC) permissions
- Supports different billing models (Consumption, Premium, Dedicated etc.), much like Logic Apps
- Can be executed directly from Azure Logic Apps
- Support development process such as CI/CD using ARM templates, Bicep or Terraform
- Cons
- No out-of-the-box connectors for Power Platform components (e. g. Power Apps, Power Automate, Power AI Builder)
- Requires coding skills and Azure administration knowledge (not a low-code/no-code solution)
- Limited built in connectivity to other services compared to Power Automate and Logic Apps. Only a handful of connections are available out of the box. Can be extended with more coding.
- Requires another Azure Subscription on top of Power Platform license(s)
- Recommended Use Cases
- Extending existing low-code solutions with custom code
- Backend automation scenarios without direct user interaction
- Advanced scenarios, where security and infrastructure have to be under full control
- Running workloads on-premises
- Advanced scenarios, requiring stateful processing
Summary¶
The following table summarizes the different options for automating Power Platform components with other systems.
Automatization Type | Power Automate | Azure Logic Apps | Azure Functions |
---|---|---|---|
Support for on-premises | Yes | Yes/Can run on-premises | Yes/Can run on-premises |
ALM | Dataverse solutions | IaC with Azure | IaC with Azure |
Direct interaction with users | Yes | Limited | Limited |
Security | Power Platform | Azure RBAC | Azure RBAC |
Network traffic | Power Platform controlled | Azure/Azure Private Endpoint/VNET | Azure/Azure Private Endpoint/Azure site-to-site VPN/VNET |
Monitoring | Power Platform | Azure Monitor | Azure Application Insights |
Licensing Model | Power Platform Licenses/Per User Per Run | Azure Subscription/Consumption/Fix Price Dedicated Cloud Resources | Azure Subscription/Consumption/Fix Price Dedicated Cloud Resources |
Can interact with Power Platform components | Yes | Limited | Limited |
Extensibility | Connectors | Connectors/Inline code/Azure Functions | Inline code |
Flow Editor | Power Automate web portal/Visio | Azure web portal/VS Code/Visual Studio | Azure web portal/VS Code/Visual Studio |
Advance data processing | Limited | HTTP chunked responses/Batched work/Azure Functions | Durable Functions |
More comparison details can be found here: Choose the right integration and automation services in Azure