LogicApps are a managed service that provides the Lego blocks of Azure server less architecture that you can use to create, develop and deploy cloud-based integrations and workflows. The developer merely strings together off-the-self, 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 themselves a strong contender in the cloud computing.
Logic Apps provide a way to simplify and implement scalable integrations and workflows in the cloud. It provides a visual designer to model and automate 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.
Related Post: Azure Service Bus
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 developer to create simple conditional statements and event triggers without writing complex codes thus reducing the development time and effort.
Azure Logic apps has four key components.
2. Managed Connectors
Workflow - Logic Apps provides a graphical way to model your business processes as a series of steps or a workflow.
Managed Connectors - Logic apps need access to data and services. Managed connectors are created specifically to for connecting to and working with data.
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.
Action – the step after a trigger that makes something happen, such as sending an email
Connectors are an integral part when creating logic apps. Connectors allow connecting to 3rd party application to manage data and working with it. On-premise applications can be sync to cloud applications using connectors.
Related Article: Azure Application Insights
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.
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 to a logic app.
Enterprise connectors: Includes IBM MQ and SAP. Available at an additional cost.
A trigger starts or runs an instance 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.
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.
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.
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 custom connector, you must have a REST API.
* Registered as Logic Apps Connector resources in Azure.
* Appear with icons alongside Microsoft-managed connectors in the Logic Apps Designer.
* Available only to the connectors' authors and logic app users who have the same Azure Active Directory tenant and Azure subscription in the region where the logic apps are deployed.
Easy to use design tools - Logic Apps can be designed end-to-end in the browser. Start with a trigger - from a simple schedule to whenever a tweet appears about your company. Then orchestrate any number of actions using the rich gallery of connectors.
Compose SaaS easily - Even composition tasks that are easy to describe are difficult to implement in code. Logic Apps make it a cinch to connect disparate systems. Want to create a task in CRM based on activity on your Facebook or Twitter accounts? Want to connect your cloud marketing solution to your on-premises billing system? Logic apps are the fastest, most reliable way to deliver solutions to these problems.
Extensibility baked in - Don't see the connector you need? Logic Apps are part of the App Service suite and designed to work with API apps; you can easily create your own API app to use as a connector. Build a new app just for you, or share and monetize in the marketplace.
Real integration horsepower - Start easy and grow as you need. Logic Apps can easily leverage the power of BizTalk, Microsoft's industry leading integration solution to enable integration professionals to build the solutions they need.
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.
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.
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 with the retry policy parameter.|
|Retry max delay||1 day||You can configure with the retry policy parameter.|
|Retry min delay||5 sec||You can configure with 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 limit, we need to contact Microsoft support.
Related Post: Microsoft Azure Application Gateway
LogicApps provide three development models.
1. Azure portal
In Azure portal we can create logic app. We can switch between designer and 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.
2. VS 2015 and Later
We can use Visual Studio 2015 and later to develop logic apps. We need some pre-requisites to be installed.
* Visual Studio 205 or later
* Azure SDK 2.9.1 or later
* Azure Powershell
* LogicApps VisuaL Studio Extension
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 simplify the work of the development team. Templates are the fastest way to get started with the power of LogicApps.
* Dropbox account
* Google Account for Google Drive
* Microsoft account for OneDrive
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 Post: 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 a following things:
Name: which is giving your application a name
Subscription: right now it is free subscription but it will expire in 30 days, otherwise you need a valid Azure subscription
Resource group: It is basically a logical container which is used to manage various assets/resources that share the same lifecycle, permissions policies. For e.g. all resources for BizTalk could be grouped together and could be given a specific resource group name.
Location: The location of the Data center in which your Logic apps application would get deployed and stored
After clicking on this application we go to development tools which contains 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 you OneDrive, Dropbox and Google Drive. You will be redirect to respective log in pages and you need to allow access permission to azure logic app service.
In Folder I have selected root '/' as I would be dropping a file directly on Dropbox not in any folder, frequency could be in minutes, hours or days.
For simplicity I have used 3 minutes
For OneDrive configuration a new folder is created in root directory with File name as same that got uploaded in Dropbox and same file content.
After doing 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 template in Logic Apps like below:
Now let’s configure this template:
Folder Path: Created a new folder in Google Drive
File Name & File Content: Select output from Dropbox as input of Google Drive - Create file action
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. Logic app can automate business processes in this way.