When you call the CreateFile() function to create or open a file on Azure Server, you should use both Read and Write access permissions. That is, specify GENERIC_READ | GENERIC_WRITE instead of only GENERIC_WRITE for the dwDesiredAccess parameter.
This is because a Write-Only handle cannot cache small writes locally, even if it is the only opened handle for the file. Using a Write-Only handle imposes a severe performance penalty.
Note Calling the fopen() function in “a” mode also opens a Write-Only handle.