Еще один способ сохранить занятость всех четырех ядер - это масштабировать приложение до нескольких экземпляров веб-роли таким образом, чтобы каждое ядро работало в своем экземпляре (обратите внимание, что в Windows Azure каждый экземпляр запускается в своя виртуальная машина). Поскольку в Windows Azure вы платите по часам за каждое ядро, использование одного ядра в каждом из 4 экземпляров рабочих ролей будет стоить столько же, сколько и запуск 4 ядер в одном экземпляре рабочей роли.
Преимущество использования 4 экземпляров Worker Role заключается в том, что вы можете более удобно настроить 3, 2 или 10 экземпляров в зависимости от объема вычислений, которые вам необходимо использовать в любой момент времени. Изменить количество запущенных экземпляров очень просто - вам не нужно повторно развертывать приложение. Чтобы изменить размер экземпляров, необходимо повторно развернуть. Кроме того, у вас меньше детализации с размером экземпляра: частичное, 1, 2, 4 и 8 ядер. Не существует размера экземпляра, скажем, с 6 ядрами.
Обратите внимание, что соглашение об уровне обслуживания Windows Azure не действует, если у вас есть один экземпляр. Требуется минимум 2 экземпляра, прежде чем различные SLA пнут его. Частично это позволяет Fabric Controller Azure обновлять части вашего приложения (например, с помощью патча O / S), не удаляя все приложение целиком.
Предостережение: для унаследованного кода, который не разработан с учетом облака, возможно иметь код, который не будет работать правильно, если запущено более одного экземпляра. Другими словами, он не может эффективно «масштабироваться»; в этом случае вы можете «увеличить», запустив его на большем размере экземпляра (например, с 4 ядрами).