In this section we will discuss the Azure BizTalk Hybrid Connections technology.
What is it?
Azure BizTalk Hybrid Connections is a connectivity technology which is intended to help you to bridge from the cloud to your on premise assets. Conceptually hybrid connections is similar to the Azure Service Bus Relay but the key difference is that rather than being specific to WCF/REST like Service Bus Relay hybrid connections can work with any port.
The fact that hybrid connections can work with any port means that you can query something like a database directly from the cloud using a connections string which has been modified to route through the hybrid connections module in Azure BizTalk Services. The call is then routed through hybrid connections to an agent which would be running on premise and that is connected to the cloud. The agent will then forward calls to the target data source.
The following diagram shows a high level of what hybrid connections would typically look like:
Hybrid Connections has the following key features:
- Cloud hosted endpoints
- Support for many protocols
- On Premise Agent
The strength of hybrid connections is in its simplicity. Connecting from a PaaS service in the cloud to your on premise application or database can be conceptually a challenging thing. In the case of hybrid connections you can take away a lot of this complexity and let your application treat the resource like it is accessing any other resource on the same network. The difference however is that the connection is bridged through hybrid connections rather than having to expose the internal resource directly to the internet.
Hybrid Connections requires an Azure BizTalk Services package to be acquired. This gives you a pay as you go cloud based integration service and in that package you get an allowance of hybrid connections included.
Security is potentially one of the interesting areas around hybrid connections. As an example if you are connecting to a database on premise you may be able to use integrated windows security, however if you move your application to be hosted in the cloud as an Azure Website then you may be integrated with ADFS and not have the same security context to access the database under the same user context. It is important with hybrid connections to consider if the bridging of the connection changes the security pattern in a way which would affect any authentication or authorization processes.
Hybrid Connections currently supports usage from Azure Websites and Azure Mobile Services at present.
On Premise Agent
When you create a hybrid connection you need to install an on premise agent to connect to your on premise services. This agent will need to live on a server which has access to connect to the hybrid connection endpoints with an outbound connection initiated from the agent. This is similar to Azure Service Bus Relay in terms of how the firewall friendly port forwarding over a bi-directional channel works.
The hybrid connections should be fairly inter-operable as it works at port level. The agent is not able to inspect the message data stream within the connection but in terms of a point to point connection it should work with a wide range of technologies.
Hybrid Connections is hosted on the Microsoft Azure Cloud and is a platform as a service capability within the BizTalk Services package.
Hybrid Connections comes with an Azure BizTalk Services subscription. There is also a free tier which is great for dev/test scenarios.
There is more information on the pricing on Azure – Click Here
The following technologies are similar or have a relationship with hybrid connections.
- Azure BizTalk Services
Azure BizTalk Services is a package of integration technologies and hybrid connections is one technology within the package.
- Azure Service Bus Relay
Hybrid Connections and Azure Service Bus Relay are similar technologies in that they conceptually use port forwarding technology to bridge from the cloud to on premise applications. The key difference between the two is that Azure Service Bus Relay works at the WCF/REST level and has specifics to support those technologies where as hybrid connections is at a lower abstraction level where it works with any port.
The following articles are recommended for further reading for Hybrid Connections:
- In this video Josh Twist introduces hybrid connections – Click Here