У меня есть продукт SaaS, размещенный на AWS, и я хотел бы иметь такую же инфраструктуру, размещенную на Rackspace (или на любом другом хосте), чтобы обеспечить высокую доступность (в конечном итоге, балансировку нагрузки) для моих пользователей в случае отказа AWS.
У кого-то есть какие-то советы по этому поводу? Лучший способ - использовать балансировщик нагрузки DNS?
Спасибо всем заранее
Для этого можно использовать самые разные методы. Обычно применяется комбинация балансировки нагрузки DNS и балансировщиков нагрузки. Позволяет иметь несколько уровней резервирования, моя простая блок-схема:
Пользователь -> Ответ DNS (несколько IP-адресов, убедитесь, что вы получите ответ от соответствующего облачного провайдера) -> Балансировщик нагрузки (например, ELB или HAproxy, убедитесь, что ваши облачные серверы включены) -> облачный сервер
простой пример пошагового руководства: http://blog.rightscale.com/enterprise-cloud-strategies/dns-load-balancing-and-using-multiple-load-balancers-cloud
Решение, которое я также использовал ранее, - это использование CDN для обработки ответов DNS и динамического управления трафиком в нескольких центрах обработки данных или облачных провайдерах. Akamai делает это с помощью глобального управления трафиком: http://www.akamai.com/html/solutions/gtm.html
edit: я забыл упомянуть, что балансировка нагрузки DNS может обеспечить интересное поведение, основанное на том, как вышестоящие серверы кэшируют ответы DNS, иногда интернет-провайдеры (кашель comcast, at & t кашель, они стали лучше), а другие клиентские DNS-серверы не следуют заданным вами значениям TTL (в блоге, на который я ссылался, упоминалось об этом, но я не могу этого добиться). Обычно это не серьезная проблема, но то, что нужно учитывать, если вы действительно столкнетесь с проблемой.
С самим AWS вы можете добиться высокой доступности, в AWS есть регионы и зоны, поэтому, если вы развертываете свой продукт в другом регионе, вы можете распространять свой продукт географически, а в регионах у вас есть разные зоны, зоны так же хороши, как и другой центр обработки данных.
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html
Вы можете сохранить реплику своей среды в AWS через Rackspace, и DNSMADEEASY может помочь вам в аварийном переключении.
http://www.dnsmadeeasy.com/blog/dns-failover-one-trip-shouldnt-take-you-down/