Microsoft Azure Logic App Services provides a business workflow in the Cloud. The Logic App service is a mechanism for doing workflow integrations and business process automations, thereby creating workflows by orchestrating Software as a Service (SaaS) components. Fundamentally, the Logic App is a logical container for one workflow and can be defined using triggers and actions. A developer can leverage Logic Apps through a consumption plan. In this article, I will explain the overview, key components, connections and a practical scenario for using Azure Logic Apps.
Azure Logic App Components
Logic Apps is a fully managed Integration platform as a service with built-in scalability. Developers can configure Logic Apps to scale up automatically during high demand. The Logic App service runs on a set of infrastructures, and it consists of several components.
These components are:
- Logic Apps RP: Logic Apps reads the workflow definition and breaks it down into a composition of tasks with dependencies.
- Logic Apps Runtime: Distributed compute/workers are co-ordinated to complete tasks on-demand.
- Connection Manager: Manages connection configuration, credentials, and token refreshment.
- Connector Runtime: Logic Apps API abstraction via Open API descriptions.
Excel Online Data with Azure Logic Apps
By using Azure Logic Apps and the Excel Online connector, developers can create automated tasks and workflows based on data in Excel Online for Business or OneDrive. This online connector provides actions that help developers work with data and manage spreadsheets, by performing tasks such as creating new worksheets and tables, managing worksheets, tables, and rows.
The fundamental concepts of Logic Apps is connectors for bringing connectivity to the workflow. The connectors provide a means to trigger a workflow and a payload into or out of the flow. Microsoft has built an extensive set of connectors, ranging from Azure Service to popular SaaS solutions. Also, Microsoft continues to invest in developing more and more connectors. In case the connector does not exist, developers can build a connector through the custom connector template in the Azure Marketplace.
Logic App connectors comes with its security, depending on what API it exposes. For example, the dynamic 365 connector requires a dynamics account to be able to sign in to Dynamics 365. Or, to access a Logic App via an HTTP endpoint, when you use the HTTP trigger for your workflow, the client must include a so-called Shared Access Signature in the URL—generated via a secret key that can be regenerated at any time.
One of the essential aspects of Logic Apps is the handling of exceptions. When dealing with Logic App services, it is important to ensure that meaningful exception messages are returned to the client. Handling exceptions in Logic App makes the system more robust. Logic Apps exception handling is an out-of-the-box functionality with retries, scopes, and run-after configurations. For most basic exception and error handling, developers can use a retry policy in any action or trigger.
The Azure consumption model for Logic Apps provides a specific auto-scale capability. Logic Apps can scale up to a certain point, depending on the connectors you are using.
During deployments of resources in Azure, developers can think of the Azure Resource Manager (ARM) templates. This also accounts for deploying Logic Apps. It has built-in support for these templates. Developers can automate the deployment of Logic Apps through the Azure Portal by leveraging the automation script or by using Visual Studio.
Developers can monitor Azure Logic Apps with the available Azure monitoring capabilities (OMS, Application Insights, Log Analytics) and built-in features. Logic Apps provides a run-history feature enabling you to examine specific runs in full detail.
Developers can also leverage a third-party solution, such as Serverless360, to monitor Logic Apps.
In this article, I discussed Logic Apps and how it can collaborate on Cloud-native integration scenarios. I hope this article was helpful for developers. Happy reading!