Relying on automated workflows, instead of human intervention, ensures data consistency and availability. Automated workflows are, therefore, an integral piece of a sophisticated Modern Data Platform. Now, thanks to Azure Logic Apps, creating a complex workflow is no longer a daunting technical challenge!
About Azure Logic Apps
Azure Logic Apps is a powerful Platform as a Service (PaaS) offering within Azure, where users can connect their organization’s apps and services, develop and run automated workflows in the cloud, and automate existing workflows. Logic Apps have a simple user interface that does not require a single line of code, and the only prerequisite is having an Azure subscription.
As a fully managed Azure service, users do not have to worry about scaling, monitoring, hosting, or managing their solutions. With Azure’s flexible structure, users can connect to both cloud and on-premises items, allowing for endless possibilities for integration and report development. Azure includes hundreds of pre-built Logic App templates to ease the workflow creation process even further. Like other Azure services, Logic Apps function on a pay-as-you-go model, and there are no upfront costs.
Logic Apps boost an organization’s efficiency by simplifying how users create workflows. By leveraging built-in connectors, users no longer need to spend time configuring connections between various sources and environments. As users realize how easy it is to create workflows, they will automate their companies’ repetitive, manual tasks and drive their organizations away from error-prone manual drudgery. This enables users to gain back valuable time to create meaningful insights and analyses from their data.
Common Use Cases
- Send an email alert to users based on data being updated in an on-premises database
- Query a database and send email notifications based on result criteria
- Communication with external platforms and services
- Data transformation or ingestion
- Social media connectivity using built-in API connectors
- Timer- or content-based routing
- Create business-to-business (B2B) solutions
- Access Azure virtual network resources
Logic Apps Structure
The structure of Logic Apps is a workflow, which simply put, is just a sequence of steps. The workflow begins with a trigger, such as receiving an HTTP request or an email. Triggers can either have a pull or push pattern. Pull triggers are initiated when a regularly scheduled process finds new updates in the source data since its last pull, while push triggers are initiated each time new data is generated in the source itself.
Next, users define a series of actions that run either consecutively or concurrently, based on the specified recurrence trigger and schedule. Users can create and deploy Logic Apps using tools like Visual Studio and Azure DevOps. Users can also automate deployments to create a fully hands-free solution for business scenarios. Additionally, users can save their logic apps as Azure Resource Manager templates to reuse across their organization and encourage their colleagues to leverage existing workloads, saving time across the company. To ensure the continued functionality of apps, the Azure Portal has ready-made visuals that allow users to monitor their apps and configure alerts based on diagnostic logs.
Overview of Connectors
Connectors are the most powerful aspect of the structure of a Logic App. Connectors are blocks of pre-built operations that communicate with 3rd-party services as steps in the workflow. Connectors can be nested within each other to provide complex solutions that meet exact use case needs. Azure contains a catalog of hundreds of available connectors and users can leverage these connectors to accomplish tasks without requiring any coding experience.
Behind the scenes, a connector wraps around a 3rd-party service’s API that allows the service to connect to Azure. Therefore, certain connectors require users to configure a connection to the underlying service. Even though the list of available connectors is extensive, users can also build custom connectors to fulfill any unique business requirement.
To create connections, users must have the appropriate role:
- Logic App Contributors can manage apps, but not alter them
- Logic App Operators can read and enable/disable apps, but not edit them
- Contributors have full access to manage all resources, but cannot assign roles
Once assigned the appropriate role, users must configure the connection to the target service.
Built-in connectors are not designed specifically for any one system; many different systems share built-in connectors for common uses, such as the Request trigger. Examples of built-in connectors are Schedule, HTTP, Request, and Batch:
- Schedule allows users to define the intervals on which the Logic App will run; additionally, users can specify delays that will pause the workflow for a specified amount of time
- HTTP accesses an HTTP or HTTPS endpoint
- Request listens for an HTTP request and responds once the app receives the request
- Batch allows users to process the workflow in batches, or groups; further, users can send messages to the entire batch
Other built-in connectors can access services outside of the Logic App itself. Certain triggers can connect to a myriad of sources, such as Azure App Services or SQL servers. Using the Azure API Management, users can customize and manage custom connectors. Users can even access other Logic Apps.
Other built-in connectors control the structure of the workflow. Condition tests for a specified condition and performs actions whether that condition is met. Users specify what actions to take if the condition is true or false:
- For Each repeats an action for each item in the array. The iterations of For Each run in parallel.
- Optionally, users can define an Until condition that stops the loop at a specified point.
- The Name connector groups actions into scopes, which run based on whether an action occurs and assigns the corresponding status (Succeed, Fail, or Cancel) to the scope.
- Switch runs actions based on an object’s value and performs based on that specific case.
- Terminate halts the workflow based on a specified condition.
Built-in connectors also provide functionality for handling common data operations, date time requests, and variables. Data Operations include Compose, Create CSV or HTML Table, Filter Array, Join, or Select. With Date Time, users can retrieve the current, future, or past time and convert time zones. Variables allow users to store values across the extent of the workflow to ease reference in sequential actions or to increment/decrement the variable’s value. When using variables, users must first initialize the variable, then the variable can be referenced in sequential actions along the workflow.
Finally, there are built-in connectors which require integration accounts for Consumption based multi-tenant Azure plans. With the Consumption based plan, users start off with a specified amount of free built-in operations. Any execution that occurs above this specified number is billed according to the Actions pricing section of the Consumption based plan. The pricing model bills based on each execution of the workflow, regardless of whether the execution is successful or not. Before using the built-in connectors, users must link the Logic App to the integration account. These connectors offer powerful capabilities, such as encoding, decoding, and transforming XML and Liquid operations such as converting formats (JSON, TEXT, and XML) using templates.
Managed Connectors offer customization beyond the scope of built-in connectors. Managed Connectors link to outside services or systems and can connect via the cloud or on premises systems. Microsoft manages these external connections and authenticates users’ identities. Standard connectors connect to popular external services, such as SQL Server, Azure Blob, and Office 365.
On-Premises Connectors connect to popular on-premises sources, such as Oracle DB, PostgreSQL, and SharePoint. Users must first configure a data gateway before using these connectors.
Integration Account Connectors, such as AS2 encoding/decoding, are designed for business-to-business (B2B) situations. Common B2B artifacts could include schemas, maps, or agreements. Further, there are Enterprise Connectors, such as IBM and SAP, that connect to these enterprise systems at an additional cost.
Other Automation Services
Logic Apps have similar features as other automation services, such as Microsoft Power Automate, Azure Functions, and WebJobs, and each of these automation services can integrate with the others. For example, a user could create a function that directly calls a Logic App. On the other hand, users can select which specific service works best to suit their organization’s unique needs:
- Power Automate is built based off Logic Apps, so the formats and designers are almost identical. Power Automate is targeted for self-service business users. Logic Apps bolster more advanced technical capabilities that make the service aimed more towards IT users.
- Azure Functions is another similar service. Both Functions and Logic Apps allow users to respond to an event or run on a schedule. Azure Functions requires users to write code to create workloads while Logic Apps simplifies the process with a built-in visual designer
- Similarly, WebJobs is a fully managed platform designed for code developers who require more control over their code structure. WebJobs and Functions both offer users a wide variety of programming languages, development environments, and pricing.
Logic Apps can work in tandem with any of these services, allowing users the flexibility to meet their organization’s requirements.
Logic Apps are a powerful piece of the puzzle in driving companies toward a streamlined Modern Data Platform. Azure Logic Apps provide ways for users to create endless different workflows that simplify virtually any business requirement. The straightforward user interface democratizes the process of workflow creation, so users with any level of coding experience can achieve solutions. By utilizing Logic Apps, users can automate their companies’ repetitive, time-consuming tasks. Creating automated workflows also safeguards companies against the possibility of human errors in handling workflow stages. Users can avoid the pedantic details of connecting to services and configuring workflows, and let Microsoft handle the connection process. With the help of Logic Apps, users save time and can focus on generating sophisticated analyses and insights from their data.
BlueGranite has strong experience deploying Modern Data Platform implementations and enhancements in the Microsoft Azure ecosystem. If you're wondering how Logic Apps could better fit into your Azure deployment, contact us today!