Azure blob: how many read/write operations? - azure

I do not understand how to find out my stats on azure blob storage. Egress and ingress show data in volume, not in reads/writes and I do not think this is necessarily data operations, because there is no way something is downloading 20 gigs of data a day from the blob storage (shows this much egress). Pricing, on the other hand, is all read-write operations.
I want to find out the usage statistics on my blob storage so I could adapt the storage strategy, put the relevant stuff in hot/cold storage, archive things appropriately. I need practical data for analysis.
The metrics in portal are mostly error counts.

Azure Storage Analytics provides more detailed metrics (aggregated per minute and hour) about all services (e.g. Blob, File, Table and Queue) in the storage account usage, such as:
user;GetBlob -> TotalRequests, TotalBillableRequests, TotalIngress, TotalEgress, Availability, etc.;
Find more details at https://learn.microsoft.com/en-us/azure/storage/common/storage-analytics.

Related

Can blob storage be shared between different regions?

I want to implement a multi-region architecture in azure. My current architecture is running in one region and I am using blob storage to save my data. I was wondering if the blob storage can be shared between users in different regions? because I have seen that the replication is read-only otherwise I have to create another blob storage for the other regions ? and how I synchronize it to have the same data so the users in different regions can see the same content in the software?
I was wondering if the blob storage can be shared between users in
different regions?
Blob storage can certainly be shared between users in different regions. Blob storage resources are accessible over HTTP protocol so it doesn't really matter where your users are.
However please note that you may incur extra charges for data egress if the blob storage data is consumed by the application in your secondary regions.
Furthermore, you will notice some increased latency for both reads and writes. You can reduce the read latency by fronting your blob storage with CDN (but then you will pay extra for the CDN).

Is there something like transfer acceleration in Azure Blob Storage?

I would like to create an Azure Storage Account, and use blob storage in the region US West.
However my business needs is to upload/download files from all over the world and not just US West.
When I download/upload files from India or places that are far from US West, there is a severe degradation in performance.
For downloads I could use Geo Redundant read replica. This partially solves the problem. However the this is increasing the cost significantly. Also the time take for replication is several minutes and this is not fitting for me.
In AWS S3 storage, there is a feature called transfer acceleration. Transfer acceleration speeds up the uploads/downloads by optimizing the routing of packets. Is there any similar feature in Azure?
You may use Azcopy(AzCopy is a command-line utility that you can use to copy blobs or files to or from a storage account. This article helps you download AzCopy, connect to your storage account, and then transfer files.) Fast Data Transfer or Azure Data Factory(A fully managed, serverless data integration solution for ingesting, preparing, and transforming all your data at scale.)
High-Throughput with Azure Blob Storage
You should look at the Azure Storage library https://azure.microsoft.com/en-us/blog/introducing-azure-storage-data-movement-library-preview-2/
You should also take into account the performance guidelines from the Azure Storage Team https://azure.microsoft.com/en-us/documentation/articles/storage-performance-checklist/
This article provides an overview of some of the common Azure data transfer solutions. The article also links out to recommended options depending on the network bandwidth in your environment and the size of the data you intend to transfer. Choose an Azure solution for data transfer

Azure Blob Storage Cost Analysis

Last month we got 5K bill from Azure for my production workload, $1160 only for blob storage.
I have a single storage account for all my services (Function, WebJob etc.), Under storage account, I'm only using Blob and I didn't store any big file on that account.
I have many Functions and Webjobs processing data from Eventhub and storing checkpoint information into block blob. One of my function processing 15M request per-day and storing Checkpoint in the blob.
I re-visit Microsoft documentation but unable to break this cost with my containers/Areas. Basically, I want to understand Storage, Ingress, Egress and Read/Write wise cost so I can take appropriate action.
If the issue is still not rectified, for more specialized assistance on this kindly contact Azure Billing and Subscription team would be the best to provide more insight and guidance on this scenario: https://azure.microsoft.com/en-us/support/options/, it's free, and it's the best choice for scenario.

Azure: how to count storage transactions

Can anyone explain me how count storage transactions ?
For example, I need storage for 10 GB, and daily incremental is about 100mb.
How to count the transactions ?
Azure
Azure Storage Team had published a blog long time back on this - http://blogs.msdn.com/b/windowsazurestorage/archive/2010/07/09/understanding-windows-azure-storage-billing-bandwidth-transactions-and-capacity.aspx. To understand how you're going to get charged for using Azure Storage, I would highly recommend reading this post.
Azure Storage also provides detailed analytics on the operations performed against your storage account. You can find information about the transactions by looking at storage analytics data. You may find this link helpful for that: http://blogs.msdn.com/b/windowsazurestorage/archive/tags/analytics+2d00+logging+_2600_amp_3b00_+metrics/.
Every single access to the storage counts as one transaction (even local, EDIT: eg. web-app to storage). Then you just have to calculate an average.
Read more
Transactions include both read and write operations to storage.

How can I programmatically find how much Azure Storage space I have consumed so far?

There's a volume limitation per Azure Storage Account is 200 TB (two hundred terabytes). This sounds real large but if you store files in blob storage 25 megabytes each you can have about four million of them stored which is nice but not something impossible to exhaust.
I want to craft some code that would periodically check how much space I've used and raise an alert.
How can I programmatically find how much space I have already consumed in my storage account?
It looks like current limit for Azure Storage Account is 500TB (see here )
If you can have Azure Storage Account only with blobs in it you can use metrics to fetch current capacity, but current metrics are only showing capacity taken by blobs. See Storage Metrics documentation and how to enable Storage Analytics
Maybe this would help you http://www.amido.com/richard-slater/windows-azure-storage-capacity-metrics-with-powershell/
Not sure about that but it looks like you can create an alert in azure portal on this metric:

Resources