Najemniki, gostitelj in podatkovni filter
ToRun temelji na modelu za več najemnikov iz ABP Framework. Vrstica, označena z IsMultiTenant, ima stolpec TenantId, po katerem ogrodje samodejno filtrira; poizvedbe v kontekstu enega najemnika nikoli ne vidijo vrstic drugega. Kontekst gostitelja (TenantId == null) vidi ločen del: tam živijo kanonični katalogi, kot so SubscriptionPlan, AiProvider in LegalDocument.
Zakaj gostitelja obravnavamo kot polnopravnega udeleženca
Večina izdelkov SaaS gostitelja doda kot »skrbniška orodja«. Mi ga modeliramo kot sestrskega najemnika: gostitelj ima svoje nadzorne plošče, svoje pravilnike umetne inteligence in svoja obračunska razmerja. Tako lahko svoj produkcijski promet poganjamo na istih gradnikih, ki jih uporablja vsaka stranka.
Funkcije, vezane na paket, za vsakega najemnika
Naročniški paketi nosijo vrstice FeatureLimit, Entitlement, Capability in Mode. Ko najemnik aktivira paket, je nabor funkcij, do katerih lahko dostopa, presek njegovega paketa in globalnega kataloga. Dodajanje novega načina ne zahteva posega pri vsakem najemniku: dobi ga samodejno, če ga vključuje paket, ki ga ima.
Vstavljanje BYOK pri vsakem klicu
Tudi pri skupni infrastrukturi ostanejo poverilnice BYOK omejene na najemnika, ki mu pripadajo. Vsaka zahteva za umetno inteligenco pridobi poverilnice v kontekstu najemnika z istim podatkovnim filtrom; uhajanje ključev med najemniki na ravni shrambe ni mogoče.
Česa namerno ne počnemo
Najemnikov ne izoliramo na ravni podatkovne baze ali procesa. Strošek skaliranja ločene baze za vsakega najemnika uniči enotno ekonomiko izdelka SaaS za več najemnikov. Podatkovni filter skupaj s predpomnilnikom, ločenim po najemnikih, zadostuje, če je shema za to zasnovana od prvega dne.