Добрый день. Задам сперва вопрос тут, потому как вся инфра в

aws, затем поёду в часик девопсру если это тема для там.

Вот представьте есть некий проект.
Ну прям всё как обычно: Mysql/Postgresql(RDS), EKS, ALB, S3, Elasticache и короче вот все эти сервисы облаков.
Всё как в сказке.

Есть большая вероятность, что проект может вырасти и вылезть за пределы стартапа.
Условно говоря к нам придёт условный Pepsi co и нам надо будет многое изолировать для них отдельно.
Потенциальная задача - разделить все по разным регионам/базам.
Если со всякими s3/alb/EKS у меня вопросов нет, то как "делить" БД я не знаю.
Ну может там какие-то тенанты делать(?)
Или миграцию структуры и содержимого БД из одного существующего кластера в несколько БД по клиентам/регионам и разносить это руками/скриптом по разным регионам/БД.
Надеюсь донёс свою мысль).

Вопрос:
а где бы вот почитать о неком таком опыте внезапного роста с разделением по регионам/клиентам и самое главное - даёт ли сам амазон нечто подобное из фичей?
Хочется сперва задействовать от самой экосистемы, чтобы не выдумывать костыли.
Я нашёл лишь пару статей в интернетах, но это не совсем то, что надо.
Если кто что знает/видел/читал - буду рад ссылкам.

19 ответов

19 просмотров

Что значит "делить бд"? А кто и как этой базой пользуется то?

Alexandr-Kryuchkov Автор вопроса
Sebor▂▅▇█▓▒░
Что значит "делить бд"? А кто и как этой базой пол...

ну сейчас есть backend который живёт в кубере и подключается к бд клиенты сидят на фронте, который подключается к беку. если придёт большой крупны клиент надо это как то полностью отделить

Добро пожаловать! SaaS Tenant Isolation Strategies

Alexandr Kryuchkov
ну сейчас есть backend который живёт в кубере и по...

Это делается же на уровне приложений. Как ты хочешь данные делить между клиентами?

Alexandr-Kryuchkov Автор вопроса
Sebor▂▅▇█▓▒░
Это делается же на уровне приложений. Как ты хочеш...

я пока не понимаю, по мне так проще поднять всю инфру отдельно по терраформу и поменяь url для эдпойнта у нового клиента, но может быть это оверхед

Alexandr Kryuchkov
я пока не понимаю, по мне так проще поднять всю ин...

А как данные синкать потом? Или я не понимаю основной задачи

Alexandr-Kryuchkov Автор вопроса
Max Skutin
Добро пожаловать! SaaS Tenant Isolation Strategies

Весьма любопытно. Похоже это часть того что мне надо. Благодарю.

Alexandr-Kryuchkov Автор вопроса
Sebor▂▅▇█▓▒░
А как данные синкать потом? Или я не понимаю основ...

Пока не знаю, потому пришёл сюда, почитать то, что накидают 🙂

Alexandr Kryuchkov
Пока не знаю, потому пришёл сюда, почитать то, что...

Так первоначально не ясна вся задача целиком. И вводных данных не хватает

Alexandr-Kryuchkov Автор вопроса
Sebor▂▅▇█▓▒░
Так первоначально не ясна вся задача целиком. И вв...

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

У клиента должна быть базовая модель базы с миграциями на отдельном инстансе, с новыми миграциями приходящими с релизами кмк По крайней мере для SaaS мы так проектировали

Oleg
У клиента должна быть базовая модель базы с миграц...

Подозреваю, что они инфру клиентам дают и ему надо продумать как клиентов ограничить друг от друга

Все базы очень разные. И для каждой куча бест практик) Если брать ваш пример с RDS (MySQl & Postgress) то можно изолировать клиентов на вскидку: 1) RDS кластер per client 2) database внутри кластера per client 3) schema внутри database per client 4) поле tenantId в каждой табличке 5) etc. В каждом случае будет отличаться способ работы с данными, уровень изоляции, механизм миграций и т.д. Разделение по регионам для чего именно? Для изоляции? Или для повышения отказоустойчивости? Или чтобы снизить летенси для клентов из разных стран? Вобщем лучше всего начать с формулировки конкретных требований к решению.

Alexandr Kryuchkov
ну сейчас есть backend который живёт в кубере и по...

Часто сталкивался с тем, что под крупных клиентов пилится свой о дельный акк и не один. Они скорее всего сами это запросят, если энтерпрайз

Alexandr-Kryuchkov Автор вопроса
Crysalis
Подозреваю, что они инфру клиентам дают и ему надо...

Ну тебя хорошо навык телепатии развит)

Похожие вопросы

Обсуждают сегодня

Ребят, привет. У кого-то есть опыт заказа мерча в сторе? Есть успешные кейсы? Чёт у меня турецкую карту не принимает
Vladimir F.
7
Портфолио: Зовут меня Александр, мне 36 лет. Город Пушкино. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github....
Magic
10
Всем привет. Есть кто разбирается в платежках? Что б принимать из других стран и выплачивать рф снг
Musa
6
Портфолио: Зовут меня Александр, мне 41 год. Город Киров. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github.co...
Magic
11
Приветствую всех, есть вопросик. Передали проект на OctoberCms, без инсталяшки в полуразвернутом виде, нужно было залить бекап бд, после залития бд, оказалось, что части строк...
Лео
14
@Miro_Mx ffmpeg в списке устройств ее не видит, там только обычная камера и виртуальная от obs. может я что-то не так делаю? ffmpeg -list_devices true -f dshow -i dummy
Arkadiy
3
Есть магистры regex в чате? Задача: нужно написать regex который мэтчит полные (без сокращений по типу ::1/128) ipv6 адреса кроме 2001:0df7:cef7:29f7:52f7:adf7:2cf7:4ff7, при ...
Илья
5
Подскажите, пожалуйста, где в backende, или не в нем можно дату поправить? Логирует действия не в том часовом поясе
Лео
7
где собака, админ группы? нычкуется и боится проявить волю, в толерантность еще не наигрался? @yelizariev
Ognezar
61
А как получить доступ к отправленному сообщению в ChosenInlineResult? Раньше кажется можно было, щас убрали?
net
2
Карта сайта