Оба метода развертывания (API и Portal) позволяют выполнять развертывание из файла, который уже загружен в хранилище Azure. Инструменты VSTS просто используют эту функцию за кулисами. (В 2010 году вы должны предоставить учетные данные для хранения по этой причине).
Вы должны изучить возможность загрузки файла .cspkg в Blob напрямую (по сравнению с VSTS, а затем написать простой клиент загрузки, который будет разбивать загрузку на блоки, которые можно загружать одновременно. Затем можно настроить это (размер блока и # количество блоков, загружаемых за раз), чтобы лучше использовать исходящую пропускную способность. Затем просто используйте API для «сборки» их в Azure, как только они все там будут. Это действительно должно ускорить загрузку.
Я думаю, что для ответа на ваш вопрос о том, «что происходит», вы просто получаете синхронный ввод-вывод WebClient в хранилище Azure и все ограничения, которые с ним связаны.