Горизонтальное масштабирование клиентских приложений в облаке Advanced

Паттерн масштабирования клиентских приложений в облаке Advanced имеет следующие преимущества и риски:

Преимущества паттерна

Риски

Простое решение по масштабированию клиентских приложений в облаке Advanced. Увеличение или уменьшение ресурсов (горизонтальное масштабирование) в заданное время или по запросу.

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

Общая схема

../../_images/schm__templates_adv_scaling-applications-tools_reference-architecture.svg

Описание паттерна

Предварительные требования:

  • В тенанте должны быть созданы как минимум одна VPC и одна подсеть (Subnet).

  • Должен быть создан эталонный сервер ECS, на котором происходит настройка клиентского приложения.

  • Должен быть создан PaaS сервис RDS с необходимым типом баз данных в режиме Master/Standby для обеспечения высокой доступности.

При настройке клиентского приложения может использоваться сервис NAT Gateway, обеспечивающий выход в интернет из приватной подсети VPC.

После настройки клиентского приложения создается приватный системный образ в сервисе IMS для последующего использования в конфигурации Auto Scaling.

Далее на основе созданной конфигурации создается группа Auto Scaling.

Для обеспечения высокой доступности клиентского приложения серверы, входящие в группу Auto Scaling, располагаются в разных зонах доступности облака Advanced.

В качестве распределения нагрузки между серверами приложений в группе Auto Scaling используется сервис ELB.

Для достижения автоматического масштабирования настраиваются специальные политики Auto Scaling.

Политики могут основываться как на метриках загрузки CPU/RAM/Network Bandwidth из системы мониторинга Cloud Eye, так и на основе запланированных временных периодов.

Реализация

Список последовательных действий в тенанте Advanced при настройке автомасштабирования:

  1. Создание VPC.

  2. Создание подсетей (Subnet) для приложений и баз данных.

  3. Создание групп безопасности (Security Group) для приложения и базы данных.

  4. Создание NAT Gateway для выхода сервисов в интернет.

  5. Создание Application Load Balancer для обработки запросов HTTP/S и перенаправление на группу серверов приложений.

  6. Создание инстанса баз данных RDS в мульти-AZ типа Master/Standby для высокой доступности.

  7. Создание целевого сервера ECS для настройки приложения.

  8. Создание приватного образа в сервисе IMS из целевого сервера ECS.

  9. Создание конфигурации группы автомасштабирования (AS Configuration) на основе созданного образа сервера приложений.

  10. Создание группы авто масштабирования (AS Group) в мульти-AZ для высокой доступности приложения.

  11. Настройка оповещений (Alarms) на основе метрик загрузки CPU/RAM в сервисе мониторинга Cloud Eye.

  12. Настройка политики автомасштабирования на основе оповещений или запланированного временного периода (AS Policy).

  13. Запуск приложения в облаке Advanced.

Масштабная конференция
GoCloud 2024:
облачные грани будущего