Why Running Azure Logic Apps Anywhere is a Game Changer
Logic App is a cloud-based service offered by Azure for integrating data and services without writing much code. It also makes it much easier for businesses to integrate applications or services in hybrid environments, i.e., cloud & on-premises.
The purpose of this blog is not only to give you a primary idea of the service but to make you aware of the significant latest Logic App update – Logic App Standard Runtime.
Before jumping into this new runtime, let’s take a quick look at the essential components of Azure Logic Apps.
Basic concepts of Azure Logic Apps
Here are the four key terms that you should know,
- Workflow: It is a sequence of processes defined in steps. By defining it, you can automate your processes & get a hierarchical visualization.
- Connectors: They are used to connect and work with use, and they can act either as actions or as triggers
- Actions: This is a step that runs after being initiated by a trigger. A Logic App will have several actions defined to address the business requirement.
- Triggers: Every Logic App workflow gets triggered whenever a new data or event meets the trigger condition.
With that understanding, we will now start with Logic App Standard runtime, which was generally available very recently in 2021. It is also now available in all Azure regions.
What’s Logic App Standard Runtime?
The Logic App Standard Runtime is related to the blog title “Running Logic Apps Anywhere”, wondering how? Yes, it is now possible to run your Logic Apps locally without deploying them to the cloud.
And this new release is a massive update to the people in the integration space because of its unique features and capabilities.
Few Major updates of Logic Apps Standard
- It is a single-tenant model which doesn’t allow sharing of resources from other tenants.
- Logic Apps is now built on a containerized runtime, making it possible to run on Azure Functions, App Service, Kubernetes, Docker, and any other cloud service.
- Containerized runtime enables enterprise features like private endpoints, simpler and more cost-effective VNET access, deployment slots etc.
- So, it is possible to run Logic App Standard and their workflows anywhere that Azure functions can run.
- You can now have multiple workflows within a single Logic App simplifying deployments and CI/CD pipelines
- You also get to choose between two workflows – Stateful or Stateless (new one) workflow where you must go with Stateful workflow when your need to reference data with previous events.
- Stateful workflows (can run for up to one year) doesn’t have external storage dependency, unlike Stateless workflows (runs not more than 5 minutes), which stores data in dedicated custom storage.
- It is allowed to deploy, run and test Logic Apps locally in Visual Studio Code.
- Logic Apps are integrated now with App Insights which helps to assess dependencies runtime behaviour & more.
- There is no need for an Integration Account anymore to manage XML schemas, maps, Liquid templates, etc.
- The pricing depends on a hosting plan with a selected pricing tier.
- A new Logic App designer has also been released along with the Standard runtime, eliminating your problems designing complex business workflows and orchestrations.
We will now see in detail the two new capabilities of Logic App Standard
- App Insights support
- No Integration Account is needed
Monitoring Azure Logic Apps with Application Insights
This monitoring is one of the recent and exciting features added to Logic Apps Standard, which makes it possible to view the topology of your Logic Apps along with its external dependencies.
Here is a quick demo at Integrate 2021 by Divya Swarnkar, Program Manager of the Logic Apps team.
- First, a Logic App gets developed in VS Code and then it is being deployed to Azure
- After being published to cloud, enable Application Insights as shown below
- The Logic App gets exposed as an API in API Management. It gets triggered from the APIM, and the test set will help trigger the Logic App workflow.
- Here, let’s find how Logic Apps can get monitored with the Application Map feature in Logic Apps. Application Map shows the full application topology and calls graphs across all the components and the external dependencies.
The green nodes represent the components in your Logic App workflow, while the leaf nodes are the external dependencies such as Event Hub, Dropbox, etc. The below image is the Application Map for the Logic App workflow that we created.
- You can click any of the components or nodes to gain more insights on the performance details and get the result below.
- Also, click into investigating performance to view information like the time it took for each of the requests and all the requests that happened as part of our Logic App workflow execution.
- So, with all this, you can finally do a deep analysis of the performance characteristics of each node and component involved in the Logic App workflow and can quickly identify any issues or failures in the workflow.
No need for an Integration Account
We even talked about Integration Accounts at the beginning of the blog, but I have picked up the same feature again to give you a more profound idea of the topic.
What’s an Integration Account?
Integration Account is a separate resource available in Azure, a part of the Logic Apps Enterprise Integration Pack (EIP). It allows you to store all the Maps, Schemas, Certificates, etc., all in one place and reference them across your Logic Apps to make integration much more accessible.
So, in Consumption runtime, you must create a separate Integration Account and then link it to Logic Apps, but there is no need for that in Standard runtime.
We will now see how things work in Logic Apps Standard Runtime without an Integration Account.
- Below is a workflow that triggers “when an HTTP request is received”, and the next step is to perform XML transformation based on XSLT maps for the payload received through external requests.
- The maps can get created using Visual Mapper, a part of EIP tools and available on Visual Studio 2019.
- Now, two maps are getting stored in the artefacts folder in the local file system. So, we have created and stored maps for both XML and Liquid transformations.
- The Logic App workflow gets triggered with the help of Postman and now let’s look at the output of the run. The input that we have sent here includes both attributes and elements, and the map in the second step converts all the attributes to elements.
- Finally, in the third step, we have converted the XML into JSON.
The critical thing to be noted from the above demo is that we have not used an Integration Account to manage maps and schemas. So, in Standard Runtime, all the transformation actions and activities are decoupled from an Integration Account. This decoupling makes it possible to use these actions locally or on the cloud without using an Integration Account.
Significant differences between the Consumption and Standard Runtime
Before moving from Consumption Runtime to Standard, it is essential to know their fundamental differences,
|Consumption Runtime||Standard Runtime|
|It runs in a multi-tenant environment||Runs on single-tenant environment|
|Pricing depends on what you use||Pricing depends on a hosting plan|
|Can have only one workflow in a single Logic App||Can have multiple workflows within a single Logic App|
|Trigger and Run histories are available at the Logic App level||Trigger and Run histories are available at the workflow level|
|You cannot run Logic Apps without deploying it to Azure||You can even deploy & run it locally|
|The Stateful Workflows are inherently available at the Logic Apps||There are two different workflows – Stateful and Stateless|
|Logic Apps created by different customers in multi-tenant environments or created in the same ISE will share the same processing (compute), storage, network, etc.||Workflows in a single Logic App and tenant share the same processing (compute), storage, network, etc.|
|Integration Account is required to manage XML schemas & maps||There is no need for any Integration Account|
This blog is wholly for the very new Logic Apps Standard runtime, and I hope you got to know all the new features through some good demos. I have also showcased the notable differences between the Consumption and Standard Runtime.
So, this new runtime is indeed a game-changer as it has provided us with the capability to run Logic Apps anywhere, not only on the cloud!
Also, check out Serverless360 for efficiently managing and monitoring your Azure Logic Apps.