background

Azure Logic Apps

Azure Logic Apps

Azure Logic Apps will help you integrate old, modern and state-of-the-art systems more easily and quickly with pre-built APIs and connectors offered by Microsoft, as businesses turn towards digitalization.

In this article, I will share some information so that you can have an idea on and find answers to your questions such as what is Azure Logic Apps, a cloud service offered by Microsoft? What should be considered before deciding to use it? What affects pricing?

What is Azure Logic Apps?

Azure Logic Apps is a cloud service offered as a Platform as a Service (PaaS) that helps you plan, automate and organize tasks, business processes and workflows when you need to integrate applications, data, systems and services across businesses or organizations. The Logic Apps simplifies the way you design and build scalable solutions for application integration, data integration, system integration, business application integration, and business-to-business communication in the cloud, on premises, or both.

Using the graphic design tool called Logic Apps Designer, pre-built components can be arranged in any order. The designer sends the workflow definition to the Logic Apps execution engine. The execution engine runs the application when the right conditions are met and manages the processing resources required to run it.

The main purpose of Logic Apps is integration. It allows creation of a workflow by integrating separate services. The variety of pre-built components and their interoperability is the most important feature. The components allow connection to hundreds of different external services.

Microsoft offers hundreds of ready-to-use connectors, including services such as Azure Service Bus, Azure Functions, Azure Storage, SQL Server, Office 365, Dynamics, Salesforce, BizTalk, SAP, Oracle DB, Dynamics, to create enterprise integration solutions with Azure Logic Apps. The connectors provide triggers and actions to create Logic Apps that securely access and process data in real time.

Terminology

What is Connector?

The connectors are components that provide an interface to external services. The connector runs with the external service's REST or SOAP API. When the connector is used in Logic Apps, this connector calls the service's API.

Custom connectors can be created to access services that do not have a pre-built connector. However, the service to be accessed must have REST or SOAP services.

Connectors contain related triggers and actions. An example of a connector structure is shown below with the twitter connector.

What is Trigger and Action?

Trigger is the event that occurs when certain conditions are satisfied. When the desired conditions are met with the Trigger, the Logic Apps application is automatically activated. Therefore, the first step of an application should be with a trigger. After the trigger, any number of actions can be added to implement the workflow. Action is the activity that drives the task in the work process. When the trigger is activated or another action is completed, the action is run.

Triggers and actions are function calls to basic API operations. Control actions can be created using Boolean expressions, switch statements, for each and until loops that are controlled with the Bool expression. Also a code written in Azure Function can be called in the Logic Apps.

Things to Consider When Choosing Azure Logic Apps

Logic Apps is a cloud service that helps coordinate data flow across individual systems.

Logic Apps may not be the best option for real-time requirements, complicated business rules, or non-standard services.

Decision Making Criteria

To use the Logic Apps, 4 different decision-making criteria should be considered, which are Integration, Performance, Conditions and Connectors.

  • Integration

    The answer to the following question is important in Logic Apps decision making.

    "Do I need to integrate the services?"

    The Logic Apps will be useful when there is a need to run multiple applications and systems together. It may not be a good option for an application that is not connected to external services.

  • Performance

    The Logic Apps execution engine automatically scales applications. It can achieve high transfer speeds by processing large data sets in parallel. However, these applications do not guarantee super-fast integration or may apply real-time restrictions during execution. If a response time of less than one second is needed, using Logic Apps may not be a good option.

  • Conditions

    The Logic Apps offers control structures such as Boolean statements, switch statements, and loops that let the application make decisions based on its data. It is possible and quite to create highly complex and nested conditions in Logic Apps.

  • Connectors:

    It should be noted whether there are pre-built connectors for all services that need to be accessed. If there is no connector for that service, a custom connector must be created. If there is no API in the service to be accessed, it is necessary to create the API of the service before creating the custom connector. If there is an API, it is possible to create a custom connector within a few hours without writing code.

Choosing the Right Trigger

In addition, Logic Apps applications must be triggered with trigger structures to start. There are four types of trigger for this purpose:

Polling ve Push Triggerare in the data category and are used to detect whether new data is available.

  • Polling Trigger periodically checks the external service for new data. The frequency and interval values are set to create the polling trigger mechanism.

    However, it only checks the data at the poll moment and can use the current data at that moment. Therefore, data loss may occur. The best polling interval of Logic Apps depends on the business process and its latency tolerance.

    The shorter the polling interval, the higher the Logic Apps cost.

  • Push trigger subscribes to an event provided by an external service to be notified immediately when data becomes available. The best feature is that it does not cause charges by polling when no data is available. In addition, when new data is available, the push trigger responds instantly.
  • Use of polling trigger instead of push trigger, which seems more advantageous compared to former, may vary depending on the reasons such as failing to support each connector or every external service push trigger.

Pricing Model

If it has a pay-as-you-go subscription, also known as Azure Direct customers, there will be only one plan for Logic Apps. The dynamic pricing plan allows you to pay only for the resources you use, instead of paying a fixed monthly price like the classic application service plan. Payments are made for each action taken for Logic Apps in the dynamic pricing service plan. If the average number of actions run per day is more than 3100, it would make more sense to switch to the classic plan, since choosing the dynamic plan would be more expensive.

Summary

In order to integrate applications using the Logic Apps service, the following should be considered.

  • The Logic Apps will be useful when there is a need to run multiple applications and systems together. It may not be a good option for an application that is not connected to external services.
  • The Logic Apps may apply real-time restrictions during execution. Therefore, if a response time of less than one second is needed, using Logic Apps may not be a good option.
  • The Logic Apps can be used if there are simple business rules for workflows prepared while integrating applications.
  • If complex business rules need to be prepared and their use is desired, it is possible to prepare these business rules with control structures such as Boolean statements, switch statements and loops.
  • Since Logic Apps performs operations using the REST / SOAP services, it would be a good option to use Logic Apps if the applications to be integrated have REST / SOAP services.
  • In case there are no REST / SOAP services, the Logic Apps can still be used if these services are written. Otherwise, the Logic Apps service will not be available.
  • It should be noted whether there are pre-built connectors for all services to be integrated. If there is no connector for that service, a custom connector must be created.

How can we help you?