Azure / azure-service-bus

☁️ Azure Service Bus service issue tracking and samples
https://azure.microsoft.com/services/service-bus
MIT License
585 stars 781 forks source link

Azure portal shows Service Bus averages 1,500 "requests" per hour without any business clients publishing to it #407

Closed bizmonger closed 2 years ago

bizmonger commented 3 years ago

Actual Behavior

My Azure portal shows that my Service Bus averaging 1,500 "requests" per hour without any business clients publishing to it.

Note:

  1. I deployed an Azure Function app thinking that the traffic on the remote instance would model my local instance.

  2. I also disabled Application Insights and observed no significant difference.

enter image description here

Expected Behavior

I expected my deployed Azure function to mimic the behavior of my local running Service Bus instance pre deployment. Hence, my local instance of Azure Service Bus does not appear to continuously receive requests.

I then learned that this behavior works as designed.

As a result, I think there needs to be a disclaimer for Azure Service Bus that explains why people can expect to be billed for over a million requests a month for an idle system if they choose to use the Management API.

SeanFeldman commented 3 years ago

Disclaimer: I do not represent the service team.

I think there needs to be a disclaimer for Azure Service Bus that explains why people can expect to be billed for over a million requests a month for an idle system if they choose to use the Management API.

This is where I'd disagree. The ASB team does not know how their service is used. In this case, that's a Functions team that has its trigger and scale controller that leverages the management API to check for queue/subscription length. So rather than your function defining this directly, it's done on your behalf by the function runtime and the scale controller. Using any API will cost money. So the disclaimer would go with the Service Bus Functions trigger, not the ASB service.

I expected my deployed Azure function to mimic the behavior of my local running Service Bus instance pre deployment. Hence, my local instance of Azure Service Bus does not appear to continuously receive requests.

Locally, your Function doesn't scale. So you'll already have fewer checks executed. Also, do you run locally for a month, idling as you do in production? Likely not. Your Function is running for as long as you let it. Which is likely a much shorter period of time.

Remember, serverless is not about no servers. It's about fewer servers. The physics of how to find out if a Function needs to run or scale is still there. Therefore, if you want to request clarity/documentation, you should do it with Functions team. Cheers!