According to a comment on a StackOverflow answer,
In a web or worker role you have to use an Azure Drive - which has much lower performance than an Azure Disk which you get with a VHD. Reference: blogs.msdn.com/b/windowsazurestorage/archive/2012/06/28/…
– Matt Johnson Feb 19 at 20:15
However, I've read through this reference link and other related documentation, and I cannot find anything to support the assertion that a PaaS Cloud Drive is slower than an IaaS disk. In fact, the only thing I do see is that drives work on 2 MB chunks, whereas disks work on 128 KB chunks. I would therefore assume that drives would be more performant than disks.
Drives: IO < 2 megabytes will be 1 transaction; IO >= 2 megabytes will be broken into transactions of 2MBs or smaller
Disks: IO < 128 kilobytes will be 1 transaction; IO >= 128 kilobytes will be broken into transactions of 128KBs or smaller
Does anyone have any real world metrics or links to indicate the perf difference between these two options?
The two features are currently implemented differently.
Azure Drive is a filesystem filter that grabs the NTFS calls, converts to REST, and forwards to the Azure Blob backing the disk (Page Blob). Network IO counts against the quota of the VM (each core of a VM gets 100Mb/Sec).
Data Drives are implemented within the Azure Hypervisor and are presented to the Guest OS as a mountable drive. Same basic idea - it converts the calls to the drive to REST and interacts with the Azure Blob backing the drive (still a Page Blob). The network IO for the call to storage does not count against the Guest OS, so you could still have 100Mb/sec/core for 'regular' network traffic while making calls to the data disk.
For both, there are local caching options the impact of which will vary based on the specific workloads & IO patterns.
I would recommend a quick read of the following for more details: