Both deployment methods (API and Portal) allow you to deploy from a file that is already uploaded to Azure Storage. VSTS tools just use this feature behind the scenes. (In 2010, you must provide credentials for storage for this reason).
You should look into the .cspkg download directly in Blob (via VSTS, and then write a simple download client that breaks the download into blocks that can be loaded at the same time. Then you can configure this (block size and the number of blocks loaded at a time), to make better use of your outgoing bandwidth. Then you just use the api to "build" them in Azure when they are all there. This should really speed up the download.
I think in order to answer your question “what is happening”, you just get the synchronous I / O of WebClient for Azure Storage and all the restrictions that come with it.
source share