6

I am quite sure I know the answer, just want to make sure I got this right.
From Azure In Action :

enter image description here

If I use the CloudBlobClient from a WCF service that sits in my WebRole, to access blobs (read/write/update) , so :

1) Does read/write/update charge as transaction or are they free ?

2) Does the speed of accessing those blobs is fast as mentioned in the note ?

David Makogon
  • 69,407
  • 21
  • 141
  • 189
Yaron Levi
  • 12,535
  • 16
  • 69
  • 118

1 Answers1

6

If I use the CloudBlobClient from a WCF service that sits in my WebRole, to access blobs (read/write/update) , so : 1) Does read/write/update charge as transaction or are they free ?

Transaction metering is independent of where the requests are made from. Storage read/write/update is done via REST API calls (or through an SDK call that wraps the REST API calls). Each successful REST API call will effectively count as a transaction. Specific details of what constitutes a transaction (as well as what's NOT counted as a transaction) may be found here.

By accessing blob storage from your Worker / Web role, you'll avoid Internet-based speed issues, and you won't pay for any data egress. (Note: Data ingress to the data center is free).

2) Does the speed of accessing those blobs is fast as mentioned in the note ?

Speed between your role instance and storage is governed by two things:

  1. Network bandwidth. The DS and GS series have documented network bandwidth. The other sizes only advertise IOPS rates for attached disks.
  2. Transaction rate. On a given storage account, there are very specific documented performance targets. This article breaks down the numbers in detail for a storage account itself, as well as targets for blobs, tables and queues.
David Makogon
  • 69,407
  • 21
  • 141
  • 189
  • About my second question, considering what you said, especially about the Network bandwidth, how is it possible to "..copy gigabytes of data... in seconds" ? When I first saw that statement I immediately concluded that transfer speeds between blob and roles is neglectable when considering scalability. ( I am asking this before delving into the blog post you mentioned. – Yaron Levi Nov 27 '11 at 09:34
  • 1
    If you read the article, you'll see specific performance targets. For instance, with a single blob, you can expect up to 60 MBytes per second, which is approaching the capacity of the NIC on an Extra Large instance. That gives you about a gigabyte in maybe 16-20 seconds. If you have multiple instances, you can move even more data, as a single storage account has a performance target of 3 gigabits per second. – David Makogon Nov 27 '11 at 13:22