LogicApps are a managed service that provides the Lego blocks of Azure serverless architecture that you can use to create, develop and deploy cloud-based integrations and workflows. The developer merely strings together off-the-shelf, ready-made components with as little effort as possible. The aim is to go from development to production in a few simple, reproducible steps. Microsoft is investing strongly in this technology, introducing many new connectors in line with the demands of the integration requirements of enterprises. Logic App service is a Code-less integration service for communicating with different services or platforms. With Visual business flows, B2B integration, and developer friendliness, Microsoft makes itself a strong contender in cloud computing.
|Do you want to get certified and build your career in the Azure domain? Then enroll in "Azure Logic Apps Online Training" this course will help you to achieve excellence in this domain|
Next, In this article, we will focus on the What is Azure Logic Apps that define the Workflow of Azure Logic Apps.
Azure Logic Apps provide a way to simplify and implement scalable integrations and workflows in the cloud. It provides a visual designer to model and automates your process as a series of steps known as a workflow. Logic Apps allow developers to design workflows that articulate intent via a trigger and series of steps, each invoking an App Service API app whilst securely taking care of authentication and best practices like durable execution.
Logic Apps is a fully managed iPaaS (integration Platform as a Service) allowing developers not to have to worry about building hosting, scalability, availability, and management. Logic Apps will scale up automatically to meet demand.
IFTTT (‘If This Then That’) architecture is basically used in logic apps which allows the developer to create simple conditional statements and event triggers without writing complex codes thus reducing the development time and effort.
Azure Logic apps have four key components.
2. Managed Connectors
1. Workflow - Logic Apps provides a graphical way to model your business processes as a series of steps or a workflow.
2. Managed Connectors - Logic apps need access to data and services. Managed connectors are created specifically for connecting to and working with data.
3. Triggers - Some Managed Connectors can also act as a trigger. A trigger starts a new instance of a workflow based on a specific event, like the arrival of an e-mail.
4. Action – the step after a trigger that makes something happen, such as sending an email
|Related Article: Azure Application Insights|
Connectors are an integral part when creating logic apps. Connectors allow connecting to 3rd party applications to manage data and working with it. On-premise applications can be sync to cloud applications using connectors.
1. Standard connectors: Automatically available and included when you use logic apps. Some examples include Service Bus, Power BI, Oracle Database, OneDrive, Dropbox. Google Drive, Outlook 365, Twitter, Salesforce, Sharepoint online, and many more.
2. Integration account connectors: Available when you purchase an integration account. Using these connectors, you can transform and validate XML, process business-to-business messages with AS2 / X12 / EDIFACT, and encode and decode flat files. If you work with BizTalk Server, then these connectors are a good fit to expand your BizTalk workflows into Azure.
BizTalk Server also has a Logic Apps adapter that includes receiving from a logic app and sending it to a logic app.
3. Enterprise connectors: Includes IBM MQ and SAP. Available at an additional cost.
|Related Article: Azure Service Bus|
A trigger starts or runs an instance of your logic app. Some connectors provide triggers that notify your app when specific events happen. For example, the FTP connector has the OnUpdatedFile trigger that starts your logic app when a file is updated.
1. Poll triggers: These triggers poll your service at a specified frequency to check for new data. When new data is available, a new instance of your logic app runs with the data as input.
2. Push triggers: These triggers listen for data on an endpoint, or for an event to happen, then triggers a new instance of your logic app.
3. Recurrence trigger: This trigger instantiates an instance of your logic app on a prescribed schedule.
Connectors are web APIs that use REST for pluggable interfaces, Swagger metadata format for documentation, and JSON as their data exchange format. Because connectors are REST APIs that communicate through HTTP endpoints, you can use any language, like .NET, Java, or Node.js, for building connectors. To create a custom connector, you must have a REST API.
Logic apps have no upfront setup costs. They also have no ongoing costs or infrastructure costs. The pricing works on the basis of consumption. This means that only you are only charged for executed actions. For a DropBox connector that is configured with a “File modified” trigger, there will be no cost unless there are modified files that trigger the LogicApp execution. It’s also extremely scalable because each trigger will instantiate a new LogicApp. Consequently, multiple concurrent triggers will force multiple concurrent instances of the same LogicApp to run: This ensures that everything is processed in a timely manner.
|Read these latest Microsoft Azure Interview Questions and Answers that help you grab high-paying jobs|
LogicApps are “infinitely scalable”. LogicApps are always ready for execution. 3rd party API) may cause latency issues. some connectors have hard limits on the available requests per second.
HTTP request limits
These limits apply to a single HTTP request or a connector call.
|Request timeout||120 seconds||An async pattern or until loop can compensate as needed|
|Message size||100 MB||Some connectors and APIs might not support 100 MB.|
|Retry attempts||90||The default is 4. You can configure the retry policy parameter.|
|Retry max delay||1 day||You can configure the retry policy parameter.|
|Retry min delay||5 sec||You can configure the retry policy parameter.|
Run duration and retention
These limits apply to a single logic app run.
|Run duration||90 days|
|Storage retention||90 days from the run's start time|
|Min recurrence interval||
For logic apps with an App Service Plan: 15 seconds
|Max recurrence interval||500 days|
To exceed the limit, we need to contact Microsoft support.
|Related Article: Microsoft Azure Application Gateway|
LogicApps provide three development models.
In the Azure portal, we can create a logic app. We can switch between the designer and the code view. The Code view comes handy for advanced configurations. The “code-behind” each LogicApp is based on JSON so you can easily choose to create LogicApps using JSON instead of the designer, though this requires intimate knowledge of the LogicApps API.
We can use Visual Studio 2015 and later to develop logic apps. We need some pre-requisites to be installed.
As long as these prerequisites are met, developers can start developing and deploying LogicApps from Visual Studio by selecting the Azure Resource Group template and then choosing the LogicApps template.
There are plenty of predefined templates that are available for common business cases, like HTTP Request-Response, that greatly simplifies the work of the development team. Templates are the fastest way to get started with the power of LogicApps.
|Also Read: Microsoft Azure Tutorial for Beginners|
Dropbox is a file hosting service that offers cloud storage, file synchronization, private cloud, and client software. A Dropbox Basic account is free and includes 2 GB of space.
OneDrive is a file hosting service that allows users to sync files and later access them from a web browser or mobile device. Users can share files publicly or with their contacts; publicly shared files do not require a Microsoft Account to access them. OneDrive offers 5 GB of free space to the users.
Google Drive, formerly Google Docs, is a file storage and synchronization service created by Google. It allows users to store files in the cloud, share files, and edit documents, spreadsheets, and presentations with collaborators.
|Related Article: A Complete Guide On Microsoft Azure Batch|
Visit portal.azure.com and sign in with your credentials. If you don’t have a subscription you can use a trial subscription by verifying your credit card.
Create a new Logic Apps application by clicking on the Logic Apps, it will ask for the following things:
After clicking on this application we go to development tools that contain Logic App Designer, API connection. Now let’s create a template for development, just go to logic app designer and select Dropbox to OneDrive template for syncing:
After that, you need to sign in to both your OneDrive, Dropbox, and Google Drive. You will be redirected to respective login pages and you need to allow access permission to the azure logic app service.
In the Folder I have selected root '/' as I would be dropping a file directly on Dropbox, not in any folder, the frequency could be in minutes, hours, or days.
For simplicity, I have used 3 minutes
For OneDrive configuration a new folder is created in the root directory with Filename as the same that got uploaded in Dropbox and the same file content.
After doing the configuration of Dropbox and OneDrive lets add Google Drive template of Create file like below:
Now we need to add a new step i.e. to create a new file on Google Drive, for that we have a template in Logic Apps like below:
Now let’s configure this template:
Now let’s come to the main part of running and testing our solution. Just by clicking the save in logic apps designer will deploy the code and the code would be ready to be run and tested.
I have uploaded a new file called MyFile.txt in Dropbox, now after every 3 minutes our code would poll the path configured and pick up MyFile.txt and create a new file in both OneDrive and Google Drive on the locations specified in their respective templates:
At the same time a new file in Google Drive is also created:
In the above example when a file is created in your dropbox it will automatically sync to or copied to you one drive and google drive. We see how we can create a logic app without writing any code. The logic app can automate business processes in this way.
Anji Velagana is working as a Digital Marketing Analyst and Content Contributor for Mindmajix. He writes about various platforms like Servicenow, Business analysis, Performance testing, Mulesoft, Oracle Exadata, Azure, and few other courses. Contact him via email@example.com and LinkedIn.