Высокие нагрузки — что выбрать: кластерное или облачное решение?

Если к сайту или веб-приложению предъявляются высокие требования к быстродействию и устойчивости к высоким нагрузкам, то встаёт вопрос о выборе между кластерным и облачным решением. Оба варианта способны обеспечить отличное масштабирование, поэтому выбор чаще всего основан на экономических критериях.

Кластеры и облака — в чём разница?

Кластерные решения — это решения, построенные на базе нескольких выделенных серверов, чаще всего физических. Серверное оборудование используется постоянно, при росте нагрузки просто арендуются или закупаются дополнительные сервера. Оплата за аренду оборудования постоянная и, как правило, ежемесячная.

Облачные решения — это решения, которые также построены на базе нескольких виртуальных серверов. Количество используемых в каждый момент времени серверов зависит от нагрузки: нагрузка высокая — используется много серверов, нагрузка низкая — неиспользуемые сервера отключаются. Оплачивается облачный хостинг обычно по часам — час работы каждого сервера в облаке тарифицируется, таким образом, если нагрузка высокая, то сумма к оплате больше, если нагрузки нет — оплата минимальная.

Если сравнивать цену за час работы идентичных серверов в кластере и в «облаке», то кластеры выигрывают (час работы стоит дешевле). Однако, если сравнивать процент эффективного использования оплачиваемых ресурсов, то в «облаках» он выше — там оплачивается только то, что фактически потребляется, а в кластере оплачивается и простаивающее «железо».

Скорость масштабирования облачного хостинга значительно выше и поддаётся автоматизации, в то время как построение кластера занимает больше времени и автоматических операций там меньше.

Кластерные решения

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

Облачные решения

Если нагрузки периодические, например, связанные с маркетинговой активностью, или растут лавинообразно и времени на разворачивания кластера нет, то лучше использовать «облака». Здесь более высокая цена часа работы компенсируется отсутствием оплачиваемого простоя. Облачные решения отлично подходят для сайтов выставок, мероприятий, специальных акций, а также других сайтов, где посещаемость обычно низкая, но может в определенный момент резко возрастать на несколько порядков. «Облака» также отлично подходят ля быстрого масштабирования проектов, если посещаемость резко выросла, а времени на разворачивание полноценного кластера просто нет.

Резюме

  • Облачный хостинг — периодические высокие нагрузки или неспрогнозированный лавинообразный рост посещаемости.
  • Кластерные решения — постоянные высокие нагрузки или прогнозируемый планомерный рост посещаемости.