Azure Function Proxies – Part 2: Easily enable hybrid integration

This post is part of an Azure Function Proxies blog series:

  • Part 1: Represent heterogenous service operations into a single API
  • Part 2: Easily enable hybrid integration
  • Part 3: Secure your API
  • Part 4: A very light-weight API management

Connecting cloud services to on premises API’s can be quite challenging.  Depending on your setup, there are multiple options available.  The most enterprise grade options reside on the network level: ExpressRoute and Site-to-Site VPN.  Another option is leveraging Azure App Service Hybrid Connections, which gives you a very simple way to connect to on premise resources on the TCP level, in a firewall-friendly and high available manner.  This blog will demonstrate how you can consume an on premises API via Azure Function Proxies, without any coding at all.

hybrid connections - 01

Instructions

Following these instructions to setup hybrid connectivity through hybrid connections:

  • In order to take advantage of hybrid connections, you must ensure that you create the Azure Function Proxy within an Azure App Service Hosting Plan.

hybrid connections - 02

  • Navigate to Platform features and click on Networking

hybrid connections - 03

Consumption plans do not support networking features, as they are instantiated at runtime on shared compute.

hybrid connections - 04

  • Click on Configure your hybrid connection endpoints

hybrid connections - 05

  • Download the Hybrid Connection Manager

hybrid connections - 06

  • Start the installation with accepting the License Agreement.

hybrid connections - 07

  • The installation doesn’t take long.

hybrid connections - 08

  • Click Finish to complete the installation.

hybrid connections - 09

  • Open the Hybrid Connection Manager UI desktop app.

hybrid connections - 10

  • At this moment, you should not see any hybrid connection.  Ignore the mylaptop connection in the screen capture below, as this is still a legacy BizTalk hybrid connection.

hybrid connections - 12

  • Back in the Azure Function Networking blade, click Add hybrid connection.

hybrid connections - 13

  • Choose Create new hybrid connection.

hybrid connections - 14

  • Give the connection a name, provide the endpoint host name and port.  As Hybrid Connections leverages ServiceBus relay technology underneath, you need to provide a ServiceBus namespace.

hybrid connections - 15

  • Choose in the local Hybrid Connection Manager to Configure another Hybrid Connection.

hybrid connections - 16

  • Select the previously created hybrid connection and click Save.

hybrid connections - 17

  • If all goes well, you should see the Connected status for the hybrid connection.

hybrid connections - 18

  • The Azure Portal should also display a Connected status.

hybrid connections - 19

  • You can configure now the Azure Function proxy with an external / public URL to point to the local backend URL, which is now available through the Hybrid Connection Manager.

hybrid connections - 20

  • You can now access your local API from the external world!  Be aware that there is currently no security measure applicable.  This will be covered in the next part of this blog post series.

 

High Availability

In case you need high availability, you can install on another server a second Hybrid Connection Manager that connects to the same hybrid connection.  The documentation states the following:

Each HCM can support multiple hybrid connections. Also, any given hybrid connection can be supported by multiple HCMs. The default behaviour is to round robin traffic across the configured HCMs for any given endpoint. If you want high availability on your hybrid connections from your network, simply instantiate multiple HCMs on separate machines.

Enjoy this easy hybrid connectivity!
Toon

ABOUT

MEET THE YOUR AZURE COACH TEAM

Your Azure Coach is specialized in organizing Azure trainings that are infused with real-life experience. All our coaches are active consultants, who are very passionate and who love to share their Azure expertise with you.