Высокая доступность на сайтах Windows Azure
Одно из моих основных приложений размещено на платформе веб-сайтов Windows Azure. Учитывая время простоя в пятницу, я понял, что мне нужно что-то, что позволит моему приложению оставаться в сети, если в Azure снова произойдет сбой.
Моя текущая настройка - 1 экземпляр WAWS (с автоматическим масштабированием, установленным на 1,3 экземпляра при 70% ЦП) и SQL Azure в качестве бэкэнда.
Мне действительно нравится иметь функцию автоматического развертывания git в WAWS, и я бы предпочел оставить ее (веб-роли не могут легко развернуть ее сразу), но какие еще решения я мог бы использовать для достижения более высокой задержки HA + для большинства моих клиентов?
Я думал о следующих сценариях:
- Оставь как есть
- Создайте дополнительные регионы, используя те же сценарии автоматического развертывания [но мне придется как-то отражать мои базы данных SQL Azure)
- Перейдите к веб-ролям / виртуальным машинам с диспетчером трафика и самостоятельно разместите мои БД [сохраняя SQL Server или переходя на MariaDB]
- Перейдите в Amazon, Rackspace или что-то еще, что позволит мне поддерживать работоспособность и производительность
Что ты предлагаешь?
1 ответ
Первое: помните, что у всех облачных провайдеров есть перебои. Windows Azure не "пошел в ад", как вы выразились. Подмножество услуг в конкретном регионе было отключено до тех пор, пока оно не было смягчено. Смена облачных провайдеров не защитит вас от перебоев. Просто позвоните, и вы найдете множество деталей о сбоях у нескольких облачных провайдеров.
Высокая доступность работающей службы всегда сопряжена с расходами, и приоритеты будут зависеть от конкретного приложения. Если это веб-уровень, то вы действительно можете рассмотреть возможность размещения в нескольких географических точках. Если это уровень обработки бэкэнда, иногда "нормально" переводить службу в автономный режим, пока запросы находятся в очереди. Если это система хранения (предотвращающая очереди сообщений), возможно, для целей резервирования может быть доступна альтернативная очередь в другом центре обработки данных.
К сожалению, нет единственного правильного ответа, поскольку он будет зависеть от конкретного приложения.