Иногда вам не нужна сложная архитектура для автоматического масштабирования серверов…

Зачем вам платить за некоторые сервисы облачного масштабирования и учиться их использовать, если вы можете сделать это бесплатно, написав всего несколько строк кода?

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

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

Итак, сначала нам нужно было создать на серверах конференц-связи службу, работающую и отслеживающую использование ЦП в реальном времени, и помещать такую ​​информацию в нашу базу данных.

Этого можно добиться с помощью простого файла NodeJS, вызываемого службой каждую минуту или 2:

Итак, теперь у вас есть в вашей БД информация о текущем процессоре, используемом всеми вашими серверами в режиме реального времени.

Теперь вам нужно создать своего рода Orchestrator, удаляя или создавая серверы на основе этой информации.

Для этого создайте файл server.js в NodeJS, получая информацию из вашей БД:

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

Таким образом, всего за несколько строк у вас есть собственный оркестратор, автоматически создающий и удаляющий серверы на лету.

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

Оставшиеся шаги для создания вашего сервера — дать ему IP-адрес, создать для него перенаправление DNS и запустить экземпляр на основе такого образа. Экземпляр также должен будет создать свой собственный SSL-сертификат при первом запуске.

Я покажу вам все эти шаги в этой статье здесь, так что это не слишком долго.

Джеймс,

Посетите Tipicalls.com, нашу бесплатную платформу для встреч и совместной работы