небольшие, среднестатистический стек такой:
- клиентская аппа на next.js (React)
- админка на next.js
- django/nest(node)
- postgresql
- elasticsearch
- caddy/nginx
- imaginary (сервер для уменьшения медиа)
Деплоится это все контейнерами в Docker Swarm. Используются простенькие скриптики в Makefile которые запускаются ручками, либо на gitlab.
Получается так, что под каждый проектик создается дроплет на DO с Docker Swarm кластером. Хосты просто стоят, потому что на подобные сайты заходит 3 калеки в месяц, но есть достаточно дорогая операция формирования страницы на сервере.
Хотелось бы каким-то образом добавить все хосты в один Docker Swarm, и настроить роутинг через traefik.
Что скажете, мысль в верном направлении? Может есть какие-то более элегантные решения?
P.S Плюс под что-то подобное отлично мапится Dokku, но он не умеет в несколько нод, есть ли какие-нибудь интересные альтернативы?
Я бы попилил это все так.... Elastic/postgres (baremetall)- отдаем как сервис т.е. поднимаем большие и мощные инстансы, настраиваем чтобы один пидр не положил нам всю систему и отдаем только креды в свою зону. Далее, imaginary (хз умеет он так же или нет, поэтому если умеет делаем как с еластиком), нет в каждом проекте свое Следом, поднимаем кубер, получаем единый gateway, без необходимости городить огороды с каждый проект-свой сервак. Клиентские прилажки раскидываем по проектам т.е. мы максимально шарим все ресурсы, которые могут быть не заюзаны на 100% одним клиентом. Для HA клиентов все это барахло поднимается за доп.бабки отдельно от остальных, ну или все деплоится на железо
если полторы калеки в месяц, поднимите простой vps у себя, можно фришный с шарой, и запушьте туда докер-контейнером, сварм и облако нафиг итого: 1 хост, проблема решена
Обсуждают сегодня