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

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

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

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

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

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

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

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

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

  • Этот план звучит разумно?

  • Есть ли лучшие альтернативы ServerPilot для такого использования, где я предпочитаю держаться подальше от конфигурационных файлов сам?

  • Было бы лучше просто создать свой собственный файл изображения для новых капель и вообще не использовать ServerPilot, включив в него нормальный PHP-менеджер приложения для настройки пользовательских приложений?

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

0 ответов

Другие вопросы по тегам