home.social

#multitenancy — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #multitenancy, aggregated by home.social.

fetched live
  1. Most Rails multi-tenant apps trust developers to remember where(tenant_id: ...).

    That's not an architecture.
    Let PostgreSQL enforce tenant isolation with Row Level Security while Rails focuses on business logic.
    Human-readable code. Database-enforced security.

    rubystacknews.com/2026/07/20/b

    #ruby #rails #postgres #postgresql #multitenancy #softwarearchitecture

  2. The tenantId parameter in every service method is one of those patterns that works until it doesn't.

    The Quarkiverse Multitenancy extension resolves the tenant once per request and gets out of the way. I built a small SaaS API with headers, JWT, and a custom host resolver to see how it holds up.

    the-main-thread.com/p/quarkus-

    #Quarkus #Java #Multitenancy #PostgreSQL

  3. The tenantId parameter in every service method is one of those patterns that works until it doesn't.

    The Quarkiverse Multitenancy extension resolves the tenant once per request and gets out of the way. I built a small SaaS API with headers, JWT, and a custom host resolver to see how it holds up.

    the-main-thread.com/p/quarkus-

    #Quarkus #Java #Multitenancy #PostgreSQL

  4. [Перевод] Kubernetes Multitenancy в 2026 году: как мы перестали поддерживать 30 кластеров и наконец сделали все правильно

    «У нас тридцать два кластера». Руководитель команды platform engineering произнес это как на исповеди. Тридцать два. В компании с девятью продуктовыми командами. По шесть окружений на каждую. Никто не планировал такого — оно просто росло по одному кластеру за раз, каждый раз, когда команде требовалось что-то чуть иное, а самым простым ответом было «подними новый». Я слышала ту или иную версию этой фразы почти в каждой компании, достигшей определенного размера. Цифра меняется — иногда двенадцать, иногда шестьдесят, — но динамика всегда одна. Kubernetes легко позволяет создавать кластеры, никто намеренно не решал, когда их использовать совместно, а когда нет, и в какой-то момент кто-то смотрит на счет за облако и ротацию дежурств — и понимает, что управление десятками кластеров медленно пожирает платформенную команду заживо. Multitenancy — ответ на эту проблему. Kubernetes не был спроектирован для multitenancy из коробки, и, чтобы построить его правильно, требуются реальные инженерные инвестиции, но именно так зрелые команды platform engineering решают эту задачу в 2026 году — со все более удобным инструментарием и все лучше понятыми паттернами. Команда VK Cloud перевела статью, охватывающую все, что автор узнал о Kubernetes multitenancy в нескольких продакшен-окружениях: какие модели существуют, где каждая из них дает сбой, как выстроить слои изоляции, которые действительно защищают тенантов друг от друга, какие инструменты стоят вашего времени и как выглядит хорошо управляемый общий кластер на практике. Если ваша команда управляет слишком большим количеством кластеров или строит платформу для безопасного обслуживания нескольких команд — это руководство, которого мне так не хватало в начале пути.

    habr.com/ru/companies/vktech/a

    #vk_cloud #kubernetes #multitenancy #networkpolicy #vcluster #capsule #kyverno #finops #platformengineering #resourcequota

  5. @ollieread I really like the row level security approach for multitenancy. It works well with spring boot / hibernate / liquibase. The only downside for me: I found no easy solution for per tenant sequences (e.g. for invoice numbers).
    #PostgreSQL #SpringBoot #Hibernate #Liquibase #Multitenancy

  6. @ollieread I realy like the row level security approach for multitenancy. It works well with spring boot / hibernate / liquibase. The only downside for me: I found no easy solution for per tenant sequences (e.g. for invoice numbers).
    #PostgreSQL #SpringBoot #Hibernate #Liquibase #Multitenancy

  7. "Should each tenant get its own database?" comes up constantly, and it's genuinely difficult to answer in a back and forth because it's a whole spectrum of options with different tradeoffs, not a yes or no.

    So I wrote the thing I can point people at instead: the full range, from separate instances down to a discriminator column with RLS, and how it differs across Postgres, MySQL and SQLite.

    ollieread.com/articles/you-pro

    #PHP #Laravel #PostgreSQL #Multitenancy

  8. "Should each tenant get its own database?" comes up constantly, and it's genuinely difficult to answer in a back and forth because it's a whole spectrum of options with different tradeoffs, not a yes or no.

    So I wrote the thing I can point people at instead: the full range, from separate instances down to a discriminator column with RLS, and how it differs across Postgres, MySQL and SQLite.

    ollieread.com/articles/you-pro

    #PHP #Laravel #PostgreSQL #Multitenancy

  9. When reading a detailed piece of content for a complex topic, something that's quite long, how do you prefer to consume it?

    One big long page, or broken up into chunks? I'm not convinced the article format is working, especially with the #multitenancy stuff I'm writing.

  10. Как я реализовал передачу диалога из ИИ-консультанта сайта в MAX

    Представьте: клиент зашел на сайт в полночь. Менеджер спит. Утром клиент уже забыл о вас и купил у конкурента. Обычный чат-бот не спасает: он либо тупой, либо безумно дорогой, либо хранит данные за океаном. Я создал решение, которое решает эту проблему раз и навсегда.

    habr.com/ru/articles/1045412/

    #AI #чатботы #MAX #Python #FastAPI #WebSocket #multitenancy

  11. 🚀 New blog post + django-rls-tenants 1.1.0 is out!
    TL;DR: PostgreSQL RLS policies can't use your indexes because current_setting() isn't leakproof. The query planner falls back to sequential scans and applies tenant filtering row-by-row. On large tables, this hurts.

    v1.1 fixes this by adding automatic ORM-level WHERE tenant_id = X alongside RLS - so Postgres uses your composite indexes for the fast path while RLS still enforces isolation as a safety net.

    Also in this release:
    → select_related() now propagates tenant filters across joins
    → threading.local replaced with contextvars (ASGI-safe)
    → Superuser detection at startup (RLS is silently bypassed otherwise!)
    → Better exception handling in middleware
    → CASE WHEN policy rewrite for cleaner evaluation
    Full write-up: dev.to/dvoraj75/postgresql-rls
    GitHub: github.com/dvoraj75/django-rls
    #Django #PostgreSQL #Python #MultiTenancy #RLS #OpenSource

  12. 🚀 New blog post + django-rls-tenants 1.1.0 is out!
    TL;DR: PostgreSQL RLS policies can't use your indexes because current_setting() isn't leakproof. The query planner falls back to sequential scans and applies tenant filtering row-by-row. On large tables, this hurts.

    v1.1 fixes this by adding automatic ORM-level WHERE tenant_id = X alongside RLS - so Postgres uses your composite indexes for the fast path while RLS still enforces isolation as a safety net.

    Also in this release:
    → select_related() now propagates tenant filters across joins
    → threading.local replaced with contextvars (ASGI-safe)
    → Superuser detection at startup (RLS is silently bypassed otherwise!)
    → Better exception handling in middleware
    → CASE WHEN policy rewrite for cleaner evaluation
    Full write-up: dev.to/dvoraj75/postgresql-rls
    GitHub: github.com/dvoraj75/django-rls

  13. Your Django ORM protects tenant data. Your raw SQL doesn't. 😬

    That's why I built django-rls-tenants — multitenancy powered by PostgreSQL Row-Level Security, enforced at the database level.

    🔒 Every query is filtered — ORM, raw SQL, even dbshell
    🚫 Missing tenant context? Zero rows returned, never a data leak
    📦 Single schema, no connection routing headaches
    ⚡ Drop-in: one base model, one middleware, done

    Unlike schema-based or ORM-rewriting approaches, RLS policies live in PostgreSQL itself. The database becomes your last line of defense — not your app code.

    Supports Python 3.11+, Django 4.2–6.0, PostgreSQL 15+.

    Just shipped v1.0.0 🚀

    pip install django-rls-tenants

    📖 Docs & source: github.com/dvoraj75/django-rls

    Feedback, stars & contributions welcome! ⭐

    #Django #Python #PostgreSQL #MultiTenancy #RowLevelSecurity #OpenSource #WebDev #SaaS #InfoSec #Database

  14. Your Django ORM protects tenant data. Your raw SQL doesn't. 😬

    That's why I built django-rls-tenants — multitenancy powered by PostgreSQL Row-Level Security, enforced at the database level.

    🔒 Every query is filtered — ORM, raw SQL, even dbshell
    🚫 Missing tenant context? Zero rows returned, never a data leak
    📦 Single schema, no connection routing headaches
    ⚡ Drop-in: one base model, one middleware, done

    Unlike schema-based or ORM-rewriting approaches, RLS policies live in PostgreSQL itself. The database becomes your last line of defense — not your app code.

    Supports Python 3.11+, Django 4.2–6.0, PostgreSQL 15+.

    Just shipped v1.0.0 🚀

    pip install django-rls-tenants

    📖 Docs & source: github.com/dvoraj75/django-rls

    Feedback, stars & contributions welcome! ⭐

  15. 🚀 Day 1 on django-rls-tenants — bringing true PostgreSQL Row-Level Security to Django multitenancy!

    Instead of separate schemas or filtered querysets, this library leverages native RLS policies at the DB level to isolate tenant data automatically.

    ✅ Pros:
    • True DB-level isolation — tenants can't bleed into each other
    • Transparent to Django ORM — no custom managers needed
    • Leaner than schema-per-tenant approaches
    • Scales well for high tenant counts
    • Security enforced even outside the app layer

    ❌ Cons:
    • PostgreSQL-only (no MySQL/SQLite support)
    • RLS policies add complexity to migrations
    • Debugging cross-tenant issues can be tricky
    • Superuser connections bypass RLS — needs care
    • Less community tooling than shared-schema approaches

    Still very early, but the foundations are solid. Would love feedback from anyone who's tackled multitenancy in Django before! 🐘🐍

    #Django #PostgreSQL #Python #Multitenancy #RLS #RowLevelSecurity #OpenSource #WebDev #SaaS #DjangoORM #DevLife

  16. 🚀 Day 1 on django-rls-tenants — bringing true PostgreSQL Row-Level Security to Django multitenancy!

    Instead of separate schemas or filtered querysets, this library leverages native RLS policies at the DB level to isolate tenant data automatically.

    ✅ Pros:
    • True DB-level isolation — tenants can't bleed into each other
    • Transparent to Django ORM — no custom managers needed
    • Leaner than schema-per-tenant approaches
    • Scales well for high tenant counts
    • Security enforced even outside the app layer

    ❌ Cons:
    • PostgreSQL-only (no MySQL/SQLite support)
    • RLS policies add complexity to migrations
    • Debugging cross-tenant issues can be tricky
    • Superuser connections bypass RLS — needs care
    • Less community tooling than shared-schema approaches

    Still very early, but the foundations are solid. Would love feedback from anyone who's tackled multitenancy in Django before! 🐘🐍

  17. PostgreSQL RLS в Go, Часть 2: Архитектура Highload. Паника, гонки и 10 000 партиций

    В первой части было разобрано, как настроить RLS в Go, почему is_local=true спасает от утечек в PgBouncer, и как покрыть это интеграционными тестами. Если вы еще не настроили базовую изоляцию, начните оттуда. Сегодня мы пойдем глубже. Мы не будем говорить о синтаксисе. Мы поговорим об архитектуре. О том, почему RLS - это не просто "удобный фильтр", а нативный механизм инкапсуляции, который решает проблемы распределенных систем и рисков безопасности прямо в слое данных, не раздувая Ops-сложность до сотен схем и баз. Кому и зачем читать? Junior/Middle: Поймете, почему RLS - это архитектурный выбор, а не просто WHERE tenant_id = ? . Узнаете про TOCTOU и как его избежать. Senior/Architect: Увидите паттерны для highload (партиционирование + RLS) и production-грабли (матвьюхи, репликация).

    habr.com/ru/articles/988744/

    #Go #Golang #PostgreSQL #RLS #Multitenancy #Backend #Database_Security #архитектура #highload

  18. Как перестать писать WHERE tenant_id и отдать безопасность базе (PostgreSQL RLS в Go)?

    В одном из прошлых проектов случился «кошмар техлида»: в суматохе хотфикса было забыто добавление фильтра WHERE tenant_id = ? в одну из ручек API. В итоге один клиент увидел отчеты другого. Все быстро откатили, но я навсегда запомнил то холодное чувство в животе. Когда начали проектировать архитектуру следующего проекта, я понял, что полагаться на внимательность разработчиков на код-ревью - это тупик. Рано или поздно кто-то устанет, ошибется, и данные снова протекут. Искал способ гарантировать изоляцию данных так, чтобы ее физически нельзя было забыть. Почему стандартные решения не подошли? Перебрал классическую тройку вариантов, и у каждого нашлись фатальные минусы для задачи: 1. Логическая изоляция (WHERE в коде)? Как это работает: Тысячи строк кода, и в каждом запросе ты обязан помнить про tenant_id . Проблема: Человеческий фактор. Это бомба замедленного действия. 2. Схема на клиента (Schema-per-tenant) Как это работает: У каждого клиента своя схема ( schema_01 , schema_02 ...). Проблема: Это работает, пока клиентов 100. Когда их становится 10 000, база начинает задыхаться. Детали: Проблема даже не в миграциях, а в файловой системе. 10 000 клиентов × 50 таблиц = 500 000 файлов. Postgres (и Linux) сходят с ума от такого количества открытых дескрипторов, а VACUUM превращается в ад. 3. Отдельная БД на клиента Как это работает: Полная физическая изоляция. Проблема: Ценник на инфраструктуру. Держать тысячи коннектов или инстансов RDS - экономическое самоубийство для стартапа. Тогда посмотрел в сторону PostgreSQL Row Level Security (RLS) . Честно говоря, поначалу было страшно. Отдавать логику безопасности "черному ящику" внутри БД казалось рискованным. Плюс, все вокруг пугали: "RLS убьет производительность".

    habr.com/ru/articles/987364/

    #Golang #PostgreSQL #RLS #Multitenancy #Backend #Testcontainers #Database_Security #Архитектура

  19. Cisco nadrabia zaległości. Multitenancy w Security Cloud Control ułatwi życie MSP

    Zarządzanie bezpieczeństwem kilkudziesięciu klientów na raz to dla firm typu MSP chleb powszedni. Do tej pory w ekosystemie Cisco wymagało to jednak sporej gimnastyki i żonglowania oknami. Gigant w końcu postanowił posprzątać ten bałagan, wprowadzając natywną wielodostępność (multitenancy). Pytanie brzmi: dlaczego dopiero teraz?

    Koniec ery „Alt-Tab”, czyli standard z opóźnieniem

    Cisco ogłosiło aktualizację platformy Security Cloud Control, której głównym punktem jest wprowadzenie jednego panelu do zarządzania wieloma klientami jednocześnie.

    Dla administratorów to oczywiście świetna wiadomość – koniec z przelogowywaniem się między kontami czy utrzymywaniem piętnastu otwartych zakładek. Warto jednak uczciwie zaznaczyć: Cisco w tym aspekcie goni rynek, a nie go wyznacza.

    Konkurencyjne rozwiązania (jak choćby te od Fortinet czy chmurowe panele Sophos) oferują taką funkcjonalność od dawna. Dla Cisco to więc nie tyle innowacja, co nadrabianie długu technologicznego w zakresie User Experience.

    Hybrydowy firewall i testy laboratoryjne

    System opiera się na Hybrid Mesh Firewall i ma ułatwić wdrażanie spójnych polityk bezpieczeństwa zarówno w chmurze, jak i w lokalnych serwerowniach. Przy okazji firma chwali się nowym sprzętem:

    • Secure Firewall 200: budżetowa seria do małych oddziałów (dobry stosunek ceny do wydajności).
    • Secure Firewall 6100: seria pod centra danych, gotowa na obciążenia AI.

    W nadesłanym do naszej redakcji komunikacie czytamy też, że skuteczność rozwiązań potwierdziła organizacja NetSecOPEN, wskazując na wyniki rzędu 99,5–100% wykrywalności. Brzmi imponująco, ale jak zawsze w przypadku sterylnych testów laboratoryjnych, zalecamy ostrożność. Benchmarki to jedno, a realne środowisko klienta – pełne niestandardowych konfiguracji i „dziurawego” softu – zweryfikuje te deklaracje szybciej niż jakakolwiek pieczątka.

    Dla kogo to jest (a dla kogo nie)?

    Żeby nie było wątpliwości – ta aktualizacja to ukłon w stronę dużych partnerów. Skorzystają z tego głównie dostawcy usług zarządzanych, którzy obsługują setki podmiotów i toną w logach. Dla nich konsolidacja narzędzi to realna oszczędność czasu.

    Natomiast mniejsze firmy z własnym działem IT (tzw. single-tenant) raczej nie zauważą różnicy. Jeśli zarządzacie tylko własną infrastrukturą, to „rewolucyjne” zmiany w panelu MSP będą dla was kompletnie nieistotne.

    Nowe funkcje mają być dostępne w lutym 2026 roku. Dobrze, że Cisco w końcu zauważyło problem ergonomii pracy swoich partnerów.

    Rok 2026 według Cisco: Twój nowy kolega z biurka to algorytm

    #b2b #Cisco #cyberbezpieczeństwo #firewall #MŚP #multitenancy #news #SecurityCloudControl
  20. Ah, yes, the ReadyKit: 🚀 #Launch your #SaaS quicker than you can say "wait, what's #multitenancy again?" 🙄 Because nothing screams "cutting edge" like a workspace switcher and billing plans that are as exciting as watching paint dry 🎨. Oh, and did they mention you can "ship superfast"? Because they only said it a dozen times. 🤦‍♂️
    readykit.dev/ #ReadyKit #WorkspaceSwitcher #SuperfastShipping #HackerNews #ngated

  21. Ah, yes, the ReadyKit: 🚀 #Launch your #SaaS quicker than you can say "wait, what's #multitenancy again?" 🙄 Because nothing screams "cutting edge" like a workspace switcher and billing plans that are as exciting as watching paint dry 🎨. Oh, and did they mention you can "ship superfast"? Because they only said it a dozen times. 🤦‍♂️
    readykit.dev/ #ReadyKit #WorkspaceSwitcher #SuperfastShipping #HackerNews #ngated

  22. The Tenant Chronicles – Building a Multi-Tenant Todo App with Quarkus
    Learn how to isolate user data and simplify CRUD logic with discriminator-based multi-tenancy in Quarkus and no boilerplate
    myfear.substack.com/p/quarkus-
    #Java #Quarkus #MultiTenancy #Hibernate #REST

  23. The Tenant Chronicles – Building a Multi-Tenant Todo App with Quarkus
    Learn how to isolate user data and simplify CRUD logic with discriminator-based multi-tenancy in Quarkus and no boilerplate
    myfear.substack.com/p/quarkus-
    #Java #Quarkus #MultiTenancy #Hibernate #REST

  24. 🎩✨ Behold, aspiring cloud overlords: a tale of daring hopes and crossed fingers as a fledgling #startup dabbles in #multitenancy magic, only to realize their "eureka" moment was just a blog post away. 🚀💡 Who knew copying someone else's homework could count as innovation? 😂📚
    blacksmith.sh/blog/the-economi #cloudcomputing #innovation #techhumor #entrepreneurship #HackerNews #ngated

  25. 🎩✨ Behold, aspiring cloud overlords: a tale of daring hopes and crossed fingers as a fledgling #startup dabbles in #multitenancy magic, only to realize their "eureka" moment was just a blog post away. 🚀💡 Who knew copying someone else's homework could count as innovation? 😂📚
    blacksmith.sh/blog/the-economi #cloudcomputing #innovation #techhumor #entrepreneurship #HackerNews #ngated

  26. ☠️ Oh joy, yet another tale of how #SQLite3 becomes a sardine can when you try to cram in #multitenancy with Rails! 🐟 Apparently, the author's groundbreaking revelation is that ignoring #multithreading makes your app collapse faster than my interest in reading this. 🚀
    blog.julik.nl/2025/04/a-can-of #Rails #Issues #SardineCan #HackerNews #ngated

  27. ☠️ Oh joy, yet another tale of how #SQLite3 becomes a sardine can when you try to cram in #multitenancy with Rails! 🐟 Apparently, the author's groundbreaking revelation is that ignoring #multithreading makes your app collapse faster than my interest in reading this. 🚀
    blog.julik.nl/2025/04/a-can-of #Rails #Issues #SardineCan #HackerNews #ngated

  28. Hangfire + Multi Tenancy

    Краткий туториал, как организовать обработку фоновых задач с приоритетами для условного SaaS продукта с разделением клиентских данных.

    habr.com/ru/articles/902246/

    #hangfire #tenancy #multitenancy

  29. Solve the multi-tenancy problem in Kubernetes and reduce costs at the same time? 🤔 Virtual clusters – aka vClusters – have their own API server and are therefore more powerful and better isolated than namespaces. 🚀🏝️ But that's not all: they are also much cheaper than real Kubernetes clusters. 💰 You can find all further details about our vCluster offer here nine.ch/products/vcluster/ on our website. 🔗 #vcluster #kubernetes #multitenancy #namespaces #nine

  30. Solve the multi-tenancy problem in Kubernetes and reduce costs at the same time? 🤔 Virtual clusters – aka vClusters – have their own API server and are therefore more powerful and better isolated than namespaces. 🚀🏝️ But that's not all: they are also much cheaper than real Kubernetes clusters. 💰 You can find all further details about our vCluster offer here nine.ch/products/vcluster/ on our website. 🔗 #vcluster #kubernetes #multitenancy #namespaces #nine

  31. not sure this definition of #multitenancy (cloudflare.com/learning/cloud/) is an improvement: while the broader take helps cloudflare workers, someone else will then claim it for dedicated VMs on a shared EC2 16xlarge...

  32. We're having a little think about multi-tenancy at Octopus. It was a hot topic in the early 2000s due to the rise of SaaS... but then we just took it for granted.

    I think it's worth another look as the old model is based on things that have changed.

    Here's a 12-minute video about a new approach to #MultiTenancy to start the conversation...

    youtube.com/watch?v=GB6IYvCf_C