Azure Notification Hub quota limits - azure

The notification hub REST API documentation mentions a quota for notification hubs in a given namespace. I couldn't find on the documentation nor the pricing page what are the boundaries for the quota for each plan.
Empirically, i now know that on the free/basic tier the limit is 100 notification hubs per namespace.
The maximum number of resources of type NotificationHub has been reached or exceeded. Actual: 100, Max allowed: 100.
Can the quotas be raised? What are the costs?
My current system uses hubs for multitenancy and before jumping to refactor the architecture are there any limits not mentioned on the pricing page?
Do service bus have quotas on the number of namespaces?
Do registrations (devices) have quotas/rate limit for each notification hub?

Send operations:
To increase quotas and start using some advanced features you could
go https://manage.windowsazure.com, then pick any your Notification
Hub and set Basic or Standard pricing tire on the Scale tab. Basic is
$10 per month, Standard - $200. Note that pricing tire is actually
changed on namespace level and all quotas are enforced against
namespace.
Also if you try to call Send operations in parallel from several
senders then you would see that bandwidth is wider because requests
are very likely to be routed to different nodes.
Also if you are going to send a really big volume of notifications
and each notification is targeted to 1 or very few devices, then
write to support asking to enable Inbox for your namespace.
Other quotas:
At most 100 (by my best knowledge) namespaces per regular subscription, you can upgrade it to premium with no limit by writing to support.
At most 100 hubs per namespace, you can increase it by writing to support.
Number of devices is not actually limited, even for Free tire '500 active devices' limitation is not enforced... for now :)
Registration rate is limited, quotas start from 2000 per namespace per minute and depends on pricing tire.
Also:
Some official pricing details: http://azure.microsoft.com/en-us/pricing/details/notification-hubs/

Related

What is max throughput and message rate a message unit can support in Azure Service Bus

I am trying to do cost calculation for the azure service bus premium tier. I could not found the answer to the following simple questions
What max message rate a single message unit can support
What max throughput(data size/sec) a single message unit can support
Service bus premium messaging does not impose message limit in terms of number in that way (except 1 message can be of max 1 MB, and queue/topic max size 80 GB). It acts more like a compute resource. Based on metrics, you should decide on scale up/down or use auto-scaling feature it has.
There are a number of factors to take into consideration when deciding
the number of messaging units for your architecture:
Start with 1 or 2 messaging units allocated to your namespace.
Study the CPU usage metrics within the Resource usage metrics for your namespace.
If CPU usage is below 20%, you might be able to scale down the number of messaging units allocated to your namespace.
If CPU usage is above 70%, your application will benefit from scaling up the number of messaging units allocated to your namespace.
To learn how to configure a Service Bus namespace to automatically
scale (increase or decrease messaging units), see Automatically
update messaging units.
For more details, refer this and this.

IotHub Direct Method Quota LImi

In the documentation theres a quota which states following:
Direct methods 160KB/sec/unit
I am asking me wether the quota is per iothub or per device.
What is the unit here?
An IoT Hub can have multiple 'units' within the same tier. The pricing page describes a unit as:
IoT Hub unit represents a single IoT Hub. Number of units depends on
number of messages required for your IoT solution. For example, each
unit of S1 or B1 IoT Hub can handle 400,000 messages a day.
Within your IoT Hub tier (Basic and up) you can have up to 200 units. The Quotas and throttling paragraph of the documentation describes a unit's role in quota questions.

Azure Service Bus, check if ASB is throttled by using SDK

We use Azure Service Bus to send messages from one service to another. Producer produces quite huge amount of messages(a couple of millions) during 1-2 hours. As a result our Service Bus(we use Premium Azure Service Bus) is throttled and we receive errors on producer and consumer sides. I wonder if we could check somehow the load of our ASB by using Azure SDK(we use ASB Java SDK) and if it is high we can slow down the services that sends messages into the queue/topic.
I also understand that we can add more Premium units, but it is the last option we will take.
What we use:
Azure Service Bus Java SDK
Java 9 and Spring Boot 2.0
Azure Service Bus Premium version
Do you have any recommendations for my case? Any recommendation - patterns, frameworks, ASB SDK features would be great.
What you usually can do is to check from the portal your usage (from the overview panel), there is no feature in the SDK itself that can show you the load on your service bus namespace.
Since you're using premium messaging, there is no certain threshold that can determine if you've exceeded your messaging unit capacity or not.
you will get throttling errors as shown in the documentation:
Also be aware that you can scale up and down according to your usage with how many messaging units you want.

turning off azure media services end-point when idle

is it possible to turn off an azure media services end-point when idle, and turn it on again by demand (either by ways of configuration or programmatically?)
the purpose of this being saving costs on the end-point when not used.
There are several billing meters which apply for azure media services See https://azure.microsoft.com/en-us/pricing/details/media-services/ for all details.
Main price components:
Storage - you are paying based on how many space consumed by your assets. You can delete assets which are you no longer planning to use to avoid extra charges.
Encoding without reserved units - usage charges based on size of processed data. Your are not paying if system is in idle state.
Encoding with reserved Units - Same as #2 plus you are paying for allocation of resources.Reserved units help you to encode multiple jobs in a same time. Use portal to increase/decrease number of reserved units or REST/API, Client SDK to configure this parameter - https://msdn.microsoft.com/en-US/library/azure/dn859236.aspx#update_EncodingReservedUnitType
Live channels - For all live channel types, billing is based on the amount of time the channel is in running state and not based on the incoming and processed data. You can stop or delete channel to avoid incurring charges. See https://msdn.microsoft.com/en-us/library/azure/dn783458.aspx#stop_channels
Streaming units - Provides dedicated bandwidth capacity for both on-demand and live streaming. Pricing per unit. You can start/stop/scale streaming endpoint through portal or rest api - see https://msdn.microsoft.com/en-us/library/azure/dn783468.aspx
Content Protection - charges based on licences/keys issued through a service.

Cost of Azure Notification Hubs vs Amazon SNS

I've been evaluating options for sending mobile push notifications and looked at pricing of Microsoft's vs Amazon's hub offerings. I think I must have miss-calculated since the Microsoft offer is coming out 20 times the cost! Can someone please point out where I went wrong?
The Microsoft pricing is based on a 12 month plan, giving a unit cost of £3.29 per day. Each unit can sent 166,667 messages and I need to send 1.8m per day (roughly 54m per month).
I'll say upfront that I am inherently biased, since I work on Azure.
But these are significantly different services.
Amazon SNS primary scenario is push to individual devices, or small groups of devices. You need to maintain the endpoints, and pre-create topics. You can do multicast with topics, but a topic afaik cannot have more than 10K devices, so you can only multicast to 10K users at a time.
Notification Hubs offers you segmented/personalized push engagement for millions of users. You can broadcast to unlimited # of devices with a single API call, you can manage segments/target arbitrary segment expressions, personalize/localize your pushes using templates, etc.
If you don't need any of the extra features Notification Hubs offers, and just need a simple push to individual devices, Azure pricing page advises contacting mobileservices#microsoft.com for low price offering for high volume individual push scenarios.
Quick update to my previous answer. Starting September, Azure Notification Hubs offers more flexible (and much cheaper) pricing with three tiers:
1) Free tier - up to 1M push notifications monthly for free
2) Basic tier - basic push notifications at $1 per million pushes.
3) Standard tier - rich push notification capabilities (large scale instant broadcasts, dynamic segments, rich telemetry, etc) at $2.5 - $20 per million pushes depending on the volume.
http://azure.microsoft.com/en-us/pricing/details/notification-hubs/

Resources