2

Summary
I have picked up support for a fairly old website which stores a bunch of blobs in Azure. What I would like to do is duplicate all of my blobs from live to the test environment so I can use them without affecting users.

Architecture
The website is a mix of VB webforms and MVC, communicating with an Azure blob service (e.g. https://x.blob.core.windows.net/LiveBlobs).

The test site mirrors the live setup, except it points to a different blob container in the same storage account (e.g. https://x.blob.core.windows.net/TestBlobs)

Questions

  • Can I copy all of the blobs from live to test without downloading them? They would need to maintain the same names.
  • How do I work out what it will cost to do this? The live blob storage is roughly 130GB, but it should just be copying the data within the same data centre right?

Things I've investigated
I've spent quite some time searching for an answer, but what I've found deals with copying between storage accounts or copying single blobs.

I've also found AzCopy which looks promising but it looks like it would copy the files one by one so I'm worried it would end up taking a long time and costing a lot.

I am fairly new to Azure so please forgive me if this is a silly question or I've missed out some important details. I'm more than happy to add any extra information should you need it.

2 Answers 2

4

Can I copy all of the blobs from live to test without downloading them? They would need to maintain the same names.

Yes, you can. Copying blob is an asynchronous server-side operation. You simply tell the blob service the blobs to copy & destination details and it will do the job for you. No need to download first and upload them to destination.

How do I work out what it will cost to do this? The live blob storage is roughly 130GB, but it should just be copying the data within the same data centre right?

So there are 3 things you need to consider when it comes to costing: 1) Storage costs, 2) transaction costs and 3) data egress costs.

Since the copied blobs will be stored somewhere, they will be consuming storage and you will incur storage costs.

Copy operation will perform some read operations on source blobs and then write operation on destination blobs (to create them), so you will have to incur transaction costs. At very minimum for each blob copy, you can expect 2 transactions - read on source and write on destination (though there can be more transactions).

You incur data egress costs if the destination storage account is not in the same region as your source storage account. As long as both storage accounts are in the same region, you would not incur this.

You can use Azure Storage Pricing Calculator to get an idea about how much it is going to cost you.

I've also found AzCopy which looks promising but it looks like it would copy the files one by one so I'm worried it would end up taking a long time and costing a lot.

Blobs are always copied one-by-one. Copying across storage accounts is always async server side operation so you can't really predict how much time it would take for the copy operation to complete but in my experience it is quite fast. If you want to control when the blobs are copied, you would need to download them first and upload them. AzCopy supports this mode as well.

As far as costs are concerned, I think it is a relative term when you say it is going to cost a lot. But in general Azure Storage is very cheap and 130 GB is not a whole lot of data.

1
  • Thanks for the answer Gaurav, it's really helpful :)
    – Joey
    Commented Oct 13, 2016 at 7:58
-1

creating a custom role and cloning a role : Go to Subscription --- IAM --- add custom role --- Give required details there--- select "clone a role"-- choose one -- create.

Not the answer you're looking for? Browse other questions tagged or ask your own question.