Настройка высокой доступности в Azure

Мы находимся в процессе перевода нашего текущего решения IAAS в Azure, где мы размещаем веб-приложения asp.net LOB в IIS с серверной частью SQL Server.

Я изучаю группы доступности. Я наткнулся на эту статью по адресу: http://michaelwasham.com/windows-azure-powershell-reference-guide/understanding_configuring_availability_sets_powershell/

Высокая доступная настройка

Это похоже на то, как мы хотим настроить наше развертывание в Azure, где «веб-серверы» - это наши виртуальные машины. Мой вопрос касается того, как мы настраиваем наши виртуальные машины. В настоящее время у нас есть около 200 отдельных клиентов, размещенных на нашем решении IAAS, что означает 200 отдельных веб-приложений в IIS. При высокодоступном развертывании виртуальные машины должны быть точными копиями друг друга, т. Е. 200 клиентов в блоке 1 и снова в блоке 2. Или мы должны распределить их по нескольким блокам, т. Е. 0-50 клиентов в блоке 1, 50-100 клиентов в блоке 1. коробка 2 и так далее.

Я не вижу, как 2-й вариант спреда будет работать в высокодоступном наборе, потому что, если 1 ящик отключается, все клиенты на нем отключаются?

Немного запутались, надеетесь, что у кого-то есть совет по этому поводу?

Спасибо




Ответы (1)


Лучше всего продублировать все, балансировщик нагрузки Azure (балансировщик уровня 4) обеспечивает равномерное и случайное распределение нагрузки между прослушивающими конечными точками, поэтому вы не можете знать, какой сервер ответит на запрос, поэтому у вас должна быть одинаковая конфигурация на обоих устройствах. . Вот некоторая информация о балансировщике нагрузки Azure, которая может вас заинтересовать: ссылка

Также поместите их в набор доступности, чтобы если одна из виртуальных машин умирает по какой-либо причине или во время обновлений (что может происходить время от времени с виртуальными машинами), вы можете быть уверены, что хотя бы одна из ваших виртуальных машин всегда будет в сети. Вам может потребоваться более двух виртуальных машин, это действительно зависит от объема трафика, генерируемого каждым из ваших клиентов, и создаваемой нагрузки. Но у вас должно быть как минимум два vms.

Небольшое примечание, если вы раньше не использовали Azure; вам может потребоваться некоторое время, чтобы получить правильную стоимость одной виртуальной машины с течением времени, но не забудьте использовать график для увеличения и уменьшения, чтобы снизить затраты и предвидеть нагрузку на вашу виртуальную машину. Кроме того, наличие 4 виртуальных машин меньшего размера лучше, чем 2 виртуальных машин большего размера, с точки зрения сбоя и, в конечном итоге, стоит столько же в течение месяца. Если одна большая виртуальная машина умирает, вы теряете 50% своей способности обслуживать клиентов, тогда как если бы вы потеряли одну меньшую виртуальную машину, вы потеряли только 25%.

person David Guerin    schedule 12.11.2014
comment
Привет, Дэвид, отличный пост. Вопрос: поскольку мы захотим дублировать виртуальные машины, есть ли способ легко дублировать виртуальные машины и синхронизировать их? Я собираюсь сделать образ виртуальной машины после настройки и скопировать ее, но после этого, если нам нужно добавить к ней, нужно ли нам просматривать каждый из 2 или более дубликатов и обновлять их? - person Matt; 13.11.2014
comment
Вы можете отображать их с помощью Sysprep, эта ссылка должна вам помочь [azure.microsoft.com/en-us/documentation/articles/ windows-server /] Sysprep иногда может быть немного болезненным, когда он не работает с именами пользователей и паролями, поэтому у меня пройти через настройку несколько раз, прежде чем я смогу сделать хорошее многоразовое изображение. Когда вы создаете новый образ, вы можете просто запустить новый набор виртуальных машин при промежуточном развертывании в облачной службе, когда вы читаете о замене, нажмите кнопку обмена, чтобы поменять производственную среду на промежуточную. - person David Guerin; 13.11.2014
comment
Привет, Дэвид, спасибо за ответ. Была еще одна вещь, на которую мне нужно было учесть общие документы. В рамках LOB пользователь может загрузить документ, который загружается на сервер. Если мы разделены на несколько серверов, это будет означать, что виртуальная машина A будет содержать некоторые документы, и если балансировщик нагрузки подтолкнет пользователя к виртуальной машине B для их запроса, тогда документ не будет существовать. Любые идеи о том, как обрабатывать документы / файлы, которые необходимо изменить в реплицированной среде? Спасибо - person Matt; 13.11.2014
comment
Конечно, нет проблем, для распространения файлов потребуется что-то еще, и для использования BLOB-объектов Azure или файловой службы Azure потребуется некоторая доработка. У нас есть аналогичный подход, когда пользователь загружает файл в нашу облачную службу, следующий шаг - поместить их в большой двоичный объект для доступа и распространения. Мы отслеживаем файлы, большие двоичные объекты, в которые они были добавлены, разрешения для большого двоичного объекта и URL-адрес для их обслуживания в нашей базе данных. База данных в Azure SQL используется совместно развернутыми виртуальными машинами облачной службы. - person David Guerin; 13.11.2014