Iwwer Multitenancy

Leider huet dëse Begrëff net eng gutt russesch-Sprooch Analog. Wikipedia gëtt Iwwersetzung "Multi-Locatioun, Multiple Locatioun." Dëst gëtt heiansdo "Multiple Proprietär" genannt. Dës Begrëffer kënnen e bëssen duerchernee sinn, well d'Thema net inherent mat der Loyer oder dem Besëtz assoziéiert ass. Dëst ass eng Fro vun der Softwarearchitektur an der Organisatioun vu senger Operatioun. An déi lescht ass net manner wichteg.

Mir hunn ugefaang eise Verständnis vu Multitenancy ze formuléieren zur selwechter Zäit wéi mir ugefaang hunn eng Approche fir de Cloud (Service) Modell vun der Aarbecht an 1C:Enterprise ze designen. Dëst war virun e puer Joer. An zënterhier ass eist Verständnis kontinuéierlech erweidert. Mir entdecken ëmmer méi nei Aspekter vun dësem Thema (Pros, Cons, Schwieregkeeten, Features, asw.).

Iwwer Multitenancy

Heiansdo verstinn d'Entwéckler Multitenancy als e ganz einfacht Thema: "Fir datt d'Donnéeë vu verschiddenen Organisatiounen an enger Datebank gespäichert ginn, musst Dir eng Kolonn mat der Organisatiounsidentifizéierer op all Dëscher addéieren an e Filter drop setzen." Mir hunn natierlech och vun dësem Moment un d'Etude vun der Fro ugefaangen. Awer si hu séier gemierkt datt dëst nëmmen eng Clearing war (och iwwregens net einfach). Am Allgemengen ass dëst e "ganz Land".

D'Basis Iddi vu Multitenanz kann esou eppes beschriwwe ginn. Eng typesch Applikatioun ass e Gîte entworf fir eng Famill z'empfänken, déi seng Infrastruktur benotzt (Maueren, Daach, Waasserversuergung, Heizung, asw.). Eng Multitenancy Applikatioun ass en Appartementsgebai. An et benotzt all Famill déi selwecht Infrastruktur, awer d'Infrastruktur selwer ass fir dat ganzt Haus ëmgesat.

Ass d'Multitenancy Approche gutt oder schlecht? Dir kënnt ganz ënnerschiddlech Meenungen doriwwer fannen. Et schéngt guer keng "gutt oder schlecht" ze ginn. Dir musst d'Virdeeler an Nodeeler am Kontext vun de spezifesche Aufgaben vergläichen, déi geléist ginn. Awer dëst ass en separat Thema ...

A sengem einfachste Sënn ass d'Zil vun der Multitenancy d'Käschte fir d'Erhalen vun enger Applikatioun ze reduzéieren andeems d'Infrastrukturkäschte "sozialiséieren". Dëst ass déi selwecht Bewegung wéi d'Käschte vun enger Applikatioun ze reduzéieren andeems Dir eng Produktiounsléisung benotzt (méiglecherweis mat Personnalisatioun a Modifikatioun), anstatt et "ze bestellen." Nëmmen an engem Fall ass d'Entwécklung sozialiséiert, an deen aneren - Ausbeutung.

Ausserdeem, widderhuelen mir, et gëtt keen direkten Link op d'Methode vum Verkaf. Multitenancy Architektur kann och an enger Firmen oder Departementer IT Infrastruktur benotzt ginn fir eng grouss Zuel vun ähnlechen Filialen an Holdingsfirmen ze automatiséieren.

Mir kënne soen datt Multitenancy net nëmmen eng Saach vun der Organisatioun vun Datelagerung ass. Dëst ass e Modell wéi d'Applikatioun als Ganzt funktionnéiert (inklusiv e groussen Deel vu senger Architektur, sengem Deploymentmodell a senger Ënnerhaltorganisatioun).

Déi schwieregst an interessantst Saach iwwer de Multitenancy Modell, et schéngt eis, ass datt d'Essenz vun der Applikatioun "bifurcéiert". En Deel vun der Funktionalitéit schafft mat spezifeschen Dateberäicher (Appartementer) an ass "net interesséiert" an der Tatsaach, datt et Awunner an aneren Appartementer sinn. An e puer gesinn d'Haus als e Ganzt a schaffe fir all Awunner op eemol. Zur selwechter Zäit kann déi lescht d'Tatsaach net ignoréieren datt dëst schliisslech separat Appartementer sinn, an et ass néideg fir den néidege Niveau vu Granularitéit a Sécherheet ze garantéieren.

Am 1C:Enterprise gëtt de Multitenancy Modell um Niveau vun verschiddenen Technologien ëmgesat. Dëst sinn d'Mechanismen vun der 1C:Enterprise Plattform, d'Mechanismen vun1C: Technologie fir publizéiert Léisungen 1cFresh"An"1C: Léisung Entwécklung Technologie 1cFresh", Mechanismen BSP (Bibliothéike vu Standardsubsystemer).

All eenzel vun dësen Elementer dréit zur Konstruktioun vun der Gesamtinfrastruktur vun engem Appartementsgebai bäi. Firwat gëtt dat a verschiddenen Technologien ëmgesat, an net an enger, zum Beispill an enger Plattform? Éischt vun all, well e puer vun de Mechanismen, eiser Meenung no, sinn ganz adäquat fir eng spezifesch Détachement Optioun ze änneren. Awer am Allgemengen ass dëst eng schwiereg Fro, a mir si stänneg mat engem Choix konfrontéiert - op wéi engem Niveau ass et besser fir dësen oder dësen Aspekt vun der Multitenancy ëmzesetzen.

Natierlech muss de Basisdeel vun de Mechanismen an der Plattform ëmgesat ginn. Gutt, zum Beispill, déi tatsächlech Datetrennung. Dëst ass wou d'Leit normalerweis iwwer Multitenancy schwätzen. Awer um Enn ass de Multitenancy-Modell "reesen" duerch e wesentlechen Deel vun de Mechanismen vun der Plattform an erfuerdert hir Verfeinerung, an an e puer Fäll iwwerdenken.

Um Plattformniveau hu mir genau d'Basismechanismen ëmgesat. Si erlaben Iech Uwendungen ze kreéieren déi an engem Multitenancy Modell lafen. Awer fir datt Applikatiounen an esou engem Modell "liewen a schaffen", musst Dir e System hunn fir hir "Liewensaktivitéiten" ze managen. 1cFrësch Technologien an eng vereenegt Geschäftslogikschicht um BSP Niveau sinn dofir verantwortlech. Just wéi an engem Appartementsgebai d'Infrastruktur d'Awunner alles liwwert wat se brauchen, sou liwweren 1cFresh Technologien alles wat se brauchen fir Uwendungen déi an engem Multitenancy Modell lafen. A fir datt d'Applikatioune mat dëser Infrastruktur interagéiere kënnen (ouni wesentlech Ännerungen), ginn déi entspriechend "Stecker" an hinnen a Form vu BSP-Subsystemer gesat.

Aus der Siicht vu Plattformmechanismus ass et einfach ze bemierken datt wéi mir Erfahrung gewannen an de Cloud Benotzungsfall "1C: Enterprise" entwéckelen, mir erweideren d'Zesummesetzung vun de Mechanismen, déi an dëser Architektur involvéiert sinn. Loosst eis ee Beispill ginn. Am Multitenancy Modell änneren d'Rollen vun den Applikatiounsservice Participanten wesentlech. D'Roll (Niveau vun der Verantwortung) vun deene Verantwortlech fir d'Operatioun vun Uwendungen erhéicht wesentlech. Et gouf néideg fir si méi mächteg Applikatiounskontrollinstrumenter ze hunn. Well Applikatioun Benotzer (Awunner) Vertrauen als éischt de Provider mat deem se schaffen. Fir dëst ze maachen, hu mir eng nei ëmgesat Sécherheet Profil Mechanismus. Dëse Mechanismus erlaabt Provider Administrateuren d'Fräiheet vun Applikatioun Entwéckler op déi néideg Niveau vun Sécherheet ze limitéieren - am Wesentlechen, d'Operatioun vun der Applikatioun fir all Mieter bannent enger bestëmmter Sandkëscht ze isoléieren.

Net manner interessant ass d'Architektur fir Uwendungen ze managen déi am Multitenancy Modus operéieren (wat an 1cFresh a BSP Technologien ëmgesat gëtt). Hei, am Verglach zum konventionellen Deployment Modell, sinn d'Ufuerderunge fir d'Automatiséierung vu Gestiounsprozesser wesentlech erhéicht. Et ginn Dosende vu sou Prozesser: Schafung vun neien Dateberäicher ("Appartementer"), Aktualiséierung vun Uwendungen, Aktualiséierung vun der reglementarescher Informatioun, Backups, etc. An, natierlech, ginn d'Ufuerderunge fir den Niveau vun der Zouverlässegkeet an der Disponibilitéit erop. Zum Beispill, fir zouverlässeg Interaktioun tëscht Uwendungen a Kontrollsystemkomponenten ze garantéieren, hu mir asynchrone Call System Technologie mat garantéierte Liwwerung implementéiert.

E ganz subtile Punkt ass de Wee fir Daten a Prozesser ze sozialiséieren. Et schéngt einfach (wann et engem schéngt) nëmmen op den éischte Bléck. Déi gréissten Erausfuerderung ass d'Gläichgewiicht tëscht Zentraliséierung vun Daten a Prozesser an Dezentraliséierung. Engersäits, Zentraliséierung erlaabt Iech Käschten ze reduzéieren (Plaz Plaatz, Prozessor Ressourcen, Administrateur Efforten ...). Op der anerer Säit limitéiert et d'Fräiheet vun de "Locatairen". Dëst ass genau ee vun de Momenter vun der "Bifurcatioun" vun der Applikatioun, wann den Entwéckler gläichzäiteg iwwer d'Applikatioun am schmuele Sënn muss denken (déngt een "Appartement") an am breede Sënn (déngt all "Locataire" gläichzäiteg) .

Als Beispill vun esou engem "Dilemma" kann een reglementaresche a Referenz Informatiounen zitéieren. Natierlech gëtt et eng grouss Versuchung et fir all "Mieter" vum Haus gemeinsam ze maachen. Dëst erlaabt Iech et an enger Kopie ze späicheren an et fir jiddereen op eemol ze aktualiséieren. Mä et geschitt, datt e puer Awunner spezifesch Ännerungen brauchen. Komesch genuch, an der Praxis geschitt dëst, och fir Informatioun déi vun de Reglementer (Regierungsorganer) spezifizéiert ass. Dëst stellt sech als eng schwiereg Fro eraus: sozialiséieren oder net sozialiséieren? Et ass verlockend, natierlech, d'Informatioun allgemeng fir jiddereen ze maachen a privat fir déi, déi se wëllen. An dat féiert schonn zu enger ganz schwéierer Ëmsetzung. Awer mir schaffen drun ...

En anert Beispill ass den Design vun der Ëmsetzung vu reguläre Prozesser (ausgefouert op engem Zäitplang, initiéiert vum Kontrollsystem, etc.). Engersäits kënne se fir all Dateberäich separat ëmgesat ginn. Et ass méi einfach a méi bequem. Awer op der anerer Säit erstellt sou fein Granularitéit eng grouss Laascht op de System. Fir d'Laascht ze reduzéieren, musst Dir sozialiséiert Prozesser ëmsetzen. Awer si erfuerderen méi virsiichteg Studie.

Natierlech stellt dat eng ganz wichteg Fro op. Wéi kënne Applikatioun Entwéckler Multitenancy garantéieren? Wat musse se dofir maachen? Natierlech beméie mir eis fir sécherzestellen datt d'Belaaschtung vun technologeschen an Infrastrukturproblemer sou vill wéi méiglech op d'Schëllere vun der geliwwerter Technologie fällt, an den Applikatiounsentwéckler denkt nëmmen a punkto Geschäftslogik Aufgaben. Awer wéi mat anere wichtegen architektoneschen Themen, mussen d'Applikatiounsentwéckler e bësse Verständnis hunn fir am Multitenancy-Modell ze schaffen an e bëssen Effort wäert erfuerderlech sinn wann Dir Uwendungen entwéckelen. Firwat? Well et sinn Punkten déi d'Technologie net automatesch liwwert ouni d'Semantik vun den Donnéeën ze berücksichtegen. Zum Beispill, déi selwecht Definitioun vun de Grenze vun Informatiounen Sozialiséierung. Mä mir probéieren dës Schwieregkeeten kleng ze halen. Et gi scho Beispiller vun der Ëmsetzung vun esou Applikatiounen.

E wichtege Punkt am Kontext vun der Ëmsetzung vun Multitenancy an 1C: Enterprise ass datt mir en Hybridmodell erstellen an deem eng Applikatioun souwuel am Multitenancy Modus wéi och am normale Modus operéiere kann. Dëst ass eng ganz schwéier Aufgab an d'Thema vun enger separater Diskussioun.

Source: will.com

Setzt e Commentaire