Масштабирование в облаке

Проблема выбора

Виртуальная среда облака 1cloud позволяет создавать серверы с вычислительной мощностью в весьма широком диапазоне. Сегодня у него следующие границы.

  От До
Число процессорных ядер 1 24
Оперативная память 512 Мб 130 Гб
Размер одного диска
(дисков у одной виртуальной машины может быть очень много)
10 Гб 1 Тб

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

Хорошая иллюстрация проблемы выбора: монолог Михаила Жванецкого «Те были большие, но по пять…» в исполнении Романа Карцева.

Если заменить раков виртуальными серверами, альтернативы будут следующими: 1) установить всю свою информационную систему на один мощный сервер или 2) разместить её на нескольких менее мощных серверах, связанных по сети.

Ответ на этот вопрос совсем не очевиден. Обсуждение вариантов его наилучшего решения продолжается уже довольно давно и вряд ли завершится в обозримом будущем.

Дело в том, что критериев оценки оптимальности компьютерной инфраструктуры имеется много, а значимость каждого из них может существенно изменяться от одной прикладной задачи к другой.

Администрировать одну виртуальную машину с одной операционной системой удобнее, чем группу из нескольких серверов. Но надёжность отдельного компьютера потенциально ниже, чем хорошо спроектированной распределённой системы.

Другое обстоятельство. Производительность одного мощного сервера может быть очень высокой, тем не менее, она всё равно будет иметь некий потолок. Распределённые системы могут обеспечить намного больший диапазон производительности и устойчивости работы при разных нагрузках.

Наращивание вычислительной мощности системы за счёт повышения характеристик отдельных серверов называется вертикальным масштабированием (Scale-In).

Наращивание вычислительной мощности системы за счёт увеличения числа серверов, входящих в неё, называется горизонтальным масштабированием (Scale-Out).

У горизонтального масштабирования возможности увеличения совокупной мощности системы намного больше, но реализация этих возможностей, как правило, сопряжена с бо́льшей организационной и технической сложностью.

Преимущества и недостатки

Предположим, требующуюся вычислительную производительность можно обеспечить одним большим сервером или несколькими небольшими. Какой вариант выбрать?

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

  Отдельный сервер Система из группы серверов
Сложность администрирования Ниже + Выше
Гибкость конфигурирования информационной системы Ниже Выше +
Возможности защиты Ниже Выше +
Диапазон потенциальной производительности Довольно широкий, но ограниченный Очень широкий +
Возможности балансировки нагрузки между частями информационной системы Никакой Широкие +

Рекомендации

Если проектируется информационная система, нагрузку на которую можно достаточно точно спрогнозировать и, соответственно, запланировать её производительность — эффективнее использовать отдельный сервер.

Типичным примером относительно стабильной нагрузки на компьютерную инфраструктуру являются самые разнообразные корпоративные информационные системы. Число их пользователей, как правило, постоянно, а если оно и меняется, то постепенно. Перечень решаемых задач также меняется планомерно.

Но если спрогнозировать уровень нагрузки на будущую информационную систему трудно или невозможно — нужно проектировать инфраструктуру, масштабируемую горизонтально.

Типичным примером систем с трудно прогнозируемым уровнем нагрузки являются интернет-магазины, социальные сети, игровые интернет-площадки и т. п. Нагрузка на них может меняться в огромных пределах, например, взлететь после рекламы, публикации в СМИ или другого информационного повода.

Заключение

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

Здесь стоит напомнить о дополнительной гибкости, которую даёт облачная среда — возможности оперативного изменения вычислительных характеристик виртуальных машин, создания новых или выключения ненужных.

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

Фактически, виртуальная среда позволяет объединить в одной прикладной компьютерной инфраструктуре преимущества как вертикального, так и горизонтального масштабирования, быстро изменяя и сочетая базовые элементы.

 

P. S. Ещё немного интересных статей: