This reference architecture illustrates a logic app that's running in Microsoft Azure, which is triggered by Azure Spring Apps. It then connects to on-premises resources such as Microsoft SQL Server and Microsoft SharePoint Server.
Architecture
Download a Visio file of this architecture.
Workflow
The architecture consists of the following:
- Azure Spring Apps. Spring Apps provides a managed service that's designed and optimized specifically for Spring microservices that are written in Java.
- Azure Logic Apps. Logic apps are automated workflows that are provided as a scalable cloud service for common enterprise orchestration tasks. Logic apps include connectors for many popular cloud services, on-premises products, or other Software-as-a-Service applications. The Logic Apps workflow includes the following features:
- Trigger that fires whenever a new Azure Queue storage message is received.
- Action to parse the JavaScript Object Notation (JSON) body of the queue message.
- Action to query SQL Server for relevant data.
- Action to compose a response from the collected data.
- Action to persist the composed response to a list on the SharePoint Server.
- On-premises data gateway. An on-premises data gateway is bridge software that connects on-premises data to cloud services. The gateway typically installs on a dedicated on-premises virtual machine.
- SQL Server. This is an installation of SQL Server.
- SharePoint Server. This is an installation of SharePoint Server.
Components
Key technologies used to implement this architecture:
- Azure Spring Apps is a fully managed service for Spring developers. Manage the lifecycle of your Spring Boot applications with comprehensive monitoring and diagnostics, configuration management, service discovery, CI/CD integration, and blue-green deployments.
- Azure Logic Apps is a leading integration platform as a service (iPaaS) built on a containerized runtime. Deploy and run Logic Apps anywhere to increase scale and portability while automating business-critical workflows anywhere.
- Azure Queue storage is a simple, cost-effective, durable message queueing for large workloads.
Scenario details
Potential use cases
Typical uses for this architecture include:
- Cloud-based Azure Logic Apps workflows that require data from on-premises software as part of their run.
- Extending the capabilities of existing on-premises software by triggering Logic Apps workflows in the cloud.
Recommendations
The following recommendations apply for most scenarios. Follow these recommendations unless you have specific requirements that override them.
On-premises data gateway
While it's possible to expose your on-premises servers to the public internet, it's preferable to use an on-premises data gateway. This gateway creates a secure read/write connection between your on-premises data sources and Azure. The on-premises data gateway is used with Logic Apps connectors to connect local data sources to Azure. Before installing an on-premises data gateway, consider the following:
- You can install an on-premises data gateway on any on-premises virtual machine. You can choose to install it on the same virtual machine as your server applications or on a co-located virtual machine with the appropriate network connectivity.
- The architecture of the on-premises data gateway is designed to make outbound connections to Azure Service Bus.
- Review the additional considerations for installing an on-premises data gateway.
An on-premises data gateway can be used with more than just Logic Apps. It's possible to use the same data gateway installation with:
Considerations
These considerations implement the pillars of the Azure Well-Architected Framework, which is a set of guiding tenets that can be used to improve the quality of a workload. For more information, see Microsoft Azure Well-Architected Framework.
Scalability
- As the amount of Logic Apps flows increase, consider the capacity constraints of the on-premises servers. You'll need to determine if the on-premises servers can handle the increased workload.
Availability
- Avoid single point of failure issues for an on-premises data gateway by installing the software on multiple on-premises virtual machines.
- Consider implementing high availability topologies for your on-premises servers by using techniques such as:
Manageability
- Service Bus is used for outbound data gateway communication. This might require configuring your firewall to allow outbound connections to Azure.
- Consider Azure ExpressRoute if you want consistent throughput from your on-premises data sources to Azure.
DevOps
- The corresponding Azure resource for an on-premises data gateway should only be created after the corresponding software is installed on an on-premises virtual machine.
- Consider storing workflow configuration as a JSON template within an Azure Resource Manager template to automate deployment.
Security
Security provides assurances against deliberate attacks and the abuse of your valuable data and systems. For more information, see Overview of the security pillar.
- While it's possible to expose your on-premises servers to the public internet, it's preferable to use an on-premises data gateway. This gateway creates a secure read/write connection between your on-premises data sources and Azure.
Cost optimization
Cost optimization is about looking at ways to reduce unnecessary expenses and improve operational efficiencies. For more information, see Overview of the cost optimization pillar.
- Use the Azure pricing calculator to estimate costs.
- This reference assumes that the consumption plan is used to create a global Logic Apps resource.
- This reference only uses standard connectors, which are metered at a lower price than enterprise connectors.
Next steps
- Extend an on-premises network using VPN
- What is an on-premises data gateway?
- What is Azure Logic Apps?
- What is Azure Queue Storage?
- What is Azure Spring Apps?