У нас есть много небольших сайтов, с течением времени их количество увеличивается. Все они основаны на одном git-репозитории, но имеют разное содержимое. Для работы они требуют PHP определённой версии и MySQL. Сайты не сложные, вертикальное масштабирования не требуется. Но сайтов много, поэтому на один физический или виртуальный сервер они все не влезут.
Нужна возможность разворачивать новые сайты из репозитория используя только API. Плюс нужна возможность обновлять и удалять сайты и прикреплять домены через API.
Некоторые из сайтов обязательно должны хоститься на территории РФ.
Стоимость хостинга не должна превышать ≈100₽ на сайт в месяц.
Как лучше всего поступить в нашем случае?
В настоящий момент мы делаем так. У нас есть пара VPS, на каждом из которых по многу сайтов. API для создания, обновления и удаления сайтов реализовано нами самими в виде PHP-скрипта. Этот вариант нам не очень нравится, потому что рано или поздно придётся арендовать новый сервер, настроить его и постоянно поддерживать, а с ростом количества сайтов таких серверов будет всё больше и сложность обслуживания будет расти.
Этот вариант нам не очень нравится, потому что рано или поздно придётся арендовать новый сервер, настроить его и постоянно поддерживать, а с ростом количества сайтов таких серверов будет всё больше и сложность обслуживания будет расти.
Арендуйте облако, чисто гипотетически, его вычислительные ресурсы практически не имеют ограничений.
и т.д., их довольно много и в целом, расширять ресурсы можно практически до бесконечности. Если даже 24 ядра и 64Гб памяти Вам не хватит - можно поговорить с хостером, я думаю они без проблем смогут организовать для Вас индивидуальное предложение.
Finesse, Вы можете подключить отдельное хранилище, насколько я помню у "Amazon"ов такая услуга есть, у некоторых других облачных-хостеров тоже (сейчас на вскидку не скажу, но найти, думаю проблем не составит).
Евгений Вольф, спасибо, изучу этот вопрос. Была ещё идея разворачивать для каждого сайта мини-VPS на каком-нибудь амазоне, но настолько маленьких VPS никто не предлагает.
Finesse, я часто разворачиваю "Мини VPS" с помощью LXC/LXD, очень удобно, можно заранее подготовить (самому) виртуальные машины со всем софтом и пр. лабудой. Делать это можно в т.ч. в рамках одного облака/дедика/уже купленного VPS/etc, довольно удобно, с точки зрения управления всей этой экосистемой и "промежуточные" потери - минимальны. Единственное, с чем придётся немного повозиться - с настройкой сети и возможно настройкой дисковой системы, если нужно будет ограничить место для каждой машины.
Finesse, он решает близкие по смыслу задачи, но, не совсем те же. Docker - это контейнер приложения, а LXC/LXD - это контейнер с (для) полноценной ОС (без собственного ядра, т.е. с ядром хост-системы).
Сейчас влезут, а через некоторое время не влезут, потому что их количество растёт, а VPS всё же не бесконечные. Поэтому нужно уже сейчас думать о том, как масштабироваться горизонтально.
https://ru.wikipedia.org/wiki/Docker
Даже не вижу смысла что-то обсуждать
Дешево и сердито, хоть каждый патч может иметь свой веб сервер.
git без docker деньги на ветер
веб морда что-то типа ispconfig3 с возможностью переключекния версий php если прям так необходима веб морда.
Но если у вас все запилино таки и смысла нет.
Вы предлагаете каждый сайт разворачивать в своём Docker-контейнере? Или сделать один контейнер для всего набора сайтов на одном сервере, чтобы можно было быстро и просто подключать новые VPS/VDS к набору серверов и обслуживать серверы?
ээ, да хоть для каждого патча, контейнеры динамические и хранят разницу образов а не образ полностью.
что касается устройства ваших сайтов то это собственно ваше дело.
Все зависит от проектов размера, экономической составляющей, команды разработчиков да и еще кучи всего.
Думаю просто нужно почитать по современному устройству связки git + docker и сделать оптимальную для вас.