Фраза дня: автомасштабирование

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

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

Автомасштабирование связано с концепцией наращиваемых экземпляров и сервисов, которые обеспечивают базовый уровень ресурсов, а затем могут масштабироваться - или «разгоняться» - по мере того, как использование памяти и ЦП оказывается под давлением спроса.

Как это работает?
Автомасштабирование работает по-разному в зависимости от платформы и ресурсов, которые используются. В общем, есть несколько общих характеристик для всех подходов к автомасштабированию, которые позволяют автоматическое масштабирование ресурсов.

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

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

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

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

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

Типы автомасштабирования
По сути, существует три типа автомасштабирования:

  • Реактивный. При подходе реактивного автомасштабирования ресурсы масштабируются вверх и вниз по мере возникновения всплесков трафика. Этот подход тесно связан с мониторингом ресурсов в реальном времени. Часто также используется период восстановления, который представляет собой установленный период времени, в течение которого ресурсы остаются повышенными - даже при падении трафика - чтобы справиться с любыми дополнительными скачками трафика.
  • Прогнозный. В подходе с прогнозирующим автомасштабированием методы машинного обучения и искусственного интеллекта используются для анализа нагрузки трафика и прогнозирования, когда потребуется больше или меньше ресурсов.
  • По расписанию. При запланированном подходе пользователь может определить временной интервал, когда будут добавлены дополнительные ресурсы. Например, перед крупным событием или в период пиковой нагрузки в течение дня, вместо того, чтобы ждать, пока ресурсы увеличатся по мере увеличения спроса, они могут быть заранее подготовлены заранее.

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

  • Более низкая стоимость. Без автомасштабирования организации и пользователи облака должны постоянно выделять больше ресурсов, чтобы иметь возможность справляться с потенциальными всплесками трафика и изменениями в схемах трафика. Автомасштабирование позволяет масштабировать ресурсы только при необходимости и уменьшать масштаб при уменьшении трафика. Это один из способов снижения затрат на облачные технологии для предприятий.
  • Автоматизация. Организации могут вручную добавлять ресурсы при необходимости, но это не масштабируемый и неэффективный подход. Автоматическое масштабирование активируется при необходимости, обеспечивая более оптимизированный подход, чем ручное масштабирование.
  • Надежные уровни производительности. Определяя политики автомасштабирования, администраторы облака могут определять желаемые уровни производительности и обеспечивать их достижение и поддержание.
  • Повышенная отказоустойчивость. Службы могут отключаться по разным причинам, включая ошибки и проблемы с логикой приложения или даже неисправное оборудование. С помощью автомасштабирования состояние и производительность рабочей нагрузки постоянно отслеживаются для замены и автоматического масштабирования ресурсов при необходимости.
  • Доступность услуги. Облачные сервисы могут стать недоступными, если они перегружены ресурсоемкими рабочими нагрузками или большим объемом трафика, чем настроенные экземпляры настроены для обработки. Автомасштабирование может гарантировать доступность сервиса в случае такого всплеска трафика.

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

Вот некоторые поставщики облачных услуг, которые предоставляют возможности автомасштабирования:

  • Amazon Web Services (AWS). AWS предлагает несколько сервисов автомасштабирования, включая AWS Auto Scaling и Amazon EC2 Auto Scaling. AWS Auto Scaling - это сервис для пользователей, которым необходимо масштабировать ресурсы между несколькими сервисами AWS. Напротив, сервис Amazon EC2 Auto Scaling ориентирован на предоставление возможностей автомасштабирования для экземпляров Amazon EC2, которые предоставляют виртуальные вычислительные ресурсы.
  • Google Compute Engine (GCE). GCE предоставляет возможности автомасштабирования в качестве функции для своих облачных пользователей, запускающих группы управляемых экземпляров экземпляров виртуальных машин (VМ). Управляемые группы экземпляров - это дополнительный подход к развертыванию в Google Compute Engine, при котором группы идентичных виртуальных машин развертываются в GCE в управляемом подходе для обеспечения более высокой доступности.
  • IBM Cloud. У IBM есть модуль, известный как автоматическое масштабирование кластера, который можно развернуть в рабочих нагрузках IBM Cloud. Этот инструмент автомасштабирования может увеличивать или уменьшать количество узлов в кластере в зависимости от размера, необходимого в соответствии с политиками запланированной рабочей нагрузки.
  • Microsoft Azure. Для пользователей облачной платформы Microsoft Azure служба Azure AutoScale позволяет автоматически масштабировать ресурсы. Azure AutoScale можно реализовать с помощью развертываний виртуальных машин, мобильных устройств и веб-сайтов.
  • Облачная инфраструктура Oracle. Oracle предлагает несколько сервисов автомасштабирования на своей платформе Oracle Cloud Infrastructure, включая автоматическое масштабирование вычислений и гибкий балансировщик нагрузки, который обеспечивает эластичную балансировку нагрузки для сетевого трафика.

Подробнее начать знакомиться с этими замечательными технологиями можно здесь.