Настраиваем автомасштабирование в InfoboxCloud

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

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

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


В этой статье мы рассмотрим, как настроить автомасштабирование в InfoboxCloud.

Что нам потребуется для настройки

Мы надеемся, что у вас уже есть учетная запись в InfoboxCloud. Если еще нет — создайте ее.

Войдите в панель управления. Создайте облачный сервер.


При создании сервера нужно обратить внимание на флаг "Я буду управлять ядром ОС". В InfoboxCloud автомасштабирование по CPU и памяти работает для контейнеров Linux (серверов, использующих виртуализацию на уровне ОС). Для виртуальных машин (серверов, использующих аппаратную виртуализацию) возможно автомасштабирование только по CPU. Если вы хотите использовать автомасштабирование по памяти — не устанавливайте флаг «Я буду управлять ядром ОС» при создании сервера.


На следующем шаге выберите необходимую ОС и завершите процесс создания сервера.

После создания нажмите на сервер в панели управления.


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


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


Красная линия на графике — выставленные ограничения ресурсов в панели управления. Синяя — текущее потребление ресурсов.


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

Вы можете уменьшить объем потребляемых ресурсов сервером в разделе управления сервером «Сводка». Автомасштабирование при этом задействовано не будет.


Это хороший способ, если вы четко знаете, сколько ресурсов сервер будет потреблять.

Если нагрузка менее предсказуема или меняется — используйте автомасштабирование.
Для настройки перейдите в соответствующий раздел «Автомасштабирование».


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

Рекомендуется после создания сервера сначала установить программное обеспечение, которое будет использоваться, убедиться в корректности его работы и определить объем потребления ресурсов при разных нагрузках (границы автомасштабирования). Затем можно включить автомасштабирование и протестировать его работу, чтобы результат при промышленном использовании был подходящим и ожидаемым.

Настройка автомасштабирования

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

Для автомасштабирования процессора ресурс — частота процессора, для памяти — объем оперативной памяти.


Период оценки объема используемых ресурсов указывается в полях «в течение». Автомасштабирование вверх и вниз возможно только после оценки используемых ресурсов (построения графика производительности) для каждого облачного сервера. Минимальное значение периода — 5 минут.

Границы автомасштабирования — поля «увеличивать до» и «уменьшать до». Это максимальный и минимальный объем ресурса, до которого возможно автомасштабирование. Рекомендуется устанавливать минимальный объем ресурса не меньше, чем указано в минимальных системных требованиях используемого программного обеспечения или не меньше минимально работоспособного значения для вашего сценария использования.

Шаг автомасштабирования указывается в поле «Шаг». Это то значение, на которое изменяется объем доступных ресурсов при автомасштабировании: увеличивается или уменьшается.

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

Темп может быть вычислен так:


Для корректного применения правил автомасштабирования темп, шаг и границы автомасштабирования должны быть целыми числами! Вы не можете сделать полшага, но можете сделать маленький шаг минимум в 1 МГц.

Давайте рассмотрим на примере: допустим мы хотим, чтобы минимальное значение частоты процессора было 200 мгц, максимальное — 2000 мгц. Допустим, мы используем периоды автомасштабирования в 5 минут и для увеличения количества ресурса и для уменьшения. Возрастает нагрузка. Если установлен шаг автомасштабирования в 200 мгц:

Темп автомасштабирования равен 9. Определим время, за которое при значительно выросшей нагрузке увеличится частота процессора с 200 по 2000 МГц.


Максимальное время автомасштабирования = 9*5 = 45 минут.

Нужно автомасштабироваться быстрее? Увеличьте шаг, но так, чтобы темп по-прежнему оставался целым числом.
Например можно установить нижнюю границу автомасштабирования в 500 Мгц, верхнюю в 2000 Мгц, шаг в 500 мгц, периоды так и останутся по 5 минут.
Тогда темп = (2000-500)/500 = 3.
Максимальное время автомасштабирования = 3*5 = 15 минут.

Точно так же производится расчёт и для памяти.
Допустим, нижняя граница — 1024 Мб, верхняя — 65536 Мб. Периоды — по 5 минут. Шаг — 1024 Мб. Тогда темп = (65536-1024)/1024 = 63.
Максимальное время автомасштабирования с 1 Гб памяти до 64 Гб = 63*5 = 315 минут.

Так видно из проведенных расчётов, автомасштабирование работает не мгновенно, что связано с затратами вычислительных ресурсов и объемом служебного трафика, нужного для построения графиков загрузки серверов облака. Это означает, что нижняя граница автомасштабирования должна задаваться с запасом, достаточным для выдерживания нагрузки при ожидаемом росте нагрузки в течении 5и минут (до выполнения операции автомасштабирования). Это обеспечит предсказуемую работу сервера при росте нагрузки.

Полезным свойством автомасштабирования является возможность максимальной экономии ресурсов. С помощью автомасштабирования можно уменьшать объем ресурсов, доступных серверу до значений меньше, чем возможно установить из панели управления напрямую. Например такие значение, как 25 мгц процессора и 48 мегабайт памяти для непосещаемого личного блога или git–репозитория — вполне реальность. Это открывает возможность для пользователей использовать облако недорого, не переплачивая за лишние ресурсы, максимально уменьшая оплату за облачный сервер.

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

Заключение

Если вы обнаружили ошибку в статье, автор ее с удовольствием исправит. Пожалуйста, напишите на почту о ней. Вопросы пишите в комментариях или на почту.

Успешной работы!

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.