Apigee with Azure Functions

Hello,

I am a complete beginner to Apigee - I just started looking into it to manage my APIs. Currently, I have a REST API that is essentially an Azure Function managed in Azure's API Management service (HTTP Trigger in Node JS). So far I've been able to see that Apigee supports REST APIs, however I was wondering what the process would look like to integrate my existing Azure Function into Apigee. Please let me know if I need to clarify anything. 

Solved Solved
0 2 481
1 ACCEPTED SOLUTION

You can set up Apigee pretty easily, I guess you have seen the tutorials and instructions for doing that.  After that, the first step is connectivity.

As Apigee is a service running in Google Cloud, you would need connectivity between the Apigee gateway and your Azure Function. There are two ways to do that: (1) exposing your function so that it is callable from the public Internet, and (2) establishing a network connection between your Google Cloud VPC and the Azure VPC with Cloud Interconnect. In either case, The full data path would then be: client -> Apigee (in GCP) -> Function (in Azure).  The options here affect only the link between Apigee/Google and Azure.

The first option means that you would need to take whatever steps are necessary to expose the Azure Function publicly, and then Apigee would call the endpoint that hosts your Azure Function, over the public link you establish.  You would need to secure that Apigee-to-Azure connection, probably with something like 2-way TLS.  Apigee can support 2-way TLS on the outbound connection; I am unsure if Azure Functions offers that for ingress, but I would guess it would be possible. 

The second option essentially links the private networks that you manage, respectively, in Google Cloud and in Azure. This means the Apigee gateway can connect over a network you manage, not over the public network.  It's probably "more performant" and more efficient to do it this way, and more secure as well. On the downside, it usually takes more time to set up, because you need to get the network experts from your company involved. Many companies already have an interconnect set up, and that means this second option can be easier.   

Either way, you would configure the URL for the Azure function as a targetendpoint in the Apigee proxy.  

That leaves open the question - WHY are you interested in using Apigee when you already have Azure API Management?

View solution in original post

2 REPLIES 2

You can set up Apigee pretty easily, I guess you have seen the tutorials and instructions for doing that.  After that, the first step is connectivity.

As Apigee is a service running in Google Cloud, you would need connectivity between the Apigee gateway and your Azure Function. There are two ways to do that: (1) exposing your function so that it is callable from the public Internet, and (2) establishing a network connection between your Google Cloud VPC and the Azure VPC with Cloud Interconnect. In either case, The full data path would then be: client -> Apigee (in GCP) -> Function (in Azure).  The options here affect only the link between Apigee/Google and Azure.

The first option means that you would need to take whatever steps are necessary to expose the Azure Function publicly, and then Apigee would call the endpoint that hosts your Azure Function, over the public link you establish.  You would need to secure that Apigee-to-Azure connection, probably with something like 2-way TLS.  Apigee can support 2-way TLS on the outbound connection; I am unsure if Azure Functions offers that for ingress, but I would guess it would be possible. 

The second option essentially links the private networks that you manage, respectively, in Google Cloud and in Azure. This means the Apigee gateway can connect over a network you manage, not over the public network.  It's probably "more performant" and more efficient to do it this way, and more secure as well. On the downside, it usually takes more time to set up, because you need to get the network experts from your company involved. Many companies already have an interconnect set up, and that means this second option can be easier.   

Either way, you would configure the URL for the Azure function as a targetendpoint in the Apigee proxy.  

That leaves open the question - WHY are you interested in using Apigee when you already have Azure API Management?

Hi, thank you for your response - your response was very insightful and provided me with some useful information.

Currently I'm more just looking into Apigee because my company may be using it in the future. We're leveraging our options right now. We're currently using Azure API Management and it is a good resource however it comes with its own limitations.