Mahitungod sa multitenancy

Ikasubo, kini nga termino walay maayo nga analogue sa Russian nga pinulongan. Ang Wikipedia naghatag hubad "multi-tenancy, multiple tenancy." Kini usahay gitawag nga "daghang pagpanag-iya." Kini nga mga termino mahimong medyo makalibog, tungod kay ang hilisgutan dili kinaiyanhon nga nalangkit sa pag-abang o pagpanag-iya. Kini usa ka pangutana sa arkitektura sa software ug organisasyon sa operasyon niini. Ug ang ulahi dili kaayo hinungdanon.

Nagsugod kami sa paghimo sa among pagsabot sa multitenancy dungan sa among pagsugod sa pagdesinyo ug pamaagi sa cloud (service) nga modelo sa trabaho sa 1C:Enterprise. Kini nahitabo pipila ka tuig na ang milabay. Ug sukad niadto padayon nga nagkalapad ang among pagsabot. Kanunay namong nadiskobrehan ang dugang ug mas bag-ong mga aspeto niini nga hilisgutan (pros, cons, kalisdanan, feature, etc.).

Mahitungod sa multitenancy

Usahay masabtan sa mga developer ang multitenancy isip usa ka yano nga hilisgutan: "aron ang datos sa daghang mga organisasyon nga matipigan sa usa ka database, kinahanglan nimo nga idugang ang usa ka kolum nga adunay identifier sa organisasyon sa tanan nga mga lamesa ug magbutang usa ka filter niini." Kami, siyempre, nagsugod usab sa among pagtuon sa isyu gikan niining higayona. Apan dali nilang naamgohan nga kini usa lamang ka paghawan (usab, sa paagi, dili sayon). Sa kinatibuk-an, kini usa ka "tibuok nasud".

Ang sukaranan nga ideya sa multitenancy mahimong gihulagway nga sama niini. Ang usa ka tipikal nga aplikasyon mao ang usa ka cottage nga gidisenyo aron ma-accommodate ang usa ka pamilya, nga naggamit sa imprastraktura niini (mga bungbong, atop, suplay sa tubig, pagpainit, ug uban pa). Ang aplikasyon sa multitenancy usa ka building sa apartment. Niini, ang matag pamilya naggamit sa parehas nga imprastraktura, apan ang imprastraktura mismo gipatuman alang sa tibuuk nga balay.

Maayo ba o daotan ang pamaagi sa multitenancy? Makita nimo ang lahi kaayo nga mga opinyon bahin niini. Daw wala gid sing β€œmaayo ukon malain”. Kinahanglan nimong itandi ang mga bentaha ug disbentaha sa konteksto sa mga piho nga buluhaton nga gisulbad. Apan kini usa ka lahi nga hilisgutan ...

Sa pinakasimple nga kahulugan niini, ang tumong sa multitenancy mao ang pagpakunhod sa gasto sa pagpadayon sa usa ka aplikasyon pinaagi sa "pag-sosyal" sa mga gasto sa imprastraktura. Parehas kini nga paglihok sama sa pagkunhod sa gasto sa usa ka aplikasyon pinaagi sa paggamit sa usa ka solusyon sa produksiyon (posible nga adunay pag-customize ug pagbag-o), kaysa pagsulat niini "sa pag-order." Lamang sa usa ka kaso mao ang kalamboan socialized, ug sa lain nga - pagpahimulos.

Dugang pa, gisubli namon, wala’y direktang link sa pamaagi sa pagbaligya. Ang multitenancy nga arkitektura mahimo usab nga magamit sa usa ka korporasyon o departamento sa IT nga imprastraktura aron ma-automate ang daghang parehas nga mga sanga ug naghupot sa mga negosyo.

Mahimo natong isulti nga ang multitenancy dili lamang usa ka butang sa pag-organisar sa pagtipig sa datos. Kini usa ka modelo kung giunsa ang aplikasyon naglihok sa kinatibuk-an (lakip ang usa ka hinungdanon nga bahin sa arkitektura niini, modelo sa pag-deploy niini, ug organisasyon sa pagpadayon niini).

Ang labing lisud ug makapaikag nga butang bahin sa multitenancy nga modelo, ingon sa amon, mao nga ang esensya sa aplikasyon nga "nag-bifurcate." Ang bahin sa pag-andar nagtrabaho sa piho nga mga lugar sa datos (mga apartment) ug "dili interesado" sa kamatuoran nga adunay mga residente sa ubang mga apartment. Ug ang uban nakasabut sa balay sa kinatibuk-an ug nagtrabaho alang sa tanan nga mga residente sa usa ka higayon. Sa samang higayon, ang naulahi dili makabaliwala sa kamatuoran nga kini, human sa tanan, bulag nga mga apartment, ug gikinahanglan aron maseguro ang gikinahanglan nga lebel sa granularity ug seguridad.

Sa 1C: Enterprise, ang multitenancy nga modelo gipatuman sa lebel sa daghang mga teknolohiya. Kini ang mga mekanismo sa 1C:Enterprise nga plataporma, ang mga mekanismo sa1C: Teknolohiya para sa mga solusyon sa pagmantala 1cFresh"Ug"1C: Teknolohiya sa pagpalambo sa solusyon 1cFresh", mekanismo BSP (mga librarya sa standard nga mga subsystem).

Ang matag usa niini nga mga butang nakatampo sa pagtukod sa kinatibuk-ang imprastraktura sa usa ka apartment nga bilding. Ngano nga kini gipatuman sa daghang mga teknolohiya, ug dili sa usa, pananglitan, sa usa ka plataporma? Una sa tanan, tungod kay ang pipila sa mga mekanismo, sa among opinyon, angay nga usbon alang sa usa ka piho nga kapilian sa pag-deploy. Apan sa kinatibuk-an, kini usa ka lisud nga pangutana, ug kanunay kita nga nag-atubang sa usa ka pagpili - sa unsang lebel nga mas maayo nga ipatuman kini o kana nga aspeto sa multitenancy.

Dayag, ang sukaranan nga bahin sa mga mekanismo kinahanglan nga ipatuman sa plataporma. Aw, pananglitan, ang aktuwal nga pagbulag sa datos. Dinhi ang mga tawo kasagaran magsugod sa paghisgot bahin sa multitenancy. Apan sa katapusan, ang multitenancy nga modelo "mibiyahe" pinaagi sa usa ka mahinungdanong bahin sa mga mekanismo sa plataporma ug gikinahanglan ang ilang paghashas, ​​ug sa pipila ka mga kaso, pag-usab sa paghunahuna.

Sa lebel sa plataporma, gipatuman namon ang eksakto nga sukaranan nga mga mekanismo. Gitugotan ka nila sa paghimo og mga aplikasyon nga nagdagan sa usa ka modelo nga multitenancy. Apan aron ang mga aplikasyon "magpuyo ug magtrabaho" sa ingon nga modelo, kinahanglan nimo nga adunay usa ka sistema sa pagdumala sa ilang "mga kalihokan sa kinabuhi". 1cAng mga bag-ong teknolohiya ug usa ka hiniusang hut-ong sa lohika sa negosyo sa lebel sa BSP maoy responsable niini. Sama sa usa ka apartment building ang imprastraktura naghatag sa mga residente sa tanan nga ilang gikinahanglan, mao nga ang 1cFresh nga mga teknolohiya naghatag sa tanan nga ilang gikinahanglan alang sa mga aplikasyon nga nagdagan sa usa ka multitenancy nga modelo. Ug aron ang mga aplikasyon maka-interact sa kini nga imprastraktura (nga wala’y hinungdanon nga mga pagbag-o), ang katugbang nga "mga konektor" gibutang sa kanila sa porma sa mga subsystem sa BSP.

Gikan sa punto sa panglantaw sa mga mekanismo sa plataporma, sayon ​​nga mamatikdan nga samtang kita makabaton og kasinatian ug pagpalambo sa cloud use case "1C: Enterprise," atong gipalapdan ang komposisyon sa mga mekanismo nga nalangkit niini nga arkitektura. Maghatag kita ug usa ka pananglitan. Sa modelo nga multitenancy, ang mga tahas sa mga partisipante sa serbisyo sa aplikasyon nagbag-o kaayo. Ang tahas (ang-ang sa responsibilidad) sa mga responsable sa pag-operate sa mga aplikasyon modako pag-ayo. Nanginahanglan sila nga adunay labi ka kusgan nga mga himan sa pagkontrol sa aplikasyon. Tungod kay ang mga tiggamit sa aplikasyon (mga residente) nagsalig una sa tanan nga tighatag nga ilang gitrabahoan. Aron mahimo kini, nagpatuman kami usa ka bag-o mekanismo sa profile sa seguridad. Kini nga mekanismo nagtugot sa mga tagdumala sa provider nga limitahan ang kagawasan sa mga developer sa aplikasyon sa gikinahanglan nga lebel sa seguridad - sa esensya, aron ihimulag ang operasyon sa aplikasyon alang sa matag tenant sulod sa usa ka sandbox.

Dili kaayo makaiikag ang arkitektura alang sa pagdumala sa mga aplikasyon nga naglihok sa multitenancy mode (unsay gipatuman sa 1cFresh ug BSP nga mga teknolohiya). Dinhi, kung itandi sa naandan nga modelo sa pag-deploy, ang mga kinahanglanon alang sa automation sa mga proseso sa pagdumala labi nga nadugangan. Adunay daghang mga ingon nga proseso: paghimo og bag-ong mga lugar sa datos ("mga apartment"), pag-update sa mga aplikasyon, pag-update sa kasayuran sa regulasyon, pag-backup, ug uban pa. Ug, siyempre, ang mga kinahanglanon alang sa lebel sa pagkakasaligan ug pagkaanaa nagkadaghan. Pananglitan, aron masiguro ang kasaligan nga interaksyon tali sa mga aplikasyon ug mga sangkap sa sistema sa pagkontrol, gipatuman namon ang teknolohiya sa sistema sa asynchronous nga tawag nga adunay garantiya nga paghatud.

Ang usa ka maliputon nga punto mao ang paagi sa pag-socialize sa datos ug mga proseso. Kini daw yano (kon kini daw sa usa ka tawo) lamang sa unang pagtan-aw. Ang pinakadako nga hagit mao ang balanse tali sa sentralisasyon sa datos ug mga proseso ug desentralisasyon. Sa usa ka bahin, ang sentralisasyon nagtugot kanimo sa pagpakunhod sa mga gasto (disk space, mga kapanguhaan sa processor, mga paningkamot sa tigdumala ...). Sa laing bahin, gilimitahan niini ang kagawasan sa "mga tenant". Kini mao gayud ang usa sa mga gutlo sa "bifurcation" sa aplikasyon, sa diha nga ang developer kinahanglan nga dungan nga maghunahuna mahitungod sa aplikasyon sa pig-ot nga diwa (pag-alagad sa usa ka "apartment") ug sa halapad nga diwa (pag-alagad sa tanan nga "mga tenant" sa makausa) .

Isip usa ka pananglitan sa ingon nga usa ka "dilemma," ang usa mahimong maghisgot sa kasayuran sa regulasyon ug pakisayran. Siyempre, adunay dakong tentasyon nga himoon kining komon sa tanang β€œmga saop” sa balay. Kini nagtugot kanimo sa pagtipig niini sa usa ka kopya ug pag-update niini alang sa tanan sa usa ka higayon. Apan mahitabo nga ang pipila ka mga residente nanginahanglan piho nga mga pagbag-o. Katingad-an, sa praktis kini mahitabo, bisan alang sa kasayuran nga gitino sa mga regulators (mga lawas sa gobyerno). Kini nahimo nga usa ka lisud nga pangutana: makig-uban o dili makig-uban? Makatintal, siyempre, ang paghimo sa impormasyon nga kinatibuk-an alang sa tanan ug pribado alang niadtong gusto niini. Ug kini nagdala na sa usa ka lisud kaayo nga pagpatuman. Apan kami nagtrabaho niini ...

Ang laing pananglitan mao ang disenyo sa pagpatuman sa mga regular nga proseso (gipatuman sa usa ka eskedyul, gisugdan sa control system, ug uban pa). Sa usa ka bahin, mahimo silang ipatuman alang sa matag lugar sa datos nga gilain. Kini mas sayon ​​ug mas sayon. Apan, sa laing bahin, ang ingon nga maayo nga granularity nagmugna sa usa ka dako nga load sa sistema. Aron makunhuran ang pagkarga, kinahanglan nimo nga ipatuman ang mga proseso sa sosyal. Apan nagkinahanglan sila ug mas mainampingong pagtuon.

Siyempre, kini nagpatunghag usa ka hinungdanon kaayo nga pangutana. Sa unsang paagi maseguro sa mga developer sa aplikasyon ang multitenancy? Unsa ang kinahanglan nilang buhaton alang niini? Siyempre, naningkamot kami sa pagsiguro nga ang palas-anon sa mga isyu sa teknolohiya ug imprastraktura mahulog kutob sa mahimo sa mga abaga sa gihatag nga teknolohiya, ug ang developer sa aplikasyon naghunahuna lamang sa mga termino sa mga buluhaton sa lohika sa negosyo. Apan sama sa ubang importanteng mga isyu sa arkitektura, ang mga nag-develop sa aplikasyon kinahanglang adunay pipila ka pagsabot sa pagtrabaho sa multitenancy nga modelo ug gikinahanglan ang pipila ka paningkamot sa paghimog mga aplikasyon. Ngano man? Tungod kay adunay mga punto nga ang teknolohiya dili makahatag awtomatiko nga wala magtagad sa mga semantiko sa datos. Pananglitan, ang parehas nga kahulugan sa mga utlanan sa sosyalisasyon sa impormasyon. Apan gipaningkamotan namon nga huptan nga gamay kini nga mga kalisdanan. Adunay na mga pananglitan sa pagpatuman sa maong mga aplikasyon.

Usa ka importante nga punto sa konteksto sa pagpatuman sa multitenancy sa 1C: Enterprise mao nga naghimo kami og hybrid nga modelo diin ang usa ka aplikasyon mahimong mag-operate sa multitenancy mode ug normal nga mode. Kini usa ka lisud kaayo nga buluhaton ug ang hilisgutan sa usa ka lahi nga diskusyon.

Source: www.habr.com

Idugang sa usa ka comment