2010-05-19 5 views
5

Есть ли способ сделать динамическую эластичность в Windows Azure? Если мои работники начинают перегружаться или очереди начинают становиться слишком заполненными, или слишком много рабочих не имеют работы, есть ли способ динамически добавлять или удалять работников с помощью кода или это просто делается вручную (требуется вмешательство человека) Теперь? Кто-нибудь знает какие-либо планы добавить это, если он не доступен в настоящее время?Windows Azure и динамическая эластичность

ответ

3

Существует API управления сервисами, и вы можете использовать его для масштабирования вашего приложения (из кода, запущенного в Windows Azure или из кода, запущенного за пределами Windows Azure).

http://msdn.microsoft.com/en-us/library/ee460799.aspx и http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=windowsazuresamples&ReleaseId=3233.

5

Microsoft shippedБлок приложений для автоматической установки (Wasabi) для обеспечения динамического масштабирования. Некоторые из поддерживаемых сценариев:

  1. Автомасштабирование как ролей в Интернете, так и рабочих ролей в Windows Azure путем динамического изменения количества экземпляров или выполнения дросселирования приложения.
  2. Autoscaling Windows Azure ролей на основе расписаний.
  3. Автомасштабирование ролей Windows Azure на основе показателей, собранных из приложения и/или Windows Azure, но ограниченных верхними и нижними границами числа экземпляров на роль.
  4. Предотвращение быстрых колебаний числа экземпляров ролей со стабилизатором. Стабилизатор также может помочь оптимизировать затраты, ограничивая масштабирование операций до начала часа и уменьшая операции до конца часа.
  5. Деятельность по мониторингу и регистрации автомасштабирования.
  6. Отправка уведомлений для предварительного просмотра любых операций масштабирования до их проведения.
  7. Шифрование правил и другой конфигурации в хранилище Windows Azure blob или в локальном хранилище файлов.
  8. Управление конфигурацией автоскалера с помощью Windows PowerShell.

приложение comprehensie образца (Tailspin Surveys) демонстрации всех этих функций обеспечивается (инструкции по установке доступны here). Кроме того, проверьте Developer's Guide и Channel9 video walkthrough.

Блок доступен как автономная загрузка binaries, source или через NuGet.

Вот несколько переговоров/демо показывая Wasabi в действии:

3

Windows Azure только добавили функцию AutoScaling встроенный в платформу ,Теперь тривиальным легко настроить правила AutoScaling прямо на портале управления: Configuring autoscaling based on CPU utilization in Windows Azure

См announcement и demo. Я также написал post, сравнивая Autoscale Windows Azure с Wasabi и изложив путь вперед.

0
  1. Создание очереди с именем autoscale.[your_role_name].instance_count
  2. В портале управления установите автомасштабирование в Queue.
  3. Установите поле целевого счета на 1.

Теперь вы можете использовать стандартные операции enqueue и dequeue в этой очереди для управления количеством экземпляров рабочей роли. У вас есть 7 дней для обработки сообщения до истечения срока его действия, поэтому вы можете создать рабочую роль, которая может гарантировать, что количество сообщений в очереди отслеживает ваш целевой счетчик экземпляров.

Если вы находитесь за динамической эластичностью, у вас, вероятно, уже есть контроллер на основе рабочей роли, поэтому это, вероятно, не проблема.