Azure / Azure-Functions

1.12k stars 198 forks source link

proxy-deprecation impact on consumption based deployments #2410

Open davidmw opened 1 year ago

davidmw commented 1 year ago

Logging a new issue for visibility, with additional detail provided on the existing issue #2306.

We've built a business around consumption-based Azure resources that enable us to contain platform expenses with school-based traffic that is unpredictable, bursty, and idle more often than not.

Discontinuation of proxy support in v4 Functions and the suggested migration to APIM was a concern, but was not at 'house on fire' alarm levels until we actually started the migration this week.

Yes APIM is available on a consumption tier. But we need to secure our function apps from internet access AND need to address issues with socket exhaustion. Ideally our function apps will be on our regional vnet, along with the CosmosDB account and storage accounts. The legacy proxy could remain on the internet and communicate with function apps via their private endpoints, solving both problems.

There's no vnet support in APIM on the consumption tier. The required premium tier of APIM is wildly, unmanageably expensive just to obtain this vnet feature. This APIM migration guidance assumes that we need the vast functionality of APIM and can swallow the cost. This is simply not possible with our customers, business model, or scale.

bhagyshricompany commented 1 year ago

To address your concerns, you might consider the following options:

Reevaluate Migration Plan: Reevaluate your migration plan and assess whether there are alternative ways to meet your specific requirements without resorting to the premium tier of APIM.

Azure Functions Proxies: Investigate whether Azure Functions Proxies can continue to be used in combination with other Azure services or configurations to achieve your desired outcome. if above not works please update.

davidmw commented 1 year ago

Azure Function App proxy has been turned into a temporary solution when Microsoft depreciated it.

I'm thankful that functionality was returned to Functions v4.x, have upgraded the function app to 4.x, have set EnableProxies on AzureWebJobsFeatureFlags setting and deployed proxies.json but find that the Functions | Proxies blade remains disabled.

The docs still suggest: Support for proxies can be re-enabled in version 4.x for you to successfully upgrade your function apps to the latest runtime version. As soon as possible, you should switch to integrating your function apps with Azure API Management. https://learn.microsoft.com/en-us/azure/azure-functions/legacy-proxies#advanced-configuration