3.14

View in English

3.14 Aml-ddeiliadaeth a phensaernïaeth SaaS

Trosolwg a chymhelliant

Multitenancy yw’r arfer o redeg un enghraifft o’ch meddalwedd fel ei bod yn gwasanaethu llawer o gwsmeriaid ar wahân ar yr un pryd, gan gadw data a ffurfweddiad pob cwsmer ar wahân yn rhesymegol tra eu bod yn rhannu’r un cod ac, yn aml, yr un seilwaith. Mae pob cwsmer yn ddeiliad. Mae’r un syniad hwn yn injan economaidd meddalwedd fel gwasanaeth (SaaS), y model lle rydych yn gwerthu mynediad at gymhwysiad sy’n rhedeg yn hytrach na chopi i’w osod. Pan fydd mil o ddeiliaid yn rhannu’r un defnyddiad, rydych yn clytio unwaith, yn graddio un system, ac mae cost ymylol y cwsmer nesaf yn nesáu at sero. Dyna pam y gall cynnyrch aml-ddeiliad wedi’i adeiladu’n dda wasanaethu busnes newydd dau berson a menter gan can mil o seddi o’r un sylfaen cod, a pham mae’r model deiliadaeth a ddewiswch yn siapio’ch elw, eich ystum diogelwch, a’ch llwyth gweithredol am flynyddoedd.

I dimau mawr, mae’r risg yn mynd yn ddyfnach na chost. Mae aml-ddeiliadaeth yn gosod gofyniad caled wrth galon eich pensaernïaeth: rhaid i ddeiliad A byth weld data deiliad B, byth, o dan unrhyw wall, ras, neu gamffurfweddiad. Gall un ollyngiad traws-ddeiliad ddod â chwmni i ben. Ar yr un pryd, holl bwynt rhannu yw effeithlonrwydd, felly mae pob penderfyniad dylunio yn eistedd ar sbectrwm rhwng ynysiad cryf (mwy diogel, mwy costus) a rhannu dwys (rhatach, mwy peryglus). Mae cael hyn yn iawn yn wahaniaeth rhwng cynnyrch sy’n graddio’n raenus ac un naill ai’n eich methdalu ar seilwaith neu’n eich glanio yn y penawdau. Mae’r bennod hon yn adeiladu ar bensaernïaeth cwmwl (pennod 3.11), yn pwyso’n drwm ar bensaernïaeth data (pennod 3.4) a diogelwch cwmwl (pennod 4.3), ac yn cysylltu â graddadwyedd a gwydnwch (pennod 3.5) a phriodoli cost (pennod 9.4).

Mae mentrau a llywodraethau’n codi’r bar ymhellach. Mae prynwyr menter yn negodi gwarantau data cytundebol, yn mynnu ynysiad pwrpasol ar gyfer eu haen, ac yn disgwyl i chi eu mudo rhwng amgylcheddau heb amser segur. Mae llywodraethau’n ychwanegu deddfau preswylfa data, gwahaniad wedi’i yrru gan ddosbarthiad, a gofyniad aml y dylai pob asiantaeth fod yn ddeiliad ynddo’i hun gyda’i ffin archwilio ei hun. Nid manylion gweithredu yw’r penderfyniadau deiliadaeth hyn; maent yn ymrwymiadau a wnewch i bob cwsmer sy’n ymddiried ynoch â’u data.

Egwyddorion allweddol

  • Mae ynysiad yn sbectrwm, nid switsh. Mae modelau silo, pwll, a phont yn masnachu effeithlonrwydd yn erbyn gwahaniad; dewiswch fesul haen a fesul adnodd, nid unwaith ar gyfer popeth.
  • Mae cyd-destun deiliad yn sanctaidd. Rhaid i bob cais, ymholiad, llinell log, a swydd gefndir gario dynodwr deiliad, a rhaid i bob mynediad data gael ei gwmpasu ganddo.
  • Gollyngiad traws-ddeiliad yw’r methiant sydd bwysicaf. Dyluniwch fel na all un hidlydd coll amlygu data deiliad arall; amddiffyn mewn dyfnder, nid un cymal WHERE.
  • Mae cymdogion swnllyd yn broblem bensaernïol. Heb gwotâu a thegwch, mae un deiliad trwm yn dirywio pawb; cynlluniwch ar ei gyfer cyn iddo ddigwydd.
  • Mae ffurfweddiad fesul deiliad yn graddio; nid yw cod fesul deiliad. Plygwch y cynnyrch â data a fflagiau, nid â fforchiau.
  • Mae cylchred oes y deiliad yn nodwedd cynnyrch. Rhaid i ymgorffori, darparu, dad-gorffori, ac allforio data fod yn nodweddion dosbarth-cyntaf, wedi’u hawtomeiddio, ac archwiliadwy.
  • Ni allwch reoli’r hyn na allwch ei briodoli. Rhaid i arsylwadaeth a chost gael eu sleisio fesul deiliad, neu byddwch yn hedfan yn ddall ar ddibynadwyedd ac elw fel ei gilydd.

Argymhellion

Dewiswch fodel deiliadaeth fesul haen, ar hyd y sbectrwm ynysiad-yn-erbyn-effeithlonrwydd

Mae tri model yn angori’r sbectrwm. Yn y model silo (pwrpasol), mae pob deiliad yn cael ei stac ynysig ei hun: cyfrifiadura ar wahân, cronfa ddata ar wahân, weithiau cyfrif neu rwydwaith ar wahân. Mae’r ynysiad ar ei gryfaf a phromedr ffrwydro nam yn un deiliad, ond rydych yn talu am gapasiti segur fesul cwsmer ac yn gweithredu llawer o gopïau. Yn y model pwll (a rennir), mae pob deiliad yn rhannu’r un cyfrifiadura a chronfa ddata, wedi’u gwahanu dim ond gan resymeg a dynodwr deiliad. Mae’r effeithlonrwydd ar ei uchaf a chost ymylol deiliad yn agos at sero, ond mae ynysiad bellach yn dibynnu’n llwyr ar gywirdeb eich cod. Mae’r model pont (hybrid) yn cymysgu’r ddau: cyfrifiadura a rennir gyda chronfeydd data fesul deiliad, neu bwll a rennir ar gyfer deiliaid bach a siloau pwrpasol ar gyfer rhai mawr neu reoledig.

Peidiwch â dewis un model ar gyfer y cynnyrch cyfan. Fel arfer, pont sy’n mapio at eich haenau prisio yw’r ateb cywir. Rhowch y gynffon hir o ddeiliaid bach mewn pwll a rennir effeithlon lle mae eu heconomeg yn gweithio. Cynigiwch ddefnyddiad pwrpasol neu un-deiliad fel haen premiwm ar gyfer cwsmeriaid menter a fydd yn talu am yr ynysiad a’r gwarantau cytundebol. Ysgrifennwch y mapio i lawr fel cofnod penderfyniad pensaernïol (pennod 3.11), oherwydd mae “pa ddeiliaid sy’n rhannu beth” yn honiad y mae eich timau diogelwch, gwerthiant, a chyllid i gyd yn dibynnu arno.

Rhaniwch ddata’n fwriadol, a gwnewch gwmpasu deiliad yn amhosibl i’w anghofio

Data yw lle mae aml-ddeiliadaeth yn byw neu’n marw, felly triniwch y dewis rhaniad fel penderfyniad pensaernïaeth data craidd (pennod 3.4). Mae tri strategaeth yn paralelu’r modelau deiliadaeth. Mae cronfa ddata ar wahân fesul deiliad yn rhoi’r ynysiad cryfaf, wrth gefn ac adfer hawdd fesul deiliad, ac allforio data syml, ar gost llawer o gronfeydd data i’w rhedeg a mudiadau sgema i’w hehangu. Mae sgema ar wahân fesul deiliad o fewn cronfa ddata a rennir yn llwybr canol: un gweinydd, gwahaniad rhesymegol, dal llawer o wrthrychau i’w mudo. Mae tablau a rennir wedi’u hallweddu gan golofn deiliad, lle mae pob rhes yn cario tenant_id, y dwysaf a’r rhataf, a’r mwyaf peryglus, oherwydd nawr mae un ymholiad sy’n colli ei hidlydd deiliad yn gollwng data ar draws cwsmeriaid.

Os ydych yn rhannu tablau, peidiwch â dibynnu ar ddatblygwyr i gofio’r hidlydd. Gorfodwch gwmpasu deiliad mewn haen na ellir ei osgoi: diogelwch lefel-rhes cronfa ddata sy’n atodi predicad gorfodol i bob ymholiad yn seiliedig ar ddeiliad y sesiwn, ORM neu haen mynediad data sy’n chwistrellu’r cymal deiliad yn awtomatig, neu’r ddau. Mae gwregys a bresys yn gywir yma. Wrth i ddeiliaid dyfu, mae sharding fesul deiliad yn dod yn naturiol: gosodwch grwpiau o ddeiliaid ar wahanol siardiau cronfa ddata fel nad oes un enghraifft yn dal pawb, sydd hefyd yn cyfyngu promedr ffrwydro methiant un siard ac yn gadael i chi symud deiliad mawr i’w siard ei hun heb newid y model.

Lledaenwch gyd-destun deiliad ym mhobman, ac amddiffynnwch yn erbyn gollyngiadau traws-ddeiliad mewn dyfnder

Rhaid i’r dynodwr deiliad deithio gyda phob uned o waith. Sefydlwch ef wrth yr ymyl, fel arfer o’r sesiwn ddilysedig neu is-barth, dilyswch ef, a’i edafu drwy gyd-destun y cais, pob galwad gwasanaeth i lawr yr afon, pob sesiwn cronfa ddata, pob swydd wedi’i ciwio, a phob llinell log a metrig. Y bylchau peryglus yw’r rhai anghydamserol: gweithiwr cefndir sy’n prosesu swydd heb ailsefydlu cyd-destun deiliad, storfa gudd wedi’i hallweddu heb y deiliad, trinydd webhook sy’n ymddiried mewn dynodwr deiliad gan y galwr. Mae pob un yn llwybr i wasanaethu data un deiliad i un arall.

Triniwch ynysiad traws-ddeiliad fel priodwedd diogelwch gydag amddiffyn mewn dyfnder, a throswch y manylion i bennod 4.3. Cymhwyswch egwyddor y fraint leiaf fel na all cydran wedi’i chyfaddawdu gyrraedd ond y deiliad y mae’n gweithredu ar ei ran. Byth peidiwch â derbyn dynodwr deiliad o fewnbwn a reolir gan gleient ar gyfer penderfyniadau awdurdodi; deilliwch ef o’r hunaniaeth ddilysedig. Enwau-ofodwch storfeydd cudd, rhagddodiaid storfa gwrthrych, a mynegeion chwilio fesul deiliad fel na all gwrthdrawiad allwedd groesi’r ffin. Yna profwch y ffin yn fwriadol: profion awtomataidd sy’n honni na all manylion deiliad A ddarllen cofnodion deiliad B, ac ymarferion tîm-coch cyfnodol sy’n ceisio dianc o ddeiliad. Mae gollyngiad a ganfyddir gan eich set brofion yn nam; mae gollyngiad a ganfyddir gan gwsmer yn argyfwng.

Cynhwyswch gymdogion swnllyd â chwotâu, terfynau cyfradd, a thegwch

Pan fydd deiliaid yn rhannu adnoddau, mae pigyn un deiliad yn dod yn doriad pawb. Nid achos ymyl yw’r broblem cymydog swnllyd hon; dyma ymddygiad rhagosodedig pwll a rennir dan lwyth. Dyluniwch yn ei erbyn o’r cychwyn. Gosodwch gwotâu fesul deiliad ar yr adnoddau sy’n bwysig (ceisiadau’r eiliad, swyddi cydredol, storfa, cost ymholiad) a’u gorfodi â chyfyngu cyfradd wrth yr ymyl ac wrth ffiniau mewnol costus. Ffafriwch amserlennu teg sy’n rhoi cyfran i bob deiliad yn hytrach na chiwiau cyntaf-i-mewn-cyntaf-allan sy’n gadael i un deiliad lwgu’r gweddill.

Cyfatebwch y gorfodaeth i’ch model deiliadaeth. Mewn pwll a rennir, cwotâu a thegwch yw’r amddiffyniad cynradd, felly buddsoddwch ynddynt. Ar gyfer deiliad y mae ei lwyth yn gwir fynd y tu hwnt i’r hyn y gall rhannu teg ei amsugno, yr ateb yn aml yw ei ddyrchafu allan o’r pwll i ddefnyddiad pont neu silo, sy’n nodwedd y gallwch ei gwerthu yn hytrach na methiant. Cysylltwch hyn â’ch gwaith graddadwyedd a gwydnwch (pennod 3.5): rhaid i ollwng llwyth, torwyr cylched, a gwrthbwysedd fod i gyd yn ymwybodol o ddeiliad fel bod gollwng gormodedd un deiliad yn amddiffyn y lleill yn lle dirywio’r system gyfan.

Ffurfweddwch ddeiliaid â data, nid fforchiau o’ch cod

Bydd pob cwsmer eisiau rhywbeth ychydig yn wahanol: eu logo, eu rheolau llif gwaith, eu integreiddiadau, maes nad oes gennych. Y ffordd raddadwy o ddweud ie yw ffurfweddiad fesul deiliad: fflagiau nodwedd, gosodiadau, hawliadau, a phwyntiau ymestyn sy’n ddata, wedi’u gwerthuso ar amser rhedeg, ac a rennir gan un sylfaen cod. Y llwybr sy’n dinistrio busnes SaaS yw cod pwrpasol fesul deiliad: cangen neu fforc neu achos arbennig yn y llwybr cod ar gyfer cwsmer mawr. Deg o’r rheiny ac nid oes gennych gynnyrch mwyach, mae gennych ddeg cynnyrch yn gwisgo cot fawr, a rhaid profi pob newid ddeg gwaith.

Tynnwch linell gadarn. Modelwch yr echelinau amrywiad rydych yn barod i’w cefnogi fel ffurfweddiad dosbarth-cyntaf, a thriniwch geisiadau y tu allan i’r echelinau hynny naill ai fel map ffordd cynnyrch neu na chadarn. Pan fo angen cwsmeriaid gwir addasiad, rhowch iddynt bwyntiau ymestyn (webhooks, API, ategion, meysydd pwrpasol) sy’n rhedeg eu rhesymeg heb ganghennu eich un chi. Cadwch ddefnyddiadau gwirioneddol bwrpasol ar gyfer yr haen premiwm un-deiliad, lle mae’r ynysiad yn bwynt ac mae’r pris uwch yn talu am y gost weithredol.

Gwnewch gylchred oes y deiliad yn awtomataidd, yn arsylwadwy, ac wedi’i briodoli o ran cost

Dylai ymgorffori deiliad fod yn llif hunanwasanaeth, wedi’i awtomeiddio: darparu rhaniad data’r deiliad, hadu rhagosodiadau, gosod hawliadau, a bod yn barod mewn eiliadau, nid tocyn i dîm gweithrediadau. Mae dad-gorffori yr un mor bwysig ac yn haws ei esgeuluso. Pan fydd deiliad yn gadael, rhaid i chi allu allforio eu data mewn fformat defnyddiadwy, yna ei ddileu’n brofadwy, oherwydd bydd cytundebau a chyfraith preifatrwydd yn mynnu’r ddau. Dyluniwch allforio a dileu data ar ddiwrnod un; mae eu hôl-osod i sgema tabl a rennir yn boenus.

Offeryniad popeth fesul deiliad. Tagiwch logiau, olion, a metrigau â’r dynodwr deiliad fel y gallwch ateb “ai pob deiliad neu un yw’r toriad hwn?” a “pa ddeiliad sy’n gyrru’r gost hon?” mewn eiliadau. Priodolwch gost seilwaith i ddeiliaid fel eich bod yn gwybod eich gwir elw fesul cwsmer ac yn gallu sbotio’r deiliad y mae ei ddefnydd yn eu gwneud yn anfroffidiol ar eu pris presennol (pennod 9.4). Mae arsylwadaeth ac priodoli cost sy’n ymwybodol o ddeiliad yn troi aml-ddeiliadaeth o flwch du yn system y gallwch ei rhedeg a’i brisio mewn gwirionedd.

Cyfaddawdau: manteision ac anfanteision

Model deiliadaethManteisionAnfanteision
Silo (stac pwrpasol fesul deiliad)Ynysiad cryfaf, promedr ffrwydro lleiaf, cydymffurfiad ac allforio hawdd fesul deiliad, stori cymydog swnllyd symlCost uchaf, capasiti segur fesul deiliad, llawer o gopïau i’w gweithredu a’u clytio
Pwll (yn llwyr a rennir)Cost ymylol isaf, pacio dwysaf, un system i’w graddio a’i uwchraddioMae ynysiad yn dibynnu’n llwyr ar gywirdeb cod, y risg cymydog swnllyd gwaethaf, yr allforio a dileu fesul deiliad anoddaf
Pont (hybrid, haenog)Effeithlon ar gyfer deiliaid bach, ynysiad pwrpasol ar gyfer rhai mawr, yn mapio at brisioMwy o fodelau i’w hadeiladu a’u gweithredu, llwybr dyrchafu rhwng haenau i’w gynnal
Cronfa ddata a rennir, sgema a rennir (colofn deiliad)Storfa rataf, un mudiad, gweithrediadau symlafMae un hidlydd coll yn gollwng data; angen diogelwch lefel-rhes fel ateb wrth gefn
Cronfa ddata a rennir, sgema fesul deiliadYnysiad rhesymegol, un gweinydd, allforio gweddusLlawer o wrthrychau sgema, mudiadau’n ehangu, terfynau graddio fesul gweinydd
Cronfa ddata fesul deiliadYnysiad data cryf, wrth gefn ac allforio fesul deiliadLlawer o gronfeydd data, mudiadau’n ehangu, cost uwch

Y prif densiwn yw ynysiad yn erbyn effeithlonrwydd, ac mae’n rhedeg drwy bob rhes. Mae rhannu dwysach yn lluosi eich elw a’ch risg yn yr un symudiad; mae ynysiad cryfach yn prynu diogelwch a symlrwydd am gost wirioneddol fesul deiliad. Nid dewis un pegwn yw’r datrysiad ond gosod pob deiliad yn fwriadol ar hyd y sbectrwm, fel arfer fesul haen: pacio’r deiliaid bach yn ddwys lle mae’r economeg yn mynnu hynny a’r risg wedi’i ffinio, ynysu’r deiliaid mawr a reoledig lle byddant yn talu amdano a rhaid i’r promedr ffrwydro fod yn fach. Yna gwnewch y pen dwys yn ddiogel gyda chwmpasu deiliad gorfodedig, a gwnewch y pen ynysig yn rhad gydag awtomeiddio, fel nad yw’r naill begwn na’r llall yn brifo cymaint â’r fersiwn naïf.

Cwestiynau i’w trafod gyda’ch tîm

  1. Pe bai un hidlydd cwmpasu deiliad ar goll yfory, a fyddai cwsmer yn gweld data cwsmer arall? Dyma’r cwestiwn sy’n gwahanu cynnyrch aml-ddeiliad amddiffynadwy oddi wrth ddamwain yn aros i ddigwydd. Y prawf gonest yw olrhain llwybr darllen gwirioneddol a gofyn beth sy’n gorfodi’r ffin deiliad: ai un cymal WHERE a ysgrifennwyd gan ddatblygwr, neu a oes ateb wrth gefn fel diogelwch lefel-rhes cronfa ddata neu haen mynediad data sy’n chwistrellu’r cwmpas ni waeth beth? Dewch â’ch llwybrau ymholiad gwirioneddol, eich swyddi cefndir, a’ch storfeydd cudd, oherwydd bod y gollyngiad bron bob amser yn cuddio yn y gornel anghydamserol na chwmpaswyd gan neb. Dylech hefyd ddod â chanlyniadau prawf sy’n defnyddio sesiwn deiliad A yn fwriadol i ofyn am gofnodion deiliad B ac yn honni gwrthodiad. Os yw’r ffin yn gorffwys ar wyliadwriaeth ddynol yn unig, mae gennych doriad cudd, a dylai’r ateb (amddiffyn mewn dyfnder) neidio i frig y backlog.

  2. Pa fodel deiliadaeth a rhaniad data mae pob haen cwsmer yn ei ddefnyddio mewn gwirionedd, ac a yw’n cyfateb i’r hyn a werthom iddynt? Mae llawer o dimau’n drifftio i un model yn ddiofyn, yna’n darganfod bod eu prisio a’u pensaernïaeth yn anghytuno: addawyd i gwsmeriaid menter ynysiad nad yw’r pwll a rennir yn ei ddarparu, neu mae cwsmeriaid bach yn eistedd mewn stacau pwrpasol drud sy’n dinistrio’r elw. Mapiwch bob haen at ei wir fodel (silo, pwll, neu bont; cronfa ddata-fesul-deiliad, sgema, neu dabl a rennir) a’i osod wrth ymyl y gwarantau data cytundebol y mae eich tîm gwerthiant yn eu gwneud. Lle maent yn gwahaniaethu, mae gennych naill ai risg cydymffurfio neu broblem gost, ac mae’r ddau’n werth eu codi cyn i gwsmer neu archwiliwr ddod o hyd iddynt. Y dystiolaeth i’w dod yw’r mapio haen-i-fodel, y gost fesul deiliad, a’r iaith wirioneddol yn eich cytundebau menter.

  3. Pan fydd llwyth deiliad mawr yn pigo, pwy arall sy’n ei deimlo, a beth yw ein cynllun? Mewn pwll a rennir yr ateb yn aml yw “pawb,” ac mae timau’n aml ddim yn gwybod hyn tan i ddigwyddiad ei wneud yn amlwg. Ewch drwy’r hyn sy’n digwydd pan fydd eich deiliad mwyaf yn rhedeg mewnforio swmp neu’n cael don traffig: a yw cwotâu fesul deiliad ac amserlennu teg yn ei gynnwys, a yw gollwng llwyth yn amddiffyn y cymdogion, neu a yw’r system gyfan yn dirywio gyda’i gilydd? Dewch â data llwyth a stori eich digwyddiad cymydog swnllyd diwethaf, oherwydd y deiliad sy’n eich brifo fel arfer yw un y gallwch ei enwi. Dylai’r ateb siapio eich buddsoddiad cyfyngu cyfradd a’ch strategaeth haenu, gan mai’r ateb glanaf i ddeiliad sy’n tyfu allan o rannu teg yw ei ddyrchafu i ddefnyddiad pont neu bwrpasol y gallwch godi tâl amdano.

  4. Pan fydd deiliad yn dad-gorffori yfory, a allwn ni roi allforiad glân iddynt a phrofi ein bod wedi dileu pob ôl, neu a fyddem yn sgrialu? Dad-gorffori yw’r rhan o gylchred oes y deiliad y mae timau’n ei esgeuluso hyd nes bod cymal ymadael cytundeb neu gais cyfraith preifatrwydd yn gorfodi’r mater, ac erbyn hynny mae’r sgema a rennir yn gwneud tynnu a dileu’n boenus. I dîm mawr, mae’r risg yn cyfansymio, oherwydd bod data deiliad wedi’i wasgaru ar draws y brif gronfa ddata, storfeydd cudd, storfa gwrthrych, mynegeion chwilio, wrth gefn, a photrwythau dadansoddeg, a rhaid allforio pob un mewn fformat defnyddiadwy yna ei buro’n brofadwy. Mae’r ystyriaethau cystadleuol yn wirioneddol: mae’r union dablau a rennir dwys sy’n rhoi storfa rad i chi yn union y rhai sy’n gwneud tynnu a dileu fesul deiliad anoddaf, felly efallai y talwch yn ôl ar yr haen echdynnu’r effeithlonrwydd a brynoch ar yr haen storio. Dewch â thaith byw drwy ddad-gorffori ar ddeiliad gwirioneddol, y rhestr o bob storfa sy’n dal data deiliad, a’r dystiolaeth y byddech yn ei dangos bod dileu wedi digwydd mewn gwirionedd. Ar gyfer deiliaid menter a llywodraeth, rhaid i’r allforiad gael ei ardystio a rhaid i’r dileu fod yn brofadwy i fodloni statudau cofnodion cyhoeddus a phreifatrwydd, felly triniwch lwybr dileu coll fel diffyg cydymffurfio i’w gau nawr, nid nodwedd i’w hychwanegu pan fydd cwsmer yn gadael.

  5. Faint o achosion arbennig untro ar gyfer cwsmeriaid unigol sydd eisoes yn byw yn ein llwybr cod, a lle mae’r llinell rydym yn gwrthod ei chroesi? Mae fforchiau cod fesul deiliad yn ffordd dawel i fusnes SaaS beidio â bod yn un cynnyrch mwyach a dod yn llawer o gynhyrchion sy’n gwisgo un enw, lle rhaid profi pob newid yn erbyn pob achos arbennig ac mae cyflymder yn dadfeilio wrth i chi ychwanegu cwsmeriaid. Y tensiwn yw ei bod yn anodd gwrthod cwsmer mawr ag angen gwirioneddol, a bod cangen yn y llwybr cod yn teimlo’n gyflymach na chodi wyneb ffurfweddu, felly mae’r achosion arbennig yn cronni un eithriad rhesymol ar y tro. Dewch â rhestr onest: greppiwch y sylfaen cod am enwau cwsmeriaid a changhennau haen-benodol, cyfrwch nhw, ac amcangyfrifwch y gost brawf ac adolygu ychwanegol y mae pob un yn ei osod ar newid heb gysylltiad. Dylai’r drafodaeth dynnu llinell gadarn rhwng amrywiad rydych yn ei fodelu fel ffurfweddiad dosbarth-cyntaf (fflagiau, hawliadau, pwyntiau ymestyn) a gwaith gwir bwrpasol rydych yn ei gadw ar gyfer haen premiwm un-deiliad lle mae’r pris uwch yn talu am y gost weithredol. I brynwyr menter sy’n mynnu addasiad dwfn, yr ateb parhaol yw pwyntiau ymestyn sy’n rhedeg eu rhesymeg heb ganghennu eich un chi, fel bod llywodraethu ac archwilio yn aros yn drin ar draws y fflyd.

  6. A allwn ddweud, fesul deiliad, beth mae digwyddiad yn ei gostio i bwy a pha gwsmeriaid sy’n anfroffidiol ar eu pris presennol? Mae aml-ddeiliadaeth yn troi’n flwch du y foment nad yw eich logiau, olion, metrigau, a chost seilwaith yn cario dimensiwn deiliad, oherwydd ni allwch ateb wedyn ai un deiliad neu’r fflyd gyfan yw toriad, ac ni allwch enwi’r deiliad y mae ei ddefnydd yn eu gwneud yn golled ar bris eu cytundeb. I dîm mawr, dyma’r priodoli sy’n gwahanu rhedeg y platfform oddi wrth ddyfalu ag ef, ac mae’n siapio ymateb dibynadwyedd a phrisio’n uniongyrchol. Mae’r ystyriaethau’n tynnu yn erbyn cost offeryniaeth a chardinalrwydd: nid yw tagio popeth fesul deiliad am ddim, ac mae metrigau cardinalrwydd uchel yn straenio eich cyllideb arsylwadaeth, felly rydych yn dewis yn fwriadol beth i’w sleisio fesul deiliad a beth i’w samplu. Dewch â’ch sylw tagio deiliad presennol, ymholiad gwirioneddol sy’n priodoli gwariant cwmwl i un deiliad, a’r tabl elw a fyddai’n gadael i chi enwi eich cwsmer lleiaf broffidiol. Mewn lleoliadau menter a llywodraeth, mae cost fesul deiliad ac arsylwadaeth wedi’i chwmpasu gan archwiliad hefyd yn bwydo ad-dal, cynllunio capasiti, a’r ffin archwilio y mae gan bob asiantaeth neu uned fusnes hawl iddi, felly mae’r dimensiwn deiliad yn ofyniad llywodraethu cymaint ag un gweithredol.

Lens sector

Busnes newydd. Anfonwch bwll a rennir sengl o ddiwrnod un a rhowch eich sylw peirianneg prin i’r un peth na ellir ei ôl-osod: cwmpasu deiliad gorfodedig. Mae Postgres wedi’i reoli gyda diogelwch lefel-rhes, tenant_id ar bob tabl, a chyd-destun deiliad wedi’i ddatrys wrth yr ymyl yn prynu dwysedd diogel i chi heb dîm gweithrediadau. Peidiwch ag adeiladu haenau silo na seilwaith fesul deiliad yn hapfasnachol; ychwanegwch haen bont dim ond pan fydd darpar gwsmer menter sy’n talu yn gwneud yr ynysiad yn werth ei gost.

Busnes bach. Heb arbenigwr platfform a chyllideb dynn, pwyswch ar yr hyn y mae eich cwmwl a’ch fframwaith eisoes yn ei roi yn hytrach nag adeiladu peirianneg ynysiad eich hun. Mae cronfeydd data wedi’u rheoli gyda diogelwch lefel-rhes, platfform-fel-gwasanaeth sy’n cwmpasu deiliaid ar eich rhan, a darparwr dilysu sy’n cario hunaniaeth deiliad fel arfer yn rataf ac yn fwy diogel na chyfatebolion wedi’u llaw-rolio. Triniwch aml-ddeiliadaeth fel penderfyniad prynu-yn-erbyn-adeiladu ar bob haen, a chadwch waith pwrpasol ar gyfer y profion ffin deiliad na all ond chi eu hysgrifennu.

Menter. Y broblem yw llywodraethu portffolio ar draws llawer o dimau: pensaernïaeth pont haenog, cofnod penderfyniad pensaernïol yn mapio pob haen at ei model deiliadaeth a rhaniad data, a phriodoli cost fesul deiliad fel bod cyllid yn gwybod y gwir elw ar bob cyfrif. Safoni lledaenu cyd-destun deiliad a’r ateb wrth gefn cwmpasu fel nad oes unrhyw dîm yn ail-ddyfeisio nhw, cyllidebu’r ynysiad ac awtomeiddio cylchred oes yn benodol, a chadw llwybr â phris a gefnogir i fudo deiliad rhwng haenau heb amser segur wrth iddynt dyfu neu eu hanghenion cydymffurfio newid.

Llywodraeth. Mae caffael, preswylfa data, ac atebolrwydd cyhoeddus yn gyrru’r model. Piniwch ddata pob asiantaeth i ranbarthau o fewn y wlad â pholisi-fel-cod, siloi lwythi gwaith sensitif neu ddosbarthiad uchel i gyfrifon ar wahân â’u ffin archwilio eu hunain, a rhowch i bob asiantaeth ei integreiddiad hunaniaeth, ei rheolau cadw ei hun, a llwybr archwilio fel nad yw archwilwyr un asiantaeth byth yn gweld gweithgaredd un arall. Rhaid i ddad-gorffori gynhyrchu allforiad ardystiedig a dileu profadwy i fodloni statudau cofnodion cyhoeddus a phreifatrwydd, a rhaid i’r gwarantau deiliadaeth a lofnodwch fod yn rhai y gall eich pensaernïaeth eu cadw mewn gwirionedd.

Enghreifftiau

Busnes newydd. Mae busnes newydd pymtheg person yn adeiladu ei gynnyrch fel pwll a rennir sengl o ddiwrnod un ac mae’n gywir i wneud hynny. Mae pob deiliad yn rhannu un gronfa ddata Postgres wedi’i rheoli gyda tenant_id ar bob tabl, mae diogelwch lefel-rhes yn gorfodi’r predicad deiliad yn y gronfa ddata fel na all hidlydd coll ollwng, ac mae’r cymhwysiad yn datrys y deiliad o is-barth wrth yr ymyl ac yn ei edafu drwy bob cais a swydd gefndir. Mae ymgorffori’n hunanwasanaeth: mae cofrestriad newydd yn darparu ei res deiliad, yn hadu rhagosodiadau, ac yn fyw mewn eiliadau. Mae dau beiriannydd yn rhedeg y platfform cyfan oherwydd bod un system i’w gweithredu. Pan fydd eu darpar gwsmer menter gwirioneddol cyntaf yn mynnu cronfa ddata bwrpasol a gwarant ynysiad cytundebol, maent yn ychwanegu haen bont: yr un sylfaen cod, ond mae’r deiliad hwn yn cael ei gronfa ddata ei hun ar ei siard ei hun, wedi’i werthu am bris sy’n talu’r gost.

Menter. Mae gwerthwr SaaS sy’n gwasanaethu sefydliadau ariannol mawr yn rhedeg pensaernïaeth pont haenog. Mae miloedd o gwsmeriaid bach a chanolig eu maint yn byw mewn pyllau a rennir rhanbarthol, wedi’u siardio fesul deiliad, gyda chwotâu ac amserlennu teg yn dal cymdogion swnllyd dan reolaeth. Mae cwsmeriaid bancio haen-uchaf yn cael defnyddiadau un-deiliad mewn cyfrifon cwmwl ynysig, gydag cronfeydd data pwrpasol, allweddi amgryptio fesul deiliad, a gwarantau preswylfa data ac ynysiad cytundebol wedi’u hysgrifennu i’r prif gytundeb. Mae gallu platfform yn mudo deiliad rhwng haenau heb amser segur wrth iddynt dyfu neu eu hanghenion cydymffurfio newid. Mae cost pob deiliad wedi’i briodoli drwy dagio fel bod cyllid yn gwybod y gwir elw ar bob cyfrif, ac mae arsylwadaeth wedi’i thagio â deiliad yn gadael i’r peiriannydd ar-alwad ddweud mewn eiliadau ai un deiliad neu’r fflyd gyfan yw rhybudd.

Llywodraeth. Mae darparwr platfform cenedlaethol yn cynnal llawer o asiantaethau llywodraeth fel deiliaid ar wahân ac yn trin ynysiad fel gofyniad cyfreithiol, nid dewis. Mae cyfraith preswylfa data yn pinio data pob asiantaeth i ranbarthau o fewn y wlad, wedi’i orfodi gan bolisi-fel-cod sy’n rhwystro unrhyw adnodd mewn rhanbarth gwaharddedig (pennod 3.11). Mae dosbarthiad yn gyrru’r model: mae asiantaethau sy’n trin deunydd sensitif yn cael defnyddiadau wedi’u siloi’n llawn mewn cyfrifon ar wahân gyda’u ffin archwilio eu hunain, tra bo lwythi gwaith dosbarthiad is yn rhannu pwll wedi’i lywodraethu. Mae pob asiantaeth yn ddeiliad ynddi’i hun gyda’i integreiddiad hunaniaeth ei hun, ei rheolau cadw ac allforio ei hun, a llwybr archwilio wedi’i gwmpasu i’w ffin, fel nad yw archwilwyr un asiantaeth byth yn gweld gweithgaredd un arall. Mae dad-gorffori’n cynhyrchu allforiad data ardystiedig a dileu profadwy, oherwydd bod y cofnodion yn ddarostyngedig i statudau cofnodion cyhoeddus a phreifatrwydd.

Achos busnes: cymhellion, ROI, a TCO

Elw yw craidd yr achos busnes dros aml-ddeiliadaeth. Mae model un-deiliad, lle rydych yn defnyddio copi newydd fesul cwsmer, yn golygu bod cost seilwaith a gweithrediadau’n tyfu’n fras yn llinol â nifer y cwsmeriaid, ac mae eich peirianwyr yn treulio eu dyddiau’n clytio llawer o gopïau. Mae model aml-ddeiliad a rennir yn torri’r cyswllt hwnnw: rydych yn clytio unwaith, yn graddio un system, ac yn pacio cwsmeriaid yn ddigon dwys fel bod cost ymylol y deiliad nesaf yn nesáu at sero. Dyna’r hyn sy’n gadael i fusnes SaaS dyfu refeniw’n llawer cyflymach na chost, a dyna pam mae buddsoddwyr a byrddau’n trin pensaernïaeth aml-ddeiliad lân fel dirprwy ar gyfer cwmni graddadwy.

Mae’r enillion yn ymddangos mewn tri lle: lifogaeth weithredol (mae un tîm yn rhedeg y fflyd gyfan), traddodiad cyflymach (mae trwsiad yn cael ei anfon i bob deiliad ar unwaith, felly nid yw cyflymder yn dadfeilio wrth i chi ychwanegu cwsmeriaid), a dewisoldeb prisio (cynllun a rennir ar gyfer y gynffon hir a chynllun premiwm ynysig ar gyfer mentrau, y ddau o un sylfaen cod). Gosodwch y rhain yn erbyn y costau y mae’n rhaid i chi eu cyllido’n onest: y beirianneg i adeiladu ynysiad deiliad gorfodedig, cwotâu, awtomeiddio cylchred oes, ac arsylwadaeth fesul deiliad, ynghyd â’r ddisgyblaeth i gadw’r ffin yn gyfan. Mae cost cael hyn yn anghywir yn anghymesur a difrifol, oherwydd gall un toriad data traws-ddeiliad sbarduno cosbau rheoleiddiol, cwsmeriaid yn gadael yn dorfol, a difrod enw da sy’n gwneud y seilwaith a arbedoch drwy rannu’n bitw. Fframiwch yr achos i arweinyddiaeth fel elw a graddadwyedd ar yr ochr fantais a risg dirfodol ar yr ochr anfantais. Angorwch y cytundeb lefel gwasanaeth a’r gwarantau data cytundebol i’r model deiliadaeth y gallwch ei ddarparu mewn gwirionedd, oherwydd mae addewid na all eich pensaernïaeth ei gadw’n atebolrwydd, nid gwerthiant.

Gwrth-batrymau a pheryglon

  • Cwmpasu deiliad drwy gonfensiwn. Dibynnu ar ddatblygwyr i gofio’r hidlydd deiliad ar bob ymholiad, heb ateb wrth gefn lefel-cronfa-ddata neu haen-mynediad-data; mae un anghofiad yn doriad.
  • Ymddiried mewn dynodwr deiliad a gyflenwir gan gleient. Derbyn y deiliad o fewnbwn cais ar gyfer awdurdodi yn lle ei ddeillio o’r hunaniaeth ddilysedig, sy’n gadael i alwr ofyn am ddata rhywun arall.
  • Gwaith cefndir heb ei gwmpasu. Swyddi, storfeydd cudd, webhooks, ac allforion sy’n colli cyd-destun deiliad oherwydd bod rhywun ond wedi cwmpasu’r llwybr cais cydamserol.
  • Fforchiau cod fesul deiliad. Achos arbennig cwsmer mawr yn y llwybr cod hyd nes eich bod yn cynnal llawer o gynhyrchion sy’n gwyro dan un enw ac mae pob newid yn costio ddeg gwaith cymaint.
  • Dim amddiffyniad cymydog swnllyd. Rhedeg pwll a rennir heb gwotâu na thegwch fesul deiliad, fel bod y deiliad cyntaf i bigo yn dod â phawb i lawr.
  • Dad-gorffori fel ôl-ystyriaeth. Adeiladu heb allforio data a dileu profadwy, yna methu cymal ymadael cwsmer neu gais cyfraith preifatrwydd oherwydd bod y sgema a rennir yn gwneud tynnu’n boenus.
  • Hedfan yn ddall fesul deiliad. Logiau, metrigau, a chost heb ddimensiwn deiliad, fel na allwch ddweud pwy piau’r digwyddiad neu pa ddeiliad sy’n anfroffidiol.

Model aeddfedrwydd

  • Lefel 1, Cychwyn: Mae aml-ddeiliadaeth yn fyrfyfyr ac yn adweithiol. Mae gwahaniad deiliad yn gorffwys ar hidlwyr wedi’u hysgrifennu â llaw heb ateb wrth gefn, mae’r model yn un-maint-i-bawb, nid oes cwotâu, mae ymgorffori’n â llaw, ac nid yw logiau a chost yn cario dimensiwn deiliad. Mae’r tîm yn dysgu am y cymydog swnllyd a’r gollyngiad agos-i-fod-yn-fethiant o ddigwyddiadau.
  • Lefel 2, Datblygu: Mae arferion sylfaenol yn ymddangos ond yn anghyson ar draws timau. Dewisir model deiliadaeth a lledaenir cyd-destun deiliad drwy’r prif lwybr cais, mae ateb wrth gefn lefel-cronfa-ddata neu fynediad-data yn gorfodi cwmpasu ar dablau craidd, ac mae cwotâu sylfaenol fesul deiliad yn bodoli. Mae ymgorffori’n rhannol wedi’i awtomeiddio ac mae logiau’n cario dynodwr deiliad, ond mae llwybrau cefndir, allforio, a phriodoli cost yn amrywio o wasanaeth i wasanaeth ac nid ydynt wedi’u hysgrifennu i lawr yn unman.
  • Lefel 3, Safoni: Mae’r dull deiliadaeth wedi’i ddogfennu a’i orfodi ar draws y sefydliad. Mae deiliadaeth haenog yn mapio at brisio, gyda phwll a rennir ar gyfer deiliaid bach a defnyddiadau ynysig ar gyfer rhai menter a reoledig, mae cwmpasu deiliad wedi’i orfodi mewn dyfnder a’i brofi’n fwriadol, mae cwotâu ac amserlennu teg yn cynnwys cymdogion swnllyd, mae cylchred oes y deiliad gan gynnwys allforio a dileu profadwy wedi’i awtomeiddio, ac mae arsylwadaeth a chost wedi’u sleisio fesul deiliad. Mae pob tîm yn dilyn yr un safon deiliadaeth yn lle ei un ei hun.
  • Lefel 4, Rheoli: Mae’r ystâd ddeiliadaeth yn cael ei mesur a’i rheoli yn erbyn llinellau sylfaen. Mae ynysiad, tegwch, oedi, a chost fesul deiliad yn cael eu holrhain fel metrigau gyda thargedau y cytunwyd arnynt: adroddir sylw prawf traws-ddeiliad, cyfraddau torri cwota a digwyddiad cymydog swnllyd, amser ymgorffori a dad-gorffori, ac elw fesul deiliad yn erbyn llinellau sylfaen, a gwneir penderfyniadau i ddyrchafu deiliad rhwng haenau neu ail-brisio un anfroffidiol ar sail y dystiolaeth honno yn hytrach nag anecdot. Mae cydymffurfiad preswylfa a dosbarthiad yn cael ei fonitro’n barhaus, ac mae drifft o’r safon yn sbarduno ymateb wedi’i ddogfennu.
  • Lefel 5, Cerddorfa: Mae deiliadaeth yn cael ei gwella’n barhaus a’i hintegreiddio ar draws y sefydliad. Mae ffiniau traws-ddeiliad yn cael eu hymarfer gan ymarferion tîm-coch rheolaidd, mae deiliaid yn symud rhwng haenau heb amser segur wrth iddynt dyfu neu eu hanghenion cydymffurfio newid, mae elw fesul deiliad yn bwydo prisio a chynllunio capasiti, a gorfodir rheolau preswylfa a dosbarthiad gan bolisi yn hytrach na thrwy adolygiad. Mae’r model yn addasu wrth i gymysgedd cwsmeriaid a’r darlun rheoleiddiol newid, ac mae’r gwersi’n bwydo cynnyrch, diogelwch, a chyllid fel un ddolen.

Syniadau ar gyfer trafodaeth

  1. Ble mae pob un o’ch haenau cwsmer yn eistedd ar y sbectrwm ynysiad-yn-erbyn-effeithlonrwydd heddiw, ac a oes unrhyw haen yn y model anghywir ar gyfer y gwarantau a werthoch neu’r elw sydd ei angen arnoch?
  2. Pe bai’n rhaid i chi brofi i archwiliwr na all deiliad A gael mynediad at ddata deiliad B, pa dystiolaeth y gallech ei chynhyrchu nawr, a faint ohoni sydd wedi’i hawtomeiddio yn hytrach na’i honni?
  3. Pa un o’ch llwybrau anghydamserol (swyddi, storfeydd cudd, webhooks, allforion, mynegeion chwilio) sy’n ailsefydlu cyd-destun deiliad, a pha rai sy’n ei etifeddu’n unig neu’n ymddiried yn y galwr?
  4. Pan fydd deiliad yn tyfu allan o rannu teg, a oes gennych lwybr dyrchafu â phris a gefnogir i ddefnyddiad pont neu bwrpasol, neu a yw’r ateb yn ddiofyn i ddigwyddiad?
  5. A allwch briodoli cost seilwaith i ddeiliaid unigol yn ddigon da i enwi eich cwsmer lleiaf broffidiol, ac a fyddai hynny’n newid sut rydych yn prisio?
  6. Ar gyfer deiliad llywodraeth neu reoledig, a allwch orfodi preswylfa data ac ynysiad wedi’i yrru gan ddosbarthiad drwy bolisi, a dad-gorffori â allforiad ardystiedig a dileu profadwy?

Casgliadau allweddol

  • Mae aml-ddeiliadaeth, un enghraifft yn gwasanaethu llawer o ddeiliaid, yn injan economaidd SaaS: mae’n gyrru eich elw, ac mae’n gosod ynysiad traws-ddeiliad wrth galon eich pensaernïaeth.
  • Triniwch ynysiad yn erbyn effeithlonrwydd fel sbectrwm a’i haenu: pacio deiliaid bach mewn pwll a rennir effeithlon, ynysu deiliaid mawr a reoledig mewn defnyddiadau pont neu silo y byddant yn talu amdanynt.
  • Byth peidiwch â gorffwys cwmpasu deiliad ar hidlydd wedi’i ysgrifennu â llaw; gorfodwch ef mewn dyfnder â diogelwch lefel-rhes neu haen mynediad data, a phrofwch y ffin yn fwriadol.
  • Lledaenwch gyd-destun deiliad drwy bob cais, swydd, storfa gudd, a log, ac amddiffynnwch y llwybrau anghydamserol lle mae gollyngiadau’n cuddio.
  • Cynhwyswch gymdogion swnllyd â chwotâu fesul deiliad, terfynau cyfradd, ac amserlennu teg, a dyrchafwch ddeiliaid sy’n tyfu allan o’r pwll yn hytrach na gadael iddynt ei ddirywio.
  • Plygwch y cynnyrch â ffurfweddiad fesul deiliad, nid cod fesul deiliad, a gwnewch gylchred oes y deiliad ac arsylwadaeth a phriodoli cost fesul deiliad yn ddosbarth-cyntaf.

Cyfeiriadau a darllen pellach

  • Tom Kwok, Thao Nguyen, and Linh Lam, A Software as a Service with Multi-tenancy Support for an Electronic Contract Management Application (IEEE International Conference on Services Computing)
  • Frederick Chong and Gianpaolo Carraro, Architecture Strategies for Catching the Long Tail (Microsoft)
  • Amazon Web Services, SaaS Lens, AWS Well-Architected Framework and SaaS Tenant Isolation Strategies
  • Microsoft, Multitenant SaaS architecture and patterns (Azure Architecture Center)
  • Google Cloud, Architecture for Multi-tenant SaaS Applications
  • Cor-Paul Bezemer and Andy Zaidman, Multi-Tenant SaaS Applications: Maintenance Dream or Nightmare? (Proceedings of the Joint ERCIM Workshop on Software Evolution)
  • The Open Web Application Security Project, OWASP Application Security Verification Standard (access-control and multi-tenancy requirements)
  • Martin Kleppmann, Designing Data-Intensive Applications (partitioning, sharding, and data isolation)