Назад | Перейти на главную страницу

Автоматическое масштабирование SaaS

Я думаю о том, как лучше всего настроить мое приложение SaaS для автоматического масштабирования, и достигла шага, с которым не знаю, как справиться. Чтобы правильно описать проблему, мне лучше начать с объяснения, как я вижу весь этот процесс:

Во-первых, я размещу основной сайт на отдельном VPS, который обрабатывает регистрацию и содержит всю информацию о реальных серверах приложений, их загрузке, количестве пользователей и т. Д. Я думаю, что задание cron или что-то в этом роде будет проверять, чтобы у меня всегда было место для дополнительных N пользователей, и если я перейду ниже этого числа, автоматически начну процесс настройки нового экземпляра VPS.

Я решил использовать DigitalOcean и их API для настройки капель, которые затем я подключу к ServerPilot, отправив сценарий настройки ServerPilot в качестве метаданных пользователя CloudInit при создании капли в DigitalOcean.

Затем я могу использовать комбинацию API ServerPilot и DigitalOCean для проверки серверов, создания «приложений», баз данных, подключения доменов и так далее.

А теперь самое сложное. Мне нужно каким-то образом настроить репозитории Git на только что созданном сервере без использования SSH вручную.

Мои возможности здесь кажутся ограниченными. Я не могу с самого начала настроить какой-то нормальный веб-api для управления git и развертыванием приложений, поскольку ServerPilot не сделал этого при запуске CloudInit.

Можно было бы включить пользовательский сценарий в CloudInit, который служит элементарным веб-API для настройки и развертывания приложений PHP. Тогда я начал искать Sinatra для Ruby или Flask / Bottle для python. Если я правильно понимаю, они могут предоставить конечную точку API без установленного nginx / apache. Или, может быть, я совсем здесь?

Прежде чем идти дальше, я хотел бы поделиться своими идеями.

Мне вроде как нравится идея позволить ServerPilot заниматься настройкой, поскольку я в первую очередь не серверный парень. Любой вклад приветствуется.