Yksi lähdekoodi, satoja vuokralaisia, nolla tietovuotoa – skaalautuvan SaaS-liiketoiminnan perusta.

Olet rakentamassa alustaa, joka palvelee useita asiakkaita yhdestä jaetusta käyttöönotosta. Jokainen asiakas odottaa eristettyä dataa, brändättyjä käyttökokemuksia ja vuokralaiskohtaista laskutusta – mutta sinulla ei ole varaa ylläpitää erillistä infrastruktuuria jokaiselle. Tarvitset jaetun infrastruktuurin taloudellisuuden yhdistettynä omistettujen järjestelmien eristystakeisiin. Tämä on SaaS-arkkitehtuurin perimmäinen ristiriita, ja eristysmallin virheellinen valinta alkuvaiheessa on yksi kalleimmista virheistä alustakehityksessä.
Explore more design patterns and system architectures
Arkkitehtehtemme voivat auttaa suunnittelemaan ja rakentamaan järjestelmiä käyttäen tätä mallia omiin vaatimuksiin.
Ota yhteyttäMonivuokralaisen SaaS-arkkitehtuuri tarjoaa loogisen tai fyysisen erottelun vuokralaisten välillä samalla, kun se jakaa taustalla olevat laskenta-, tallennus- ja verkkoresurssit. Malli sisältää vuokralaisten provisionoinnin, datan eristyksen, ominaisuuksien hallinnan, laskutuksen mittauksen ja white-label-räätälöinnin. Ydinratkaisu on eristysmalli: jaettu tietokanta rivitason tietoturvalla (RLS), skeema vuokralaista kohti tai tietokanta vuokralaista kohti. Jokainen malli tasapainottaa eristyksen lujuuden operatiivisen monimutkaisuuden ja kustannustehokkuuden kanssa.
Järjestelmä on jaettu kolmeen kerrokseen. Vuokralaiskohtainen yhdyskäytävä hoitaa autentikoinnin, vuokralaisen tunnistuksen (aliverkkotunnuksen, JWT-vaateen tai API-avaimen avulla) ja pyyntöjen reitityksen. Sovelluskerros toimii kokonaan vuokralaisen kontekstissa – jokainen kysely, jokainen välimuistin avain, jokainen jonoviesti on rajattu tunnistettuun vuokralaiseen. Datakerros panee täytäntöön eristyksen tallennustasolla rivitason tietoturvakäytäntöjen, vuokralaiskohtaisen yhteyspoolin ja levossa salatun osioinnin avulla.
tenant_id:n mukaan. Skeema per vuokralainen: dynaaminen yhteysreititys yhteyspoolinhallinnalla. Tietokanta per vuokralainen: provisionoinnin automatisointi Terraform/Pulumi-työkaluillaacme.yourapp.com) ovat siistimpiä white-label-tuotteissa ja mahdollistavat vuokralaiskohtaiset TLS-varmenteet. Polkuun perustuva (yourapp.com/acme/) on yksinkertaisempi toteuttaa ja välttää wildcard DNS:n monimutkaisuuden. MW suosittelee aliverkkotunnuspohjaista tunnistusta B2B SaaS-ratkaisuille, joissa on white-label-vaatimuksia, ja polkupohjaista sisäisiin monivuokralaisen työkaluihin.tenant_id:lle. Tämä kuulostaa ilmeiseltä, mutta välimuistin avainten törmäykset eri vuokralaisten välillä ovat yksi yleisimmistä monivuokralaisen virheistä. Vahvistamme tämän välimuistin avaimia luovalla tehtaalla, joka etuliitteistää vuokralaiskontekstin automaattisesti.| Kerros | Teknologiat |
|---|---|
| Laskenta | Node.js (NestJS), Python (FastAPI), kontitoitu ECS Fargatella tai Kubernetesilla |
| Data | PostgreSQL RLS:llä, Redis (vuokralaiskohtainen), S3 (vuokralaisittain osioidut säiliöt) |
| Identiteetti | Clerk, Auth0 tai Okta vuokralaiskohtaisten organisaatioiden kanssa |
| Laskutus | Stripe Connect (markkinapaikkamalli), Stripe Billing (mitatut tilaukset) |
| Havaittavuus | Datadog vuokralaisdimensiotageilla, strukturoitu lokitus tenant_id:llä jokaisessa merkinnässä |
| Käytä kun | Vältä kun |
|---|---|
| Rakennat B2B-alustaa, joka palvelee yli 10 asiakasta jaetusta infrastruktuurista | Jokainen asiakas vaatii täysin oman infrastruktuurin (vaatimustenmukaisuus/sopimusperusteinen) |
| Tarvitset white-label-brändäystä, mukautettuja verkkotunnuksia ja vuokralaiskohtaista ominaisuushallintaa | Sinulla on vähemmän kuin 3 asiakasta – yksinkertaisempi asiakaskohtainen käyttöönotto voi riittää |
| Käyttöön perustuva tai porrastettu hinnoittelu vaatii vuokralaiskohtaista mittausta | Tuote on kuluttajasovellus käyttäjätason tileillä, ei organisaatiotason vuokralaisilla |
| Haluat yhden käyttöönotto-putken, yhden valvontapinon, yhden päivystysvuoron | Vuokralaisilla on pohjimmiltaan erilaiset skeemat tai liiketoimintalogiikka (ei vain konfiguraatio) |
MW käsittelee monivuokralaisuutta poikkileikkaavana huolenaiheena, ei ominaisuutena. Toteutamme vuokralaiskontekstin levityksen middleware-tasolla, jotta sovelluskoodi ei koskaan manuaalisesti suodata vuokralaisen mukaan – sen valvoo kehys. RLS-toteutuksiimme sisältyy automatisoituja testisarjoja, jotka yrittävät vuokralaisten välistä datan käyttöä jokaisella CI-ajolla. Olemme rakentaneet monivuokralaisalustoja, jotka palvelevat yli 500 vuokralaista jaetussa infrastruktuurissa ilman tietovuotoja, ja olemme siirtäneet yksivuokralaisia monoliitteja monivuokralaisarkkitehtuureihin käyttäen strangler fig -mallia.
Mallit eivät toimi itsestään. Putki, joka kouluttaa, validoi, ottaa käyttöön ja valvoo malliasi, on todellinen tuote – malli on vain yksi artefakti.
Optimaalinen valinta riippuu asiakkaiden eristysvaatimuksistasi ja skaalasta. MicrocosmWorks suosittelee tyypillisesti jaetun tietokannan ja erillisen skeeman lähestymistapaa useimpiin B2B SaaS -tuotteisiin, koska se tasapainottaa kustannustehokkuuden ja tietojen eristyksen, vaikka toteutamme tietokanta per asiakas -ratkaisun asiakkaille säännellyillä aloilla, kuten terveydenhuolto tai rahoitus, joissa tiukka tietojen erottelu on pakollista. Arkkitehtimme arvioivat vaatimustenmukaisuustarpeesi, odotetun asiakasmäärän ja kyselykuviot ennen kuin suosittelevat oikeaa vuokrausmallia.
MicrocosmWorks toteuttaa vuokralaiskohtaisen nopeusrajoituksen, yhteyspoolauksen vuokralaiskohtaisilla kiintiöillä ja resurssien eristyksen laskentakerroksessa estääkseen "noisy-neighbor" -ongelmat. Käytämme tekniikoita, kuten painotettua reilua jonotusta ja vuokralaiskohtaisia välimuistitasoja, jotta yhden asiakkaan äkillinen piikki ei aiheuta viivettä muille. Enterprise-tason vuokralaisille voimme varata dedikoituja laskentaosioita pitäen samalla jaetun ohjaustason ehjänä.
MicrocosmWorks tarjoaa arkkitehtuurin suunnittelu- ja toteutuspalveluita konsultointihinnoin välillä $15-$45/tunti riippuen vaaditusta monimutkaisuudesta ja tiimin senioriteetistä. Tyypillinen monivuokraaja-SaaS-arkkitehtuurin toimeksianto – joka kattaa tietokannan suunnittelun, vuokralaisen eristyksen, todennuksen ja käyttöönottoputket – kestää 8–16 viikkoa monialaisen tiimin kanssa. Määrittelemme jokaisen projektin kiinteähintaisen selvitysvaiheen kautta, jotta sinulla on täysi kustannusnäkyvyys ennen rakentamisen aloittamista.
MicrocosmWorks rakentaa automatisoituja vuokralaisen provisiointiputkistoja, jotka hoitavat skeeman luonnin, DNS-konfiguraation, ominaisuuslippujen alustuksen ja siemenaineiston käyttöönoton minuuteissa uuden rekisteröitymisen jälkeen. Käytämme infrastruktuuri koodina -työkaluja, kuten Terraformia tai Pulumiä, yhdistettynä tapahtumavetoisiin työnkulkuihin, jotta jokainen uusi vuokralainen saa täysin konfiguroidun ympäristön ilman manuaalista väliintuloa. Tämä lähestymistapa mahdollistaa asiakkaidemme skaalata 10 vuokralaisesta 10 000:een muuttamatta käyttöönoton prosessia.
MicrocosmWorks toteuttaa määrityspohjaisen räätälöintikerroksen käyttäen feature flageja, asiakaskohtaista metatietoa ja plugin-arkkitehtuuria, joka mahdollistaa asiakaskohtaisen toiminnallisuuden ilman koodin haarauttamista. Suunnittelemme laajennuspisteitä UI-teemoituksen, työnkulun moottorin ja integrointikerrosten tasoilla, jotta asiakkailla voi olla ainutlaatuinen brändäys, liiketoimintasäännöt ja kolmannen osapuolen yhteydet, kaikki hallittuna määritysten kautta. Tämä pitää suunnittelutiiminne ylläpitämässä yhtä koodikantaa samalla kun tuetaan monipuolisia asiakasvaatimuksia.