Windows Azure и динамическая эластичность - PullRequest
6 голосов
/ 20 мая 2010

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

Ответы [ 5 ]

5 голосов
/ 03 декабря 2011

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

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

Предоставляется пример приложения ( Tailspin Surveys ), демонстрирующий все эти функции (инструкции по установке доступны здесь ). Также ознакомьтесь с Руководством разработчика и прохождением по каналу Channel 9 .

Блок доступен как отдельная загрузка двоичных файлов , source или через NuGet .

Вот пара выступлений / демонстраций, демонстрирующих Васаби в действии:

3 голосов
/ 04 июля 2013

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

См. Объявление и демоверсию . Я также написал сообщение , в котором сравниваются автоматическое масштабирование Windows Azure и Васаби и описывается путь вперед.

3 голосов
/ 20 мая 2010

Существует 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.

1 голос
/ 23 июля 2014
  1. Создать очередь с именем autoscale.[your_role_name].instance_count
  2. На портале управления установите автомасштабирование на Queue.
  3. Установите для поля Target Count значение 1.

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

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

0 голосов
/ 21 мая 2010

Lokad.Cloud проект с открытым исходным кодом для Windows Azure содержит распределенную среду исполнителя. Помимо прочего, он обеспечивает автоматическое масштабирование с функцией подготовки виртуальных машин .

...