IotHub Direct Method Quota LImi - azure

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.

Related

In Azure IoT Hub, how can I find daily quota usage (Device to Cloud Telemetry) used by each device IDs?

I saw these metrics once when I tried to troubleshoot IoT Hub. But I cannot find the right place to initiate the query.
In the troubleshoot, the result is like:
IoT Hub daily quota breakdown by operation type for the day (24 hours) prior to midnight (00:00) UTC:...
Top 10 Device IDs by daily quota usage for the prior 24 hours:...
Unfortunately there is no built-in solution to track single D2C (device-to-cloud) messages in Azure IoT Hub on a daily basis.
You can leverage Azure Monitor for Monitoring Azure IoT Hub and Distributed Tracing (Preview). To fully enable these logs, client-side code must be updated by following Analyze and diagnose IoT applications end-to-end with IoT Hub distributed tracing (preview). Then you can look at IoT Hub D2C (device-to-cloud) logs and write your logic to measure the number of messages\size to understand the quota usage per device.

Azure Hub IoT to Azure Function Pricing

I'm making a comparison between different Cloud vendors for IoT solutions.
I'm now on Azure IoT Hub, which will ingest data from IoT devices (we want only to send from devices to cloud, say through MQTT, and not receive anything back). My aim is to pass these data to an Azure Function, execute some computation, and save them in some DB (e.g.CosmosDB). Here my doubts:
Which MQTT messages Do I have to consider for the billing? (only those with telemetry or which others?)
I saw that there is the possibility of going from Hub IoT to Azure Function with a built-in endpoint. Is it free? I'm afraid of some hidden costs, like those of Event Hubs or the built-in endpoint.
The sending of data from IoT Hub to Azure Function is considered as a normal "cloud-to-device" messages (and consequently they're billed), or are they free? For example IoT Hub ingest 10 messages (<4KB) and forward them to Functions. Do I pay them as 10 messages or 20 messages?
Thanks in advance for your help.
Which MQTT messages - You have to consider the below list of messages for Azure IoTHub Billing, they are
Device to Cloud
Cloud to Device
Method execution
Jobs
Detailed break up of billing information by each operation
https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-pricing#charges-per-operation
Nothing free in the cloud :)
Data read from IoTHub to any other service attracts the regular data transfer cost. Refer to the below link
https://azure.microsoft.com/en-in/pricing/details/bandwidth/
All the pricing information detailed here https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-pricing is specific to Azure IoTHub for D2C & C2D. Any data egress from IoTHub to other Azure Services is as per the regular data transfer charges.
https://azure.microsoft.com/en-in/pricing/details/bandwidth/

Multitenancy - should Azure IoT customers share a hub?

I'm building an Azure IoT Hub application. I have several customers. Do you think all those customers should be connected to the same hub or a different one(s)?
And if that's even possible, how would such multi-tenancy work so that the customers (tenants) wouldn't see each other's data on that same hub?
And finally, do you have to pay for each new IoT hub? (in which case maybe it's a good idea looking into sharing one between customers)
A single hub would suffice but then there should be provisions needed to make sure that you are not hitting the maximum allowed message in a hub as IoT Hub SKU size is defined on the number of messages https://learn.microsoft.com/en-in/azure/iot-hub/iot-hub-scaling?branch=release-iotbasic
With single hub you need an almost near time throttling feature also in your application so that one rouge device won't eatup the maximum message allowed for IotHub Unit.
"And if that's even possible, how would such multi-tenancy work so
that the customers (tenants) wouldn't see each other's data on that
same hub?"
The message can have TenantId (please check https://azure.microsoft.com/en-in/blog/azure-iot-hub-message-enrichment-simplifies-downstream-processing-of-your-data/) which would differentiate messages from each tenant.The custom solution need to filter it based on the Tenantid or DeviceId which would be unique across every tenant in a IoTHub.You can have TenantId added in DeviceTwins once device is registered in IoTHub so that it would help identify Tenantid associated with the Device.

Does multiple units means multiple connection strings in Azure IoT hub and Event hub?

Are connection strings independent of the number of units we create in IoT hub and throughput units in Event hub?
Will there be only one connection string for single IoT hub and multiple units are create only when scaling is necessary?
Units determine how many messages the IoT Hub/Event Hub can handle in a time period.
So it decides the scale.
More units mean it can handle more data, but it also costs more.
Quote from Event Hubs docs:
Throughput units: Pre-purchased units of capacity that control the throughput capacity of Event Hubs.
Quote from Iot Hub pricing page:
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.

Azure Notification Hub quota limits

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/

Resources