How to calculate storage costs for NFS-mounted blobs. Write operations vs Data Write?

A to the E 0 Reputation points
2023-07-27T01:42:31.5766667+00:00

I'm trying to figure out how to model some storage costs given the following data:

  • Azure Blob Storage (Standard performance blobl-blob) mounted with NFS
  • Daily writes of 2.1TB of data (57 files) to NFS drive with an average file size of 36GB, so ~63TB/mo (1710 total files)
  • Moving the 2.1 TB of data from Hot storage to archive daily, so ~63TB/mo

If I'm correctly understanding how NFS-mounted storage works, then the 60TB is broken into 4000 MiB block writes, so ~15,750,000,000 write operations/mo. Since the cost is per 10,000 write operations, then that's 1,575,000 into the cost calculator under Write Operations or does writing the data count as a "Data Write" which "is free for your selection in this region."

After that, when moving the data between access tiers, is that also a block-level operation, meaning ~1,575,000 "write operations" per month to the other tier (and the same number of reads in the hot tier) or is that a per-blob operation?

Thanks for any guidance you can provide!

Azure Blob Storage
Azure Blob Storage
An Azure service that stores unstructured data in the cloud as blobs.
3,201 questions
{count} votes

2 answers

Sort by: Most helpful
  1. Sumarigo-MSFT 47,471 Reputation points Microsoft Employee Moderator
    2023-08-02T15:00:40.98+00:00

    @A to the E Thank you for your time and patience!

    Nfsv3 has a write scheduler which merges and batches client writes into fewer larger write calls to Blob backend.

    It merges contiguous client IOs into larger IOs up to a max block size (100MB today) and can batch multiple of such PBs (Put Block) to reduce PBL (Put Block List) calls.

    In short, let’s say client sends 500x1MB requests some of which are sequential (by offset) and some or not. We will try to merge the sequential ones into larger PB calls and make multiple of these PB calls in parallel (up to 64) and then issue a single PBL call to commit blocks uploaded using all those parallel PB calls.

     

    To get the best performance, the server should get chunks of the file in a sequence. ( E.g. cp command in Unix system sends a file sequentially.)

     

    Writing cost for hot tier: Best case
    Avg. File size (in mb) 36000
    Max size per write in a Put Block(in mb) 100
    No. of write operation per file 360
    Cost of write operation (per 10k)
    (Hot tier, US East 2, LRS) $0.065
    Write cost of file $0.002
    Files written per month 1710
    Write cost for 1710 files (~63TB) $4.001

     

    Note: This cost can go up as the "Max size per write in a Put Block(in mb)" decreases. E.g. if it were reduced to 50, the cost would double to $8. 

     

    Moving from hot tier to archive tier:
    Cost of write operation (per 10k)
    (Archive tier, US East 2, LRS) $0.130
    No of archive write operation
    (moving 1 blob from hot->archive = 1 operation) 1710
    Total $0.022

     

     

    Please let us know if you have any further queries. I’m happy to assist you further.


    Please do not forget to "Accept the answer” and “up-vote” wherever the information provided helps you, this can be beneficial to other community members.

    1 person found this answer helpful.
    0 comments No comments

  2. Deleted

    This answer has been deleted due to a violation of our Code of Conduct. The answer was manually reported or identified through automated detection before action was taken. Please refer to our Code of Conduct for more information.


    Comments have been turned off. Learn more

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.