Когда подходящее время для введения высокой доступности для веб-сайта?
Есть много статей о вариантах высокой доступности. Это не так очевидно, однако, КОГДА самое время переключиться с одного сервера на конфигурацию высокой доступности.
Пожалуйста, рассмотрите мою ситуацию:
http://www.postjobfree.com - это круглосуточный веб-сайт со значительным трафиком:
http://www.similweb.com/website/postjobfree.com
В настоящее время я запускаю его на одном сервере: и веб-сервер IIS 7.0, и SQL Server 2008 работают на одном аппаратном блоке.
Время от времени (~ один в месяц) ~ 5 минут простоя, как правило, вызвано перезагрузкой, необходимой для некоторых обновлений Windows Server. Обычно время простоя запланировано и происходит ночью. Тем не менее, это неприятно, потому что Google Bot и некоторые пользователи все еще активны ночью.
Текущий доход веб-сайта составляет около $ 8K / месяц.
Я рассматриваю переход на конфигурацию с двумя серверами (веб-ферма из двух веб-серверов и кластер из двух серверов SQL, размещенных на двух аппаратных серверах).
Плюсы:
1) Высокая доступность (теоретически без простоев). Даже если один из серверов выйдет из строя - другой сервер вступит во владение.
2) Без потери данных: без кластера SQL может быть потеряно до одного дня данных в случае аппаратного сбоя (мы делаем ежедневное резервное копирование).
Минусы:
1) Больше усилий по настройке и поддержке такой конфигурации.
2) Более высокая стоимость хостинга. Вместо ~ 600 долларов в месяц это будет около 1200 долларов в месяц.
Что бы вы посоветовали?
источник
Ответы:
Краткий ответ: когда время простоя или его риск стоят вам дороже, чем высокая доступность.
Это принципиально экономическое решение. В качестве примера. 8 тысяч долларов США в месяц означают, что отключение в течение 2 часов обойдется вам в 22 доллара. Если вы сможете настроить свою систему так, чтобы за 2 часа перейти с нуля к полнофункциональному сайту, то высокая доступность принесет вам всего лишь 22 доллара функциональности.
Другими словами, вы можете сэкономить деньги, если / до тех пор, пока у вас не останется 54 часа непревзойденного простоя в данном месяце.
источник
Ваши заинтересованные стороны / деловые люди (которые могут быть вами!) Должны решить
Потерю дохода легко определить количественно: на остальное здесь нельзя ответить, извините ...
источник
Я думаю, что большинство пользователей могут справиться с небольшим количеством запланированных простоев. Учтите, что на ebay еженедельные обновления делаются по пятницам, а ставки вокруг них иногда не работают. У онлайн-банкинга моего (крупного австралийского) банка запланировано отключение по часам каждую неделю. Твиттер постоянно отключается. Heroku / EC2 в последнее время не работал.
Я бы придерживался этой точки зрения, если вы действительно говорите только 5 минут в месяц, вы делаете неплохую работу в качестве системного администратора.
источник
Вы уже упоминали Google в качестве фактора с точки зрения индексации, но, возможно, стоит подумать о влиянии, которое латентность / отзывчивость сайта могут оказать на SEO. Это черный ящик и все такое, его так трудно определить количественно - хотя Мэтт Каттс считает, что он стоит один процент . Я бы больше беспокоился о репутации, как говорили другие.
источник
Имейте в виду, что HA, как и безопасность, - это не продукт, а процесс.
Например, репликация базы данных приведет вас только к тому моменту, когда каждое зеркало базы данных сможет продолжать работать самостоятельно, но вам также потребуется стратегия повторной синхронизации после замены неисправных компонентов.
Рассмотрим систему заказов в качестве примера: клиент отправляет заказ, и во время обработки происходит сбой физической системы, с которой он общался, после сохранения информации о заказе в его локальной копии базы данных. Нетерпелив, клиент снова нажимает «отправить» и направляется на другой сервер, который принимает заказ. Если ваши базы данных ресинхронизируются путем простого воспроизведения отсутствующих операторов INSERT на другой стороне, порядок будет дублирован, что может оказаться не тем, что вам нужно.
Как предложил @Slartibartfast, все сводится к экономическому решению, однако я бы порекомендовал вам также запланировать несколько лет в будущем здесь. Если вы ожидаете, что вам понадобится правильная настройка HA, то сейчас самое время выделить ресурсы для подготовительной работы.
источник
Пока вы думаете об этом, я думаю, что вы подумываете о создании страницы «неудачного кита».
Есть много способов сделать это, но комбо aws-маршрутов для53 и s3 хорошо работает на моих небольших сайтах.
Я настроил домен с помощью проверок работоспособности, чтобы при сбоях DNS отправлял пользователей пользователям на статическую HTML-страницу, сидящую в s3; Стоит почти ничего.
По моему опыту, когда ваш сайт говорил: «Извините, что что-то сломано, но мы работаем над этим», пользователи получают огромное значение. Учетная запись Twitter, где вы можете общаться с пользователями, еще лучше.
Это долго сказывается на смягчении «потери репутации», которая может быть наиболее значительным результатом сбоя.
см .: https://aws.amazon.com/blogs/aws/create-a-backup-website-using-route-53-dns-failover-and-s3-website-hosting/ для получения инструкций по его настройке.
Социальная отработка отказа DynDns http://dyn.com/managed-dns/social-failover/ - это такая же вещь.
Вы можете выполнить свою собственную проверку здоровья, а затем записать изменения DNS, если ваши записи DNS имеют низкий TTL и у вас есть какой-то способ манипулировать ими программно.
источник
Рассматривали ли вы использовать что-то вроде EC2, которое позволит вам гибко масштабировать, а также свести на нет ваши минусы? В конечном итоге это экономическое решение, стоит ли использовать EC2 или нет, но, по крайней мере, это вариант для рассмотрения.
источник
Чтобы избежать потери данных, вы должны изучить конфигурации Raid перед кластерами. Вам также следует настроить Failover IP, который вы можете переключать с одного сервера на другой в случае аварии, не дожидаясь распространения DNS.
источник