locked
Azure Drive RRS feed

  • Question

  • Hi All,

    My question is related to Azure Drive .

    I have a application which predominantly uses (reads/writes) file. If i have to move this application to Azure, i have to move it with my files and Azure drive would be the correct choice to do so. I also learned that i can locally create a VHD and populate it with all the files which are required for my appication and upload this VHD to page blob. So far so good, but while creating a VHD i can associate a drive letter to this VHD.

    So my question are,

    Will i be able to use this drive letter each time i mount this drive?

    Also the upload of VHD is one time activity, so what are the suggested ways of uploading VHD to page blob? Any sample code would be appriciable.

    What are the failover mechanisms in place for page blobs (for my data inside Azure drive) ?

    Will i have to pay for local cache mentained on VM storage?

    Why have fixed size VHD if you guys are only charging for the amount of space i consume on azure drive?

    Thanks in advance.

    Vinayak Bhosale.

    Persistent Systems.

    Wednesday, August 4, 2010 11:08 AM

Answers

  • Hi VB, 

    Regarding uploading a VHD, there is no tool to my knowledge that can handle page blobs. You will have to write your own routine to do this. Luckily, somebody posted a VS project that you can reuse to build an exe. See here: http://blogs.msdn.com/b/tconte/archive/2010/02/26/using-windows-azure-drive-part-1-migrate-your-data-to-the-cloud.aspx

    The mechanic behind the access of the Azure drive is also explained there. 

     


    葛先生 :)
    • Marked as answer by Mog Liang Wednesday, August 11, 2010 8:15 AM
    Wednesday, August 4, 2010 12:18 PM
  • Hi Vinayak,

    Let me try and answer some of your questions (I may be wrong in some of them but then somebody else on this forum would be able to correct me)

    Will i be able to use this drive letter each time i mount this drive?

    I think so because when you mount the drive you assign the drive letter through your code.

    [Update] See Steve's remarks below. Drive letter is assigned at run time.

    Also the upload of VHD is one time activity, so what are the suggested ways of uploading VHD to page blob? Any sample code would be appriciable.

    You can use the link mentioned by iug if you want to write code for it or if you want to use a tool to do so, you can use Cloud Storage Studio for that purpose. Cloud Storage Studio will either let you create an empty page blob or upload an existing VHD from your computer into Azure Blob Storage.

    What are the failover mechanisms in place for page blobs (for my data inside Azure drive) ?

    I believe the same fail over mechanisms apply as with other blobs. Your data will be replicated 3 times etc. etc. However you would need to protect the blob from accidental overwrites.

    Will i have to pay for local cache mentained on VM storage?

    If I understand correctly, I don't think there is anything which is maintained in the local cache as far as Azure drives are concerned (but then I may be wrong).

    [Update] See Vinayak's comment below.

    Hope this helps.

    Thanks

    Gaurav Mantri

    Cerebrata Software

    http://www.cerebrata.com

     

    • Edited by Gaurav Mantri Wednesday, August 4, 2010 4:26 PM Corrections made to incorrect information provided.
    • Marked as answer by Mog Liang Wednesday, August 11, 2010 8:15 AM
    Wednesday, August 4, 2010 12:47 PM
  • The downside of using the local disk on the VM is that it isn't shared and isn't persisted.  To have a reliable service, you'll need to be running more than one instance of each role, which means multiple VMs, each with their own local storage.  Then, if something goes wrong, or even if there's just an OS update rolled out in Windows Azure, you may lose that data stored in the VM.

    Windows Azure storage (including Drives), on the other hand, are stored centrally and replicated to avoid data loss.

    My advice is to use local storage on the VM for temporary storage (like writing frames to disk during video encoding), but keep any important data in Windows Azure storage.  (Windows Azure Drives are a good way to do this while still using normal NTFS APIs.)

    • Proposed as answer by iug Tuesday, August 10, 2010 3:34 PM
    • Marked as answer by Mog Liang Wednesday, August 11, 2010 8:14 AM
    Thursday, August 5, 2010 6:34 AM

All replies

  • Hi VB, 

    Regarding uploading a VHD, there is no tool to my knowledge that can handle page blobs. You will have to write your own routine to do this. Luckily, somebody posted a VS project that you can reuse to build an exe. See here: http://blogs.msdn.com/b/tconte/archive/2010/02/26/using-windows-azure-drive-part-1-migrate-your-data-to-the-cloud.aspx

    The mechanic behind the access of the Azure drive is also explained there. 

     


    葛先生 :)
    • Marked as answer by Mog Liang Wednesday, August 11, 2010 8:15 AM
    Wednesday, August 4, 2010 12:18 PM
  • Hi Vinayak,

    Let me try and answer some of your questions (I may be wrong in some of them but then somebody else on this forum would be able to correct me)

    Will i be able to use this drive letter each time i mount this drive?

    I think so because when you mount the drive you assign the drive letter through your code.

    [Update] See Steve's remarks below. Drive letter is assigned at run time.

    Also the upload of VHD is one time activity, so what are the suggested ways of uploading VHD to page blob? Any sample code would be appriciable.

    You can use the link mentioned by iug if you want to write code for it or if you want to use a tool to do so, you can use Cloud Storage Studio for that purpose. Cloud Storage Studio will either let you create an empty page blob or upload an existing VHD from your computer into Azure Blob Storage.

    What are the failover mechanisms in place for page blobs (for my data inside Azure drive) ?

    I believe the same fail over mechanisms apply as with other blobs. Your data will be replicated 3 times etc. etc. However you would need to protect the blob from accidental overwrites.

    Will i have to pay for local cache mentained on VM storage?

    If I understand correctly, I don't think there is anything which is maintained in the local cache as far as Azure drives are concerned (but then I may be wrong).

    [Update] See Vinayak's comment below.

    Hope this helps.

    Thanks

    Gaurav Mantri

    Cerebrata Software

    http://www.cerebrata.com

     

    • Edited by Gaurav Mantri Wednesday, August 4, 2010 4:26 PM Corrections made to incorrect information provided.
    • Marked as answer by Mog Liang Wednesday, August 11, 2010 8:15 AM
    Wednesday, August 4, 2010 12:47 PM
  • Hi Gaurav,

    Thank you for your reply.

    If I understand correctly, I don't think there is anything which is maintained in the local cache as far as Azure drives are concerned (but then I may be wrong).

    Regarding your statement above , what i am sure of is that; yes we indeed maintain a local cache so that frequent read/write access to the actual drive is avoided. What we need to confirm is the pricing (if at all its applicable).

    I'll will try Cloud storage studio as mentioned by you in your reply.

    Regarding failover mechanisum, what you are mentioning is relate to SQL azure failover i guess (3 replicated copies etc.). Not sure weather this applies to azure storage service too. Can sombody on this forum confirm this ?

    Thanks.

    Vinayak Bhosale.

    Wednesday, August 4, 2010 1:10 PM
  • Hi Vinayak,

    Regarding failover mechanisum, what you are mentioning is relate to SQL azure failover i guess (3 replicated copies etc.). Not sure weather this applies to azure storage service too. Can sombody on this forum confirm this ?

    Yes, the 3 times replication is applicable to Azure Storage Service as well.

    You may also find this link handy as well for uploading/downloading page blobs if you're writing your own code: http://blogs.msdn.com/b/windowsazurestorage/archive/2010/04/11/using-windows-azure-page-blobs-and-how-to-efficiently-upload-and-download-page-blobs.aspx

    Thank you for correcting me on the local cache [learned something new today :)]. Here is the link to answer your question: http://www.microsoft.com/windowsazure/offers/popup.aspx?lang=en&locale=en-US&offer=MS-AZR-0001P especially under the pricing section where it says the following:

    "For Windows Azure Drive storage, you will be billed only for the storage space used by the page blob and the read/write transactions to the page blob. You will not be charged for read transactions that utilize the local drive cache. Windows Azure Drive usage is billed at the same rates as standard Windows Azure Storage and is included in these totals on your bill. There will not be a separate line item for Windows Azure Drive on your bill. Windows Azure Drive storage is currently in its beta release and a service level agreement is not yet offered for this service. "

    Hope this helps.

    Thanks

    Gaurav



    Wednesday, August 4, 2010 1:28 PM
  • One more correction.  The drive letter is assigned by the system at runtime, so you won't necessarily always have the same drive letter.  (When you mount the Windows Azure Drive, the drive letter is returned to you from that call.)
    Wednesday, August 4, 2010 4:15 PM
  • Thanks Steve. Learned one more thing :)

    Regards

    Gaurav

    Wednesday, August 4, 2010 4:22 PM
  • Hi Vinayak,

    # Will i have to pay for local cache mentained on VM storage?

    VM's charge is calculated by its computing hour, in other word, you needn't pay extra money for using VM's local stroage .

    Thanks,


    Mog Liang
    Thursday, August 5, 2010 2:54 AM
  • Hi Mog,

    Can we use the VM's local storage (250 GB's for small VM) for storing file.

    If Yes what are the benifits/shortfalls of doing so. Also if i am able to store the file on local storage, when should the option of Azure dirve be considered.

    Thanks,

    Vinayak Bhosale.

     

    Thursday, August 5, 2010 5:30 AM
  • The downside of using the local disk on the VM is that it isn't shared and isn't persisted.  To have a reliable service, you'll need to be running more than one instance of each role, which means multiple VMs, each with their own local storage.  Then, if something goes wrong, or even if there's just an OS update rolled out in Windows Azure, you may lose that data stored in the VM.

    Windows Azure storage (including Drives), on the other hand, are stored centrally and replicated to avoid data loss.

    My advice is to use local storage on the VM for temporary storage (like writing frames to disk during video encoding), but keep any important data in Windows Azure storage.  (Windows Azure Drives are a good way to do this while still using normal NTFS APIs.)

    • Proposed as answer by iug Tuesday, August 10, 2010 3:34 PM
    • Marked as answer by Mog Liang Wednesday, August 11, 2010 8:14 AM
    Thursday, August 5, 2010 6:34 AM
  • Agree with you steve, but my question is that, Whats the use of 250GB provisioned along with VM, as i can't  think of an applicaiton which will need 200GB for saving some intermediate results/files etc. As an end user we have to pay more for Azure dirve and waste the space on VM's very own 250GB storage. What are your thoughts on it?
    Thursday, August 12, 2010 6:54 AM
  • I am with you Vinayak. I too did not find common use cases other than Cloud Drive for making good use of local storage that comes with each VM instance.

    I think, pricing model would be too complex, if Microsoft has to provide variable pricing for local storage also which is kinds of volatile in nature. Also, somebody might even ask, why should I pay for the all the memory when role instances do not fully utilize. So I think, Microsoft would have done enough analysis before finalizing the limits for each VM size. Probably, we may have more flexible options in future based on usage patterns and feedback by Azure community.

     

     

    HTH,


    Please mark it as answer by clicking on "Propose As Answer", if it helps
    Thursday, August 12, 2010 5:11 PM
  • two use cases for the local resource leap to mind and I'm sure there are others I can think of given time...

    1) Local file system for various work/log files so that the application does not need to be rearchitected when moving to the cloud. I've leveraged this use case myself.

    2) when using a worker role and deploying other application hosts within it, any dependent file can be stored elsewhere, then pulled to the local resource on role startup, thus making them locally available without the need for any futher remote calls either during startup or ongoing execution.

    A prime example would be creating a local file based cache system. It doesn't need to persist between restarts of the system and changes are sent to each role that subscribes to the cache but stored locally for greatest performance. All without consuming the limited RAM allocated to each role.

    Thursday, August 12, 2010 5:40 PM
  • You can create page blobs with the Cerebrata Cloud Storage Studio http://www.cerebrata.com/Downloads/Default.aspx 
    Monday, November 22, 2010 9:07 PM