When using cloud services, a good thing to keep in mind is that infrastructure is shared among multiple tenants. The Azure platform is designed to support millions of other users, and each service has certain threshold values. A queue, for instance, cannot process more than 2000 messages per second.
Errors that occur due to temporary reasons, such as network issues, connection failures, intermittent service, and infrastructure level faults or even service throttling, are called transient faults. These errors are impermanent and can be identified by the HTTP status that is returned with a failed response. Your application must be designed to identify and handle these faults; this can be done by implementing retry policies, which simply retry the same requests again multiple times and sometimes with a delay.
Fortunately, most client libraries implement a certain retry policy functionality. The .NET library implements it through the
Microsoft.WindowsAzure.Storage
. RetryPolicies...