Multi-tenant i white-label SaaS · Izrada
Multi-tenant SaaS u kojem su podaci svakog klijenta odvojeni
Kad SaaS prodajete mnogim firmama ili pod više brendova, baza ili sloj podataka razdvaja klijente. Dizajn sistem koji smo napravili pokriva više od 30 brendova.
AngažmanPo satu · remote
Radno vrijeme9–18 CET · 4 h preklapanja
StackPostgreSQL (row-level security) · Prisma · NestJS
Dokaz3 projekta
Usluga u 4 dijela
01 · Za koga je
SaaS firme koje isti proizvod prodaju mnogim kompanijama ili pod mnogo brendova, iz jednog codebasea.
02 · Šta smo napravili
- White-label platforma za sastanke u zdravstvu i finansijama. Da li neko smije otvoriti fajl zavisi od lanca odnosa: na kojim je sastancima bio, koji su dokumenti vezani za te sastanke i koje verzije i potpise ima svaki dokument.Projekat 15 →
- Dizajn sistem od stotinjak komponenti za više od trideset white-label brendova, u kojem je svaki brend skup vrijednosti tokena. Tri godine kasnije isti klijent se vratio da mu spasimo Android aplikaciju.Projekat 02 →
- Na marketplaceu za usluge kamionima jedan codebase služio je pet vrsta korisnika: servisere, vozne parkove, samostalne vozače, vozače u firmi i call centar. Dozvola je kombinacija tipa i uloge, pa operater servisera i operater voznog parka imaju različita prava.Projekat 08 →
Razvijamo i dva svoja multi-tenant proizvoda. U jednom izolaciju provodi baza, a build pada ako se doda tabela bez pravila pristupa. U drugom upit koji se izvrši bez konteksta tenanta ne vraća ništa.
03 · Kako radimo
01 · GRANICA TENANTAOdređuje se jednom, na mjestu gdje zahtjevi ulaze u sistem: odakle se uzima tenant, šta se dešava kad ga nema i koji upiti smiju raditi bez njega. Odgovor na posljednje pitanje obično je nijedan.
02 · BRENDOVI KAO PODACIKomponente sve boje čitaju iz tokena, pa je cijeli brend sadržan u vrijednostima tokena. Kad bi brendovi bili ugrađeni u komponente, sto komponenti za trideset brendova značilo bi tri hiljade varijanti za održavanje.
04 · Stack
PostgreSQL (row-level security)PrismaNestJSNext.jsdizajn tokeni po brendu
Dokaz
Gdje smo ovo već radili
Projekat 15 · Poslovni sistemiProdanoWhite-label platforma za sastanke u zdravstvu i finansijama. Da li neko smije otvoriti fajl zavisi od lanca odnosa: na kojim je sastancima bio, koji su dokumenti vezani za te sastanke i koje verzije i potpise ima svaki dokument.Pročitajte više o projektu →Projekat 02 · Platforme~100 / 30+Dizajn sistem od stotinjak komponenti za više od trideset white-label brendova, u kojem je svaki brend skup vrijednosti tokena. Tri godine kasnije isti klijent se vratio da mu spasimo Android aplikaciju.Pročitajte više o projektu →Projekat 08 · Marketplace506 rutaNa marketplaceu za usluge kamionima jedan codebase služio je pet vrsta korisnika: servisere, vozne parkove, samostalne vozače, vozače u firmi i call centar. Dozvola je kombinacija tipa i uloge, pa operater servisera i operater voznog parka imaju različita prava.Pročitajte više o projektu →
Česta pitanja
Pitanja o ovoj usluzi
Zavisi od toga ko piše upite. Kad ih piše mnogo ljudi i alata, row-level security u bazi se isplati, jer ga niko od njih ne može zaboraviti. Uz jedan mali tim i jedan put pristupa podacima, provjera u kodu može biti dovoljna. Koje god rješenje izaberemo, objašnjavamo zašto.
Koristimo oba, za različite stvari. Domena određuje čiji se sadržaj prikazuje, a sve što je dostupno tek nakon prijave ide preko tokena, jer domena ne dokazuje ko je neko.
Skupom vrijednosti tokena i domenom. Nema nove grane u kodu ni forka biblioteke komponenti.
Upravo to dizajn treba spriječiti. Izolacija ne zavisi od toga da li svaki upit ima pravi filter, a upit bez konteksta tenanta ne dobije nijedan red.
Sljedeći korak
Opišite problem i javit ćemo vam se s tri opcije.
Prvi poziv traje 30 minuta i ni na šta vas ne obavezuje.