Ikasubo, kini nga termino walay maayong katumbas sa Ruso. Ang Wikipedia naghatag "Multi-tenancy, multiple renting." Usahay kini gitawag nga "multiple ownership." Kini nga mga termino mahimong medyo makalibog, tungod kay ang hilisgutan wala’y kalabotan sa pag-abang o pagpanag-iya. Kini usa ka pangutana sa arkitektura sa software ug ang organisasyon sa operasyon niini. Ang ulahi dili ubos nga hinungdanon.
Gisugdan namo ang pagpalambo sa among pagsabot sa multitenancy sa samang higayon nga gisugdan namo ang pagdesinyo sa usa ka pamaagi sa cloud (service) operating model para sa 1C:Enterprise. Kana pipila ka tuig na ang milabay. Ug sukad niadto, ang among pagsabot padayon nga nagkalapad. Kanunay namong nadiskobrehan ang mga bag-ong aspeto niini nga hilisgutan (mga bentaha, disbentaha, pagkakomplikado, mga kinaiya, ug uban pa).

Usahay, ang mga developers mohubad sa multitenancy isip usa ka yano kaayong konsepto: "Aron tipigan ang datos gikan sa daghang organisasyon sa usa ka database, kinahanglan nimong idugang ang usa ka kolum nga adunay ID sa organisasyon sa tanang lamesa ug magbutang og filter niini." Siyempre, gisugdan namo ang among trabaho niini nga isyu gikan niadto nga punto. Apan dali namong naamgohan nga kini usa lang ka field (ug usa ka komplikado, ha). Sa tinuod lang, kini usa ka "tibuok nasud."
Ang sukaranang ideya sa multitenancy mahimong ihulagway sama sa mosunod. Ang usa ka tipikal nga app usa ka cottage nga gidisenyo alang sa usa ka pamilya, nga nagpaambit sa ilang imprastraktura (mga bungbong, atop, suplay sa tubig, heater, ug uban pa). Apan, ang multitenancy app usa ka apartment building. Ang matag pamilya naggamit sa parehas nga imprastraktura, apan ang imprastraktura mismo gipatuman alang sa tibuok nga bilding.
Maayo ba o daotan ang pamaagi sa multitenancy? Nagkalainlain ang mga opinyon bahin niini. Murag walay "maayo o daotan." Kinahanglan nga timbangtimbangon ang mga bentaha ug disbentaha batok sa piho nga mga hagit nga giatubang. Apan lahi na kana nga hilisgutan...
Sa pinakasimple nga pagsabot niini, ang tumong sa multitenancy mao ang pagpakunhod sa gasto sa pagmentinar sa aplikasyon pinaagi sa "pag-socialize" sa mga gasto sa imprastraktura. Parehas kini nga pamaagi sa pagpakunhod sa gasto sa usa ka aplikasyon pinaagi sa paggamit sa usa ka standard nga solusyon (posible nga adunay pag-customize ug pagpino), kaysa paghimo og usa ka custom nga solusyon. Ang kalainan mao nga sa usa ka kaso, ang pag-develop gi-socialize, ug sa pikas, ang operasyon gi-socialize.
Dugang pa, atong balikon, kini wala direktang nalambigit sa pamaagi sa pagbaligya. Ang arkitektura sa multitenancy dali nga magamit sa imprastraktura sa IT sa korporasyon o departamento aron awtomatiko ang daghang parehas nga mga sanga o holding company.
Ang multitenancy, maingon nato, labaw pa sa pag-organisar sa pagtipig sa datos. Kini usa ka modelo para sa tibuok operasyon sa aplikasyon (lakip ang mga importanteng aspeto sa arkitektura niini, modelo sa pag-deploy niini, ug organisasyon sa pagmentinar niini).
Ang labing komplikado ug makapainteres nga aspeto sa multitenancy model, sa among opinyon, mao nga ang kinauyokan nga gimbuhaton sa aplikasyon gibahin sa duha. Ang ubang gimbuhaton nagtrabaho sa piho nga mga lugar sa datos (mga apartment) ug wala mahibalo sa presensya sa mga residente sa ubang mga apartment. Ang ubang gimbuhaton nakakita sa bilding sa kinatibuk-an ug nagtrabaho alang sa tanan nga mga residente sa parehas nga oras. Bisan pa, ang ulahi dili mahimong ibaliwala ang kamatuoran nga kini, sa tinuud, mga indibidwal nga apartment, ug ang gikinahanglan nga lebel sa granularity ug seguridad kinahanglan nga masiguro.
Sa 1C:Enterprise, ang multitenancy model gipatuman sa lebel sa daghang mga teknolohiya. Kini ang mga mekanismo sa plataporma sa 1C:Enterprise, ang mga mekanismo sa"Ug"», mga mekanismo (mga librarya sa estandard nga mga subsistema).
Ang matag usa niining mga elemento nakatampo sa kinatibuk-ang imprastraktura sa usa ka multi-tenant nga bilding. Ngano nga kini gipatuman sa daghang mga teknolohiya imbes nga usa ra, sama sa usa ka plataporma? Panguna tungod kay nagtuo kami nga ang pipila sa mga mekanismo mahimong angay nga usbon alang sa usa ka piho nga senaryo sa pag-deploy. Apan sa kinatibuk-an, kini usa ka komplikado nga isyu, ug kanunay namong giatubang ang pagpili kung unsang layer ang labing maayo nga ipatuman ang matag aspeto sa multitenancy.
Klaro nga kinahanglan ipatuman ang mga kinauyokan nga mekanismo sa plataporma. Pananglitan, ang pagbulag sa datos mismo—ang klase nga kasagarang magsugod sa mga diskusyon bahin sa multitenancy. Apan sa katapusan, ang modelo sa multitenancy nakadaot sa usa ka hinungdanon nga bahin sa mga mekanismo sa plataporma ug nanginahanglan sa ilang pagpino, ug sa pipila ka mga kaso, pag-usab sa hunahuna.
Sa lebel sa plataporma, among gipatuman ang mga kinauyokan nga mekanismo. Kini nagtugot sa paghimo og mga aplikasyon nga nagdagan sa usa ka multi-tenancy model. Bisan pa, aron ang mga aplikasyon molihok sa husto niini nga modelo, gikinahanglan ang usa ka sistema alang sa pagdumala sa ilang lifecycle. Kini makab-ot pinaagi sa mga teknolohiya sa 1cFresh ug usa ka unified business logic layer sa lebel sa business support system (BSS). Sama sa imprastraktura sa usa ka apartment building nga naghatag sa mga residente sa tanan nilang gikinahanglan, ang mga teknolohiya sa 1cFresh naghatag sa tanan nga gikinahanglan alang sa mga aplikasyon nga nagdagan sa usa ka multi-tenancy model. Aron ang mga aplikasyon makig-uban niini nga imprastraktura (nga walay hinungdanon nga mga pagbag-o), ang angay nga "mga konektor" gisulod niini sa porma sa mga BSS subsystem.
Kon bahin sa mga mekanismo sa plataporma, dali ra natong makita nga samtang kita makakuha og kasinatian ug makapalambo sa cloud-based nga 1C:Enterprise nga solusyon, atong gipalapdan ang mga mekanismo nga nalambigit niini nga arkitektura. Atong ihatag ang usa ka pananglitan. Sa multitenancy model, ang pag-apod-apod sa mga tahas taliwala sa mga partisipante sa pagmentinar sa aplikasyon nagbag-o pag-ayo. Ang tahas (lebel sa responsibilidad) sa mga responsable sa operasyon sa aplikasyon misaka pag-ayo. Nagkinahanglan na sila karon og mas gamhanan nga mga himan sa pagkontrol sa aplikasyon. Kini tungod kay ang mga tiggamit sa aplikasyon (mga tenant) nagsalig, una sa tanan, sa provider nga ilang gitrabahoan. Aron masulbad kini, among gipatuman ang usa ka bag-ong bahin sa bersyon 8.3. Kini nga mekanismo nagtugot sa mga administrador sa provider nga limitahan ang kagawasan sa mga developer sa aplikasyon sa gikinahanglan nga lebel sa seguridad—sa panguna, gilain ang operasyon sa aplikasyon alang sa matag tenant sulod sa usa ka piho nga sandbox.
Parehas nga makapainteres ang arkitektura para sa pagdumala sa mga aplikasyon nga nagdagan sa multi-tenancy mode (sama sa gipatuman sa mga teknolohiya sa 1cFresh ug BSP). Dinhi, kon itandi sa usa ka standard nga modelo sa pag-deploy, ang mga kinahanglanon para sa pag-automate sa mga proseso sa pagdumala mas taas. Adunay dose-dosenang ingon niini nga mga proseso: paghimo og bag-ong mga lugar sa datos ("mga apartment"), pag-update sa mga aplikasyon, pag-update sa impormasyon sa regulasyon, mga backup, ug uban pa. Ug, siyempre, ang mga kinahanglanon para sa kasaligan ug pagkaanaa nagkataas. Pananglitan, aron masiguro ang kasaligan nga interaksyon tali sa mga aplikasyon ug mga sangkap sa sistema sa pagdumala, among gipatuman ang usa ka asynchronous call system nga adunay garantiya nga paghatud.
Usa ka dili kaayo klaro nga punto mao ang paagi sa pagpaambit sa datos ug mga proseso. Kini daw yano ra (kon kini ba morag ingon niini sa bisan kinsa) sa unang tan-aw. Ang pinakadako nga hagit anaa sa pagbalanse sa sentralisasyon sa datos ug proseso uban sa desentralisasyon. Sa usa ka bahin, ang sentralisasyon nagpamenos sa mga gasto (disk space, mga kahinguhaan sa CPU, paningkamot sa administrador, ug uban pa). Sa laing bahin, kini naglimite sa kagawasan sa mga "nangabang." Kini usa gayud sa mga aspeto sa "bifurcation" sa aplikasyon, diin ang developer kinahanglan nga dungan nga mokonsiderar sa aplikasyon sa pig-ot nga kahulugan (nagserbisyo sa usa ka "apartment") ug sa lapad nga kahulugan (nagserbisyo sa tanan nga "nangabang" sa dungan).
Usa ka ehemplo sa ingon nga "dilemma" mao ang impormasyon sa regulasyon ug reperensya. Natural lang, makatintal nga himuon kini nga komon para sa tanang "residente" sa usa ka bilding. Gitugotan niini ang pagtipig niini sa usa ka kopya ug pag-update niini para sa tanan sa usa ka higayon. Apan usahay, ang usa ka partikular nga residente nanginahanglan og piho nga mga pagbag-o. Katingad-an, kini mahitabo sa praktis, bisan para sa impormasyon nga gitino sa mga regulator (mga ahensya sa gobyerno). Kini naghatag og lisod nga pangutana: i-generalize ba o dili i-generalize? Makatintal, siyempre, nga himuon ang impormasyon nga heneral para sa tanan ug pribado para sa mga gusto niini. Apan kini mosangpot sa usa ka medyo komplikado nga implementasyon. Apan among gitrabaho kini...
Laing ehemplo mao ang disenyo sa regular nga mga proseso (gi-iskedyul, gisugdan sa usa ka sistema sa pagkontrol, ug uban pa). Sa usa ka bahin, mahimo kini nga ipatuman nga gilain alang sa matag lugar sa datos. Kini mas simple ug mas kombenyente. Bisan pa, sa laing bahin, ang ingon nga pino nga pagpatuman nagmugna og usa ka dako nga palas-anon sa sistema. Aron makunhuran kini nga palas-anon, kinahanglan nga ipatuman ang gipaambit nga mga proseso. Bisan pa, kini nanginahanglan labi ka maampingon nga disenyo.
Natural lang, kini nagpatunghag usa ka importanteng pangutana. Unsaon pagsiguro sa mga application developer ang multitenancy? Unsa ang kinahanglan nilang buhaton? Siyempre, maningkamot kami nga masiguro nga ang palas-anon sa mga isyu sa teknolohiya ug imprastraktura mahulog kutob sa mahimo sa abaga sa gihatag nga teknolohiya, nga magbilin sa application developer nga maghunahuna lamang sa mga termino sa lohika sa negosyo. Apan sama sa ubang importanteng mga isyu sa arkitektura, ang mga application developer kinahanglan nga adunay pagsabot kung giunsa paglihok ang multitenancy, ug kinahanglan ang pipila ka paningkamot sa panahon sa pagpalambo sa aplikasyon. Ngano? Tungod kay adunay mga aspeto nga dili awtomatikong matubag sa teknolohiya nga wala gikonsiderar ang semantika sa datos. Pananglitan, ang pagtino sa mga utlanan sa gipaambit nga impormasyon. Apan maningkamot kami nga ipadayon kini nga mga hagit nga labing gamay kutob sa mahimo. Ang mga pananglitan sa ingon nga mga implementasyon sa aplikasyon anaa na.
Usa ka importanteng aspeto sa pagpatuman sa multitenancy sa 1C:Enterprise mao ang paghimo nato og hybrid model diin ang usa ka aplikasyon mahimong mo-operate sa parehong multitenancy ug standard mode. Kini usa ka komplikado nga buluhaton ug hilisgutan sa usa ka lahi nga diskusyon.
Source: www.habr.com
