In recent years, businesses innovate and migrate at a faster pace by using Microsoft Azure cloud-native technologies. Azure Integration Services, an industry leading Integration Platform as a Service (iPaas) provides multiple offerings like Logic Apps, Service Bus, API Management, Event Grid, Azure Functions & Data Factory to meet application integration scenarios.
Azure Logic Apps gaining good interest with more than 40,000 customers using it. It provides capabilities to create and run automated workflows and orchestrate business processes to connect hundreds of services in the cloud and on-premises.
In 2020, Microsoft Azure announced new Logic Apps in the preview that is different from the existing Consumption resource type with a different set of capabilities.
At the Microsoft Build 2021, a lot of new updates related to Logic Apps were announced:
- General Availability of Logic Apps (Standard) resource type
It is a single tenant offering with a modern cloud-scale workflow engine supporting stateful and stateless workflows.
- Run Logic Apps anywhere
Logic Apps (Standard) comes with a new portable runtime that provides flexibility to host and run-on Azure Functions, Azure App Service, Kubernetes, Docker, and any cloud.
Now that Logic Apps is built on same containerized runtime as Azure Functions, it has got enterprise capabilities like private endpoints, simpler and more cost effective VNET access, deployment slots etc.
- Hosting options aligning with Azure Functions and App Service
Enables creating Workflows and Functions that interoperate and extend each other’s capabilities in a more seamless way.
- Azure Arc enabled Logic Apps (Public Preview)
This offering provides a centralized single pane-of-glass management platform from Azure Portal to control infrastructure and resources deployed in Azure, non-Azure, multiple clouds like AWS and Google, on premises, and edge environments.
Not only for Logic Apps but this capability is also extended for the Azure Application Services i.e. Azure App Service, Azure Functions, Azure Logic Apps, Azure API Management, Azure Event Grid to run on Kubernetes and anywhere.
- A new Visual Studio Code extension (Public Preview)
Enables local development, easy debugging, and testing on local machine, set breakpoints, examine variables values during runtime.
This helps to build and run workflows in development environment without having to deploy to Azure.
Based on the requirement Logic Apps can be containerized and deployed as containers.
- Environment variables
Workflows can be parameterized in Logic Apps Standard while development so that deployments can be automated, and environment-specific values can be set in Application Settings making the pipelines in DevOps simple.
Support to Azure DevOps pipelines and GitHub Actions, automated deployments and use CI/CD practices.
Unlike in Consumption resource type, workflow settings, and parameters setup while design time are deprecated, application settings provide better security and DevOps experience.
- Logic Apps designer is redefined
Helps to design most complex business workflow, orchestration, and automation problems.
The new layout engine making complex workflows render faster than ever.
Step configurations are moved out of the cards into a new panel design for simpler and faster authoring.
Let us now understand the differences between the existing Consumption and newly released Standard resource type:
Logic Apps (Consumption)
- Runs on Multi-Tenant environment or Dedicated Integration Service Environment (ISE) within Microsoft Azure.
- This is a Pay-for-what-you-use pricing model.
- Logic Apps created by different customers in multi-tenant environment or created in same ISE will share same processing (compute), storage, network, and so on.
- A single Logic App can have only one workflow.
- Trigger and Run histories are available at Logic App level as there is only one workflow.
- The long-running and stateful processes for workflows are inherently available in Logic Apps.
- Some of the limits could be changed if the option exists for that metric.
- Can be imported to Azure API Management.
- Development depends on an existing running resource in Azure and deployment depends on ARM templates.
- Versions provide development supported without disturbing the production.
Logic Apps (Standard)
- This is a single-tenant model, meaning no sharing of resources like compute power to Logic Apps from other tenants.
- The pricing is based on a hosting plan with a selected pricing tier.
- A portable runtime runs anywhere (within Azure, containers, on-prem, edge, and other clouds) that Azure Functions can run using the containerized single-tenant Azure Logic Apps runtime.
- A single Logic App can have multiple stateful and stateless workflows.
- Enables multiple workflows to be deployed into a single Logic App compute boundary simplifying automated deployments and CI/CD pipelines.
- Workflows in a single Logic App and tenant share the same processing (compute), storage, network, and so on.
- Stateless workflows execute completely in memory that does not need storage or persist state between actions (don’t transfer data to external storage like stateful workflows) can significantly enhance performance for request/ response scenarios. This provides, faster performance with quicker response times, higher throughput, and reduced running costs. But they could run only for a shorter time say less than 5 minutes and not like the stateful workflows that could run literally longer. Any interruptions cannot be automatically restored. Logic Apps that are part of any API call can respond faster with the use of stateless workflows.
- Stateful workflows can store data in dedicated custom storage, thus providing data isolation.
- As each workflow can be executed separately, Trigger and Run histories are available at the workflow level and not at the Logic App level.
- Calls can be exchanged between any type of workflows within the same Logic App.
- More than 400 managed connectors are available.
- Custom built-in connectors could be developed using single-tenant Azure Logic Apps extensibility framework.
- Support to AppInsights that helps to assess running processes, dependencies, and runtime behaviour.
- Data flowing between endpoints can be monitored using Azure Monitor.
- Import to Azure API Management is currently not supported.
- Some of the Triggers and actions, Breakpoint at debugging for triggers and UX capabilities in designers are not supported and expected to be introduced.
- Unlike in Consumption, where ISE is required to upload needs to have Liquid maps, XML maps, or XML schemas, an integration account is not required for the Standard resource type.
- Logic App (Standard) resource type to an integration service environment (ISE) nor to Azure deployment slots. Versions are deprecated in this resource type, since it is hosted on App Service plans, support for deployment slots may be expected.
The availability of a new Standard resource type is making the Azure Logic Apps enterprise ready. This opens a lot more opportunities for application integration.