What are Azure Logic Apps and where are they used?
Azure Logic Apps form the serverless offering of Microsoft Azure. They are designer-first integration services supporting complex integrations. They fall under the Platform as a Service(PaaS) umbrella and are called as serverless, since their servers and infrastructure are provisioned, managed and scaled by the cloud service provider. They generally follow the pay-per-usage billing model.
Azure Logic Apps are for developers to integrate applications, data and services. They are serverless workflows triggered by an event. They have predefined triggers called as managed connectors. Connectors are used to integrate commonly used services. Connectors range from Azure services to popular SaaS solutions. You can build custom connectors. Every connector comes with its security depending on what API it exposes.
Logic Apps can call out to an API or Azure function. Logic Apps can be secured by placing Azure API Management before it and restricting the access for Logic App endpoints to only the IP address of API Management. To minimize network latency, put API Management and Logic Apps in the same region. Logic Apps can also be imported as APIs.
Exception handling for Logic Apps has out of the box retries, scopes and run after configurations.
Long running and stateful processes are inherently available in Logic Apps.
Scalability of the Logic App depends on the connector used.
Logic Apps can be deployed using Azure Resource Manager (ARM) templates.
Logic Apps can be monitored using Operations Management Suite(OMS), Application Insights and Log Analytics.
Logic Apps have a pay-per-usage billing model, with billing calculated based on action and connector execution. Triggers, actions, and connector executions are metered each time a logic app runs. All successful and unsuccessful actions, including triggers, are considered as executions. Logic Apps have also a fixed pricing model.
Logic Apps are used in scenarios where low latency is not required — viz. asynchronous or semi long-running API calls.
Azure administrators don’t have to plan for service scalability in case of Azure Logic Apps.
For backup and restore of Logic Apps, configuration as a code approach is recommended, where Logic Apps are stored in ARM templates that are saved to source control and integrated with CI/CD process.
Logic Apps can be monitored using Azure Monitor and for deeper analysis the logic app logs can be sent to Azure Log Analytics.
Logic Apps can be used to detect changes via connectors and trigger workflows. e.g. Blob added to storage, message added to queue can trigger a workflow by the logic app that is monitoring these storage and queues.
Container instances can be deployed on a schedule or on a range of trigger events by the Logic Apps.
Logic Apps can be used to automate the access and use of data across clouds without writing code.
Logic Apps can act as event handlers to store data in Azure blob storage or send emails.
If you need to run Logic Apps that communicate with secured resources in an Azure virtual network, you can create them in an Integration Service Environment (ISE).
Uses of Azure Logic Apps:
- Workflow orchestration.
- Asynchronous or semi long-running API calls.
- Data ingestion.
- Detect changes via connectors and trigger workflows.
- Deployment of container instances on a schedule or on a range of trigger events.
- Automate the access and use of data across clouds without writing code.
- Act as event handlers to store data in Azure blob storage or send emails.
- In cloud automation as a replacement for design where Azure functions continuously poll and check for certain criteria since Logic Apps can be triggered only on HTTPS requests.
- Unified logging — Can trigger security alerts as well as create tickets with appropriate security levels and send email notifications using the appropriate connectors.
- On-premises data gateway can be used with Logic Apps connectors to connect local data sources to Azure.
- Used for sending alerts and notifications.
- Business process integration — Perform actions based on the input data — actions include storing informational messages, raising alarms, sending email or SMS messages, or integrating with CRM.
- Used to manage key vaults and secrets — Use Event Grid and Logic Apps to handle Azure Key Vault secret rotation changes that an Azure Function uses.
- Azure Logic App can monitor folders for new or modified files.
- SaaS event processing.
- Content-based routing.
- Data transformation and enrichment.
- Integration between cloud services.
- Timer-based processing.
Workflow Orchestration
Data Ingestion
Trigger workflows on detecting changes via connectors
Deployment of container instances
Event Handlers to perform actions via connectors
Cloud Automation
Unified Logging
Connect local data sources with Azure
Alerts and notifications
Business Process Integration
References:
https://docs.microsoft.com/en-us/azure/architecture/browse/?expanded=azure&products=azure-logic-apps
https://www.serverless360.com/blog/when-to-use-logic-apps-and-azure-functions
- Implementing business processes.