Openstack overkill для веб-сайта HA?

Некоторые предпосылки: я создаю довольно привлекательный веб-сайт (насколько применимо к используемому стеку). Компоненты среди других более мелких материалов включают:

  • Elasticsearch
  • Redis
  • ZeroMQ
  • Couchbase
  • RethinkDB
  • трафик через Nginx → Node

Цель состоит в том, чтобы иметь высокий доступный веб-сайт, но быть довольно скудным (и низкой стоимостью) одновременно.

Текущая топология, которую я рассматриваю:

  • 2 веб-серверов в активной/активной конфигурации с DNS-балансировкой нагрузки. (Nginx, статичное обслуживание активов и т.д. + Балансировка нагрузки на второй уровень:
  • 2 приложения в активном/активном. Большинство компонентов, таких как Elasticsearch, могут выполнять окантовку/репликацию, поэтому это не должно быть так сложно настроить (скрещенные пальцы)
  • обработка сеанса в реплицированном Redis

Естественно, я хочу следить и предупреждать, когда что-то не так, и в идеале система должна иметь возможность автоматически обрабатывать отказы. Такие вещи, как: продвигать Redis от Slave до Master или даже инициализировать новый экземпляр ec2, если бы я был на Ec2, который есть.

Тем не менее, я хочу быть свободным от конкретного хостинг-провайдера. Который я верю (пожалуйста, исправьте, если не так), где Openstack входит.

Правильно ли, что: - openstack позволяет мне контролировать весь жизненный цикл моего веб-стека (охватывая несколько ящиков/виртуальных машин?). Позволяет ли я (с работой по настройке) ускорить экземпляры, когда что-то пойдет не так, предпримите соответствующие действия в этих сценариях и т.д.?

Или Openstack просто совсем не тот инструмент для работы? Что-нибудь еще, что лучше всего подходит как "уровень управления" поверх всего моего сайта?

благодаря

1 ответ

OpenStack не является VMWare ESX. Это не очень хорошая версия простой виртуальной машины хостинга. Если вы хотите, чтобы легко управлять виртуальными машинами, я мог бы предложить Ganeti. Он даже имеет отказоустойчивость HA от виртуальных машин. В среде с двумя физическими узлами это, вероятно, путь.

Что OpenStack дает вам, что Ganeti не будет RESTful API. Он имеет API совместимости с AWS, но он имеет API OpenStack, которые еще лучше. Если вы хотите автоматизировать эластичность или исцеляемость, это огромно. Возможность связывать в python с использованием существующих клиентских API и просто писать сценарии, которые разворачивают экземпляры по мере необходимости, - это то, о чем говорит Joe DevOps.

Поэтому я предполагаю, что это сводится к тому, каков ваш уровень приверженности и что вам нужно. Для 2 физических машин OpenStack, вероятно, не лучшее решение. Но, по линии, когда у вас больше приложений и больше vms, чем вы можете управлять вручную, openstack будет там, чтобы помочь вам написать код, который заставляет ваш центр обработки данных танцевать под ваши мелодичные мелодии.

licensed under cc by-sa 3.0 with attribution.