Choose the best Azure service to automate your business processes

Ian SantillanIan Santillan
9 min read

Microsoft Azure provides several robust options for hosting, executing code, and implementing workflows without relying on Virtual Machines (VMs). Whether you're looking to automate business processes, integrate systems, or manage complex workflows, Azure offers a suite of tools tailored to your needs, including Azure Functions, Microsoft Power Automate, Azure Logic Apps, and Azure WebJobs.

Selecting the right technology is crucial for building efficient, scalable, and maintainable solutions. This blog will guide you through these options, their use cases, and how to choose the best one for your specific requirements.


Evaluate Azure services for integration and process automation scenarios.

The Key Azure Technologies

  1. Azure Logic Apps: Automate and orchestrate workflows with an easy-to-use design canvas.

  2. Microsoft Power Automate: Create workflows for users with little to no coding experience.

  3. Azure Functions: Run small pieces of code on-demand without managing infrastructure.

  4. Azure WebJobs: Execute background tasks for Azure App Services.

These technologies share core similarities:

  • Inputs: They can accept data or files as input to trigger workflows.

  • Actions: They execute operations, modify data, or trigger other actions.

  • Conditions: They allow decision-making based on input data.

  • Outputs: They produce results, such as modified data or generated files.


Design-first technologies

What Is Design-First?

A design-first approach allows you to visually create workflows through a graphical interface, similar to drawing a process flowchart. Both Azure Logic Apps and Microsoft Power Automate enable this approach, making it easier to design and implement workflows without extensive coding.

Azure Logic Apps

Logic Apps is a cloud-based service that automates, integrates, and orchestrates workflows for distributed applications. With over 200 pre-built connectors (e.g., Twitter, Office 365, Salesforce), Logic Apps simplifies complex business processes by connecting to various services seamlessly.

  • Key Features:

    • Visual design canvas for drawing workflows.

    • Support for advanced scenarios with JSON-based code editing.

    • Ability to create custom connectors for unique systems with REST APIs.

  • Ideal Users: IT professionals, developers, and DevOps practitioners.

Alternatively, if you prefer to work in code, you can create or edit a workflow in JSON notation by using the code view, as illustrated in the following screenshot.

One reason why Logic Apps is so good at integration is that over 200 connectors are included. A connector is a Logic Apps component that provides an interface to an external service. For example, the Twitter connector allows you to send and retrieve tweets, while the Office 365 Outlook connector lets you manage your email, calendar, and contacts. Logic Apps provides hundreds of pre-built connectors that you can use to create your apps. If you have an unusual or unique system that you want to call from a Logic Apps, you can create your own connector if your system exposes a REST API.

Microsoft Power Automate

Power Automate is designed for users with little or no development experience. It provides an intuitive interface and templates for creating workflows, making it a popular choice for business analysts and non-technical users.

  • Types of Workflows:

    1. Automated Flows: Triggered by external events like new files or tweets.

    2. Button Flows: Initiated manually with a single click.

    3. Scheduled Flows: Executed at regular intervals or specific times.

    4. Business Process Flows: Model complex business processes with notifications, approvals, and timelines.

  • Built on Logic Apps: Power Automate uses the same underlying technology as Logic Apps, meaning it supports the same connectors and actions.

Under the hood, Microsoft Power Automate is built on Logic Apps. This fact means that Power Automate supports the same range of connectors and actions. You can also use custom connectors in Microsoft Power Automate.

Comparison: Logic Apps vs. Power Automate

FeatureAzure Logic AppsMicrosoft Power Automate
User TypeDevelopers, IT Pros, DevOpsBusiness analysts, non-technical users
Workflow EditingVisual design and JSON code editingVisual design only
Templates and AssistanceMinimalExtensive
Custom ConnectorsSupportedSupported

If developers or IT teams are designing the workflows, Logic Apps is a better fit. For business users or non-technical staff, Power Automate provides a simpler, more user-friendly experience.


Code-first technologies

What Is Code-First?

A code-first approach gives developers greater control over the workflow by allowing them to write custom code. This is ideal for scenarios where workflows require complex logic, high performance, or tight integration with other applications.

WebJobs and the WebJobs SDK

WebJobs is a feature of the Azure App Service that enables background task execution within your existing applications.

  • Types of WebJobs:

    • Continuous WebJobs: Run in a loop (e.g., monitoring a folder for changes).

    • Triggered WebJobs: Run on demand or according to a schedule.

  • Key Features:

    • Support for various programming languages, including C#, PowerShell, Python, and Node.js.

    • Tight integration with App Services for seamless management within the same environment.

    • Support for custom retry policies and advanced configurations using the WebJobs SDK.

Azure Functions

Azure Functions is a serverless compute service that runs small pieces of code in response to events. It scales automatically, and you only pay for the time your code runs.

  • Key Features:

    • Supports multiple languages (e.g., C#, JavaScript, Python, PowerShell).

    • Wide range of triggers, such as HTTP requests, timers, Azure Storage events, and Cosmos DB changes.

    • Simplified pricing with a consumption-based model.

    • Can be developed directly in the Azure portal or through source code management systems like GitHub.

  • Common Trigger Templates:

    • HTTPTrigger: Execute code in response to HTTP requests.

    • TimerTrigger: Schedule code execution.

    • BlobTrigger: Respond to new or updated blobs in Azure Storage.

    • CosmosDBTrigger: Trigger code when documents are added or modified in Cosmos DB.

Comparison: WebJobs vs. Azure Functions

FeatureAzure WebJobsAzure Functions
HostingPart of Azure App ServiceServerless
Trigger OptionsLimitedExtensive
Supported LanguagesC#, PowerShell, Python, Node.jsMultiple (C#, Python, JavaScript, etc.)
PricingApp Service pricingPay-per-use (consumption model)
Ideal Use CaseBackground tasks for App ServicesEvent-driven, serverless applications

While Azure Functions is generally the preferred choice due to its scalability and flexibility, WebJobs is a better fit for workflows tied to an existing App Service or requiring advanced customization of event triggers.


How to Choose the Right Technology

Key Decision Points

  1. Design Preference:

    • Design-First: Choose Logic Apps (for developers) or Power Automate (for non-coders).

    • Code-First: Choose Azure Functions or WebJobs.

  2. Technical Expertise:

    • Non-technical users: Power Automate.

    • Developers and IT professionals: Logic Apps, Functions, or WebJobs.

  3. Integration Requirements:

    • Extensive pre-built connectors: Logic Apps or Power Automate.

    • Complex coding logic or unique triggers: Azure Functions or WebJobs.

  4. Cost and Scalability:

    • For pay-per-use pricing and automatic scaling, use Azure Functions.

    • For workflows tied to existing App Services, use WebJobs.

The first question to ask is whether you prefer to design the workflow in a GUI designer tool or by writing code. The following list has some valid reasons for using a design-first tool:

People who design the workflow have no coding experience.
Later designers and users can consult the graphical design to clearly understand how the workflow proceeds.
Alternatively, you can choose to use a code-first tool because:

People who design the workflow are developers and prefer to work entirely in code.
You want the details of a workflow to be hidden from non-coders.

Choosing a design-first technology

If you choose to use a design-first approach, you must also choose from Microsoft Power Automate and Azure Logic Apps.

The principal question here is who will design the workflow: will it be developers or users?

In Logic Apps, there is a GUI designer on which you draw out the workflow. It is intuitive and easy to use but you also have the opportunity to delve under the hood and edit the source code for a workflow. This tool is designed for people with development skills.

In Microsoft Power Automate, extra help and templates are provided for common types of workflow. There is no way to edit the source code that the tool creates. This tool is designed for users who have a good understanding of the business process but no coding skills.

Choosing a code-first technology

If you choose to use a code-first approach, your next choice is between WebJobs and Azure Functions.

Because of the extra features that are included with Azure Functions, including wider ranges of trigger events and supported languages, the ability to develop test code in the browser, and the pay-per-use price model, consider Azure Functions to be your default choice. There are two situations in which WebJobs might be a better choice:

  • You have an existing Azure App Service application, and you want to model the workflow within the application. This requirement means that the workflow can also be managed as part of the application, for example in an Azure DevOps environment.

  • You have specific customizations that you want to make to the JobHost that are not supported by Azure Functions. For example, in a WebJob, you can create a custom retry policy for calls to external systems. This kind of policy can't be configured in an Azure Function.

  • Webjobs only supports C# on Microsoft Windows.

Mixing Technologies

Remember that there is no requirement for you to use the same technology for different workflows: if your requirements differ, you are likely to reach a different answer at the end of your decision-making process. Furthermore, you can also call one workflow from another. For example, a workflow implemented in Microsoft Power Automate can easily call another that is built as an Azure Function.

One reason to mix the technologies used in your business processes would be to give users control over a small section of a complete workflow. Do this by implementing that section in Microsoft Power Automate, then call that flow from a Logic App, Web Job, or Function.


Conclusion

Azure offers a variety of tools to create workflows, integrate systems, and execute code without relying on traditional VMs. By understanding the strengths and ideal use cases of Logic Apps, Power Automate, Azure Functions, and WebJobs, you can select the best technology for your business needs.

Start by analyzing your team’s expertise, design preferences, and integration requirements to build efficient, scalable, and cost-effective workflows. And remember—you can always mix and match technologies to optimize your processes.

0
Subscribe to my newsletter

Read articles from Ian Santillan directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Ian Santillan
Ian Santillan

Data Architect ACE - Analytics | Leading Data Consultant for North America 2022 | Global Power Platform Bootcamp 2023 Speaker | Toronto CDAO Inner Circle 2023