{"id":55231,"date":"2020-01-16T00:00:00","date_gmt":"2020-01-15T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/pro-multitenancy"},"modified":"2020-02-18T14:03:19","modified_gmt":"2020-02-18T11:03:19","slug":"pro-multitenancy","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/pro-multitenancy","title":{"rendered":"Om multitenancy","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Tyv\u00e4rr har den h\u00e4r termen inget bra svenskt motsvarighet. \"Wikipedia\" ger <noindex><a rel=\"nofollow\" href=\"http:\/\/ru.wikipedia.org\/wiki\/%D0%9C%D1%83%D0%BB%D1%8C%D1%82%D0%B8%D0%B0%D1%80%D0%B5%D0%BD%D0%B4%D0%BD%D0%BE%D1%81%D1%82%D1%8C\">\u00f6vers\u00e4ttning<\/a><\/noindex> \"multitenancy, flera hyresg\u00e4ster\". Ibland kallas det \"flervals\u00e4garform\". Dessa termer kan vara n\u00e5got f\u00f6rvirrande, eftersom \u00e4mnet egentligen inte har att g\u00f6ra med varken hyra eller \u00e4gande. Det handlar helt enkelt om mjukvaruarkitektur och hur den underh\u00e5lls, vilket \u00e4r minst lika viktigt. <\/p>\n<p>Vi b\u00f6rjade formulera v\u00e5r f\u00f6rst\u00e5else f\u00f6r multitenancy samtidigt som vi b\u00f6rjade designa v\u00e5r strategi f\u00f6r den molnbaserade (tj\u00e4nstebaserade) modellen f\u00f6r \"1C:Enterprise\". Det var f\u00f6r flera \u00e5r sedan, och sedan dess har v\u00e5r f\u00f6rst\u00e5else st\u00e4ndigt utvidgats. Vi uppt\u00e4cker hela tiden nya aspekter av detta \u00e4mne (f\u00f6rdelar, nackdelar, utmaningar, s\u00e4rskildheter etc.). <\/p>\n<p><img decoding=\"async\" alt=\"Om multitenancy\" src=\"\/wp-content\/uploads\/2020\/01\/a14e60822b948ecd079722ed828f853f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nIbland ser utvecklare multitenancy som n\u00e5got ganska enkelt: \"F\u00f6r att data fr\u00e5n flera organisationer ska lagras i en och samma databas, beh\u00f6ver vi l\u00e4gga till en kolumn med organisationens ID i alla tabeller och s\u00e4tta en filter baserat p\u00e5 det.\" Det var ocks\u00e5 hur vi b\u00f6rjade utforska fr\u00e5gan. Men vi ins\u00e5g ganska snabbt att detta bara \u00e4r en del av ett mycket st\u00f6rre omr\u00e5de (som ocks\u00e5 \u00e4r ganska komplext). Detta \u00e4r egentligen \"ett helt land\". <\/p>\n<p>Huvidid\u00e9n bakom multitenancy kan beskrivas p\u00e5 f\u00f6ljande s\u00e4tt. En vanlig applikation \u00e4r ett hus, avsett f\u00f6r en enda familj som anv\u00e4nder dess infrastruktur (v\u00e4ggar, tak, vattenf\u00f6rs\u00f6rjning, uppv\u00e4rmning etc.). Men en multitenancy-applikation \u00e4r en flerfamiljsbyggnad. I den anv\u00e4nder varje familj samma infrastruktur, men infrastrukturen har utformats f\u00f6r hela byggnaden. <\/p>\n<p>\u00c4r metoden multitenancy bra eller d\u00e5lig? Det finns m\u00e5nga olika \u00e5sikter om detta. Det verkar som om det inte finns n\u00e5got som \u00e4r \"bra eller d\u00e5ligt\" i allm\u00e4nhet. Man m\u00e5ste j\u00e4mf\u00f6ra f\u00f6rdelar och nackdelar i kontexten av specifika problem som ska l\u00f6sas. Men det \u00e4r ett separat \u00e4mne... <\/p>\n<p>I sin enklaste f\u00f6rst\u00e5else \u00e4r syftet med multitenancy att minska kostnaderna f\u00f6r att uppr\u00e4tth\u00e5lla applikationen genom att \"dela\" infrastrukturen. Detta \u00e4r en liknande r\u00f6relse som att minska kostnaden f\u00f6r en applikation genom att anv\u00e4nda en standardl\u00f6sning (eventuellt med anpassning och f\u00f6rb\u00e4ttring), snarare \u00e4n att skriva \"p\u00e5 best\u00e4llning\". I det f\u00f6rsta fallet delas utvecklingen, medan det i det andra fallet handlar om driften. <\/p>\n<p>F\u00f6r att upprepa, det finns ingen direkt koppling h\u00e4r till f\u00f6rs\u00e4ljningsmetoden. Multitenancy-arkitekturen kan mycket v\u00e4l till\u00e4mpas i f\u00f6retags- eller myndighets-IT-infrastruktur f\u00f6r att automatisera ett stort antal liknande filialer eller dotterbolag. <\/p>\n<p>Man kan s\u00e4ga att multitenancy inte bara handlar om hur man organiserar datalagring. Det \u00e4r en helhetsmodell f\u00f6r applikationens arbete (inklusive en betydande del av dess arkitektur, distributionsmodellen och servicerutinerna). <\/p>\n<p>Det som \u00e4r mest komplext och intressant i multitenancy-modellen, som vi ser det, \u00e4r att sj\u00e4lva applikationens essens \"delas upp\". En del av funktionaliteten arbetar med specifika datadom\u00e4ner (l\u00e4genheter) och \"bryr sig inte\" om att det finns boende i andra l\u00e4genheter. Medan en annan del uppfattar hela byggnaden och arbetar f\u00f6r alla boende samtidigt. Samtidigt kan den senare inte abstrahera fr\u00e5n att det faktiskt \u00e4r separata l\u00e4genheter och att man m\u00e5ste s\u00e4kerst\u00e4lla den n\u00f6dv\u00e4ndiga niv\u00e5n av granularitet och s\u00e4kerhet. <\/p>\n<p>I \"1C:Enterprise\" implementeras multitenancy-modellen p\u00e5 flera niv\u00e5er av teknologier. Det handlar om mekanismerna i plattformen \"1C:Enterprise\", mekanismerna \"<noindex><a rel=\"nofollow\" href=\"http:\/\/www.1c.ru\/news\/info.jsp?id=16065\">1C:Teknik f\u00f6r publicering av l\u00f6sningar 1cFresh<\/a><\/noindex>\" och \"<noindex><a rel=\"nofollow\" href=\"http:\/\/www.1c.ru\/news\/info.jsp?id=15382\">1C:Teknik f\u00f6r utveckling av l\u00f6sningar 1cFresh<\/a><\/noindex>\", mekanismerna <noindex><a rel=\"nofollow\" href=\"http:\/\/v8.1c.ru\/libraries\/ssl\/index.htm\">BSP<\/a><\/noindex> (bibliotek med standardundersystem). <\/p>\n<p>Varje av dessa f\u00f6rem\u00e5l bidrar till att bygga den gemensamma infrastrukturen f\u00f6r ett flerbostadshus. Varf\u00f6r realiseras detta med flera teknologier ist\u00e4llet f\u00f6r en, till exempel, i plattformen? Framf\u00f6r allt f\u00f6r att vissa mekanismer, enligt v\u00e5r mening, \u00e4r helt rimliga att modifiera vid ett specifikt distributionsalternativ. Men som helhet \u00e4r detta en komplex fr\u00e5ga, och vi st\u00e4lls st\u00e4ndigt inf\u00f6r val \u2014 p\u00e5 vilken niv\u00e5 det \u00e4r b\u00e4st att implementera varje aspekt av multitenancy. <\/p>\n<p>Det \u00e4r uppenbart att den grundl\u00e4ggande delen av mekanismerna m\u00e5ste implementeras i plattformen. Till exempel, sj\u00e4lva uppdelningen av data. Det som man vanligtvis b\u00f6rjar diskutera n\u00e4r det handlar om multitenancy. Men i slut\u00e4ndan har multitenancy-modellen \"k\u00f6rt\" genom en betydande del av plattformens mekanismer och kr\u00e4vt deras f\u00f6rb\u00e4ttringar, och i vissa fall \u00e4ven ompr\u00f6vningar. <\/p>\n<p>P\u00e5 plattformsniv\u00e5 har vi implementerat grunderna. De m\u00f6jligg\u00f6r skapandet av applikationer som fungerar i en multitenancy-modell. Men f\u00f6r att applikationerna \"ska leva och fungera\" i en s\u00e5dan modell beh\u00f6vs ett system f\u00f6r att hantera deras \"livscykel\". Det ansvarar teknologierna 1cFresh och det standardiserade lagret f\u00f6r aff\u00e4rslogik p\u00e5 BSP-niv\u00e5. Precis som i ett flerfamiljshus ser infrastrukturen till att hyresg\u00e4sterna f\u00e5r allt de beh\u00f6ver, s\u00e5 ser teknologierna 1cFresh till att applikationerna, som fungerar i multitenancy-modellen, f\u00e5r allt sitt n\u00f6dv\u00e4ndiga. F\u00f6r att applikationerna ska kunna interagera med denna infrastruktur (utan st\u00f6rre anpassningar) placeras l\u00e4mpliga \"kontaktpunkter\" i form av BSP-system. <\/p>\n<p>N\u00e4r det g\u00e4ller plattforms mekanismer \u00e4r det l\u00e4tt att se att i takt med att vi f\u00e5r mer erfarenhet och utvecklar den molnbaserade anv\u00e4ndningen av \"1C:Enterprise\" ut\u00f6kar vi upps\u00e4ttningen av de mekanismer som ing\u00e5r i denna arkitektur. L\u00e5t oss ge ett exempel. I multitenancy-modellen f\u00f6r\u00e4ndras rollf\u00f6rdelningen mellan deltagarna i applikationsunderh\u00e5llet avsev\u00e4rt. Ansvarsniv\u00e5n f\u00f6r dem som ansvarar f\u00f6r driften av applikationerna \u00f6kar betydligt. De har nu ett st\u00f6rre behov av kraftfulla verktyg f\u00f6r applikations\u00f6vervakning. Eftersom applikationsanv\u00e4ndarna (hyresg\u00e4sterna) fr\u00e4mst litar p\u00e5 den leverant\u00f6r de arbetar med. F\u00f6r detta har vi implementerat en ny i version 8.3. <noindex><a rel=\"nofollow\" href=\"https:\/\/wonderland.v8.1c.ru\/blog\/profili-bezopasnosti\/?sphrase_id=12972\">s\u00e4kerhetsprofilmekanism<\/a><\/noindex>. Denna mekanism g\u00f6r det m\u00f6jligt f\u00f6r tj\u00e4nsteleverant\u00f6rens administrat\u00f6rer att begr\u00e4nsa applikationsutvecklarnas frihet till en n\u00f6dv\u00e4ndig s\u00e4kerhetsniv\u00e5 \u2013 i praktiken att isolera applikationens arbete f\u00f6r varje hyresg\u00e4st inom vissa ramar av en \"sandl\u00e5da\". <\/p>\n<p>Arkitekturen f\u00f6r att hantera applikationer som k\u00f6rs i ett multitenancy-l\u00e4ge (vilket realiseras i teknologier som 1cFresh och BSP) \u00e4r ocks\u00e5 av stort intresse. H\u00e4r, j\u00e4mf\u00f6rt med en vanlig distributionsmodell, \u00f6kar kraven p\u00e5 automatiseringen av hanteringsprocesser betydligt. Det finns tiotals s\u00e5dana processer: att skapa nya datadom\u00e4ner (\"l\u00e4genheter\"), uppdatera applikationer, uppdatera regulatory information, s\u00e4kerhetskopiering, etc. Och sj\u00e4lvklart \u00f6kar kraven p\u00e5 p\u00e5litlighet och tillg\u00e4nglighet. Till exempel har vi implementerat en teknik f\u00f6r asynkron anropssystem med garanterad leverans f\u00f6r att s\u00e4kerst\u00e4lla tillf\u00f6rlitlig interaktion mellan applikationerna och systemhanteringskomponenterna. <\/p>\n<p>Ett mycket subtilt moment \u00e4r s\u00e4ttet att dela upp data och processer. Det kan verka enkelt (om n\u00e5gon tycker s\u00e5) bara vid f\u00f6rsta p\u00e5seende. Den st\u00f6rsta sv\u00e5righeten \u00e4r balansen mellan centralisering av data och processer och decentralisering. \u00c5 ena sidan till\u00e5ter centralisering att minska kostnader (diskutrymme, processorresurser, insatser fr\u00e5n administrat\u00f6rer\u2026). \u00c5 andra sidan begr\u00e4nsar det \"inv\u00e5narnas\" frihet. Det \u00e4r just en av punkterna f\u00f6r \"klyvningen\" av applikationen, n\u00e4r utvecklaren m\u00e5ste t\u00e4nka p\u00e5 applikationen b\u00e5de i en sn\u00e4v mening (som betj\u00e4nar en \"l\u00e4genhet\") och i en bred mening (som betj\u00e4nar alla \"inv\u00e5nare\" p\u00e5 en g\u00e5ng). <\/p>\n<p>Ett exempel p\u00e5 en s\u00e5dan \"dilemma\" kan vara normativ information. Det \u00e4r naturligtvis frestande att g\u00f6ra den gemensam f\u00f6r alla \"inv\u00e5nare\" i huset. Det till\u00e5ter b\u00e5de att lagra den i ett exemplar och att uppdatera den direkt f\u00f6r alla. Men det kan h\u00e4nda att n\u00e5gon inv\u00e5nare beh\u00f6ver specifika \u00e4ndringar. Konstigt nog, men i praktiken \u00e4r detta vanligt, \u00e4ven f\u00f6r information som specificeras av regulatorer (statliga organ). Det st\u00e4ller en sv\u00e5r fr\u00e5ga: att dela upp eller inte dela upp? Det \u00e4r f\u00f6rvisso lockande att g\u00f6ra information gemensam f\u00f6r alla och privat f\u00f6r dem som vill ha det. Men det leder verkligen till en komplex implementering. Men vi arbetar med detta... <\/p>\n<p>Ett annat exempel \u00e4r utformningen av implementation av regelbundna processer (som utf\u00f6rs efter schema, initieras av styrsystemet, etc.). \u00c5 ena sidan kan de implementeras f\u00f6r varje datakategori separat. Det \u00e4r enklare och mer bekv\u00e4mt. Men \u00e5 andra sidan skapar en s\u00e5dan fin granularitet en stor belastning p\u00e5 systemet. F\u00f6r att minska belastningen b\u00f6r gemensamma processer implementeras. Men de kr\u00e4ver en mer noggrann bearbetning. <\/p>\n<p>Sj\u00e4lvklart v\u00e4cks en ganska betydande fr\u00e5ga. Hur ska applikationsutvecklare s\u00e4kerst\u00e4lla drift i multitenancy-l\u00e4ge? Vad beh\u00f6ver de g\u00f6ra f\u00f6r det? Naturligtvis str\u00e4var vi efter att den tekniska och infrastrukturella belastningen i st\u00f6rsta m\u00f6jliga utstr\u00e4ckning ligger p\u00e5 den levererade teknologin, s\u00e5 att applikationsutvecklaren enbart koncentrerar sig p\u00e5 aff\u00e4rslogikens uppgifter. Men precis som med andra viktiga arkitekturella fr\u00e5gor beh\u00f6ver applikationsutvecklare ha en viss f\u00f6rst\u00e5else f\u00f6r hur multitenancy-modellen fungerar och vissa anstr\u00e4ngningar kommer att kr\u00e4vas vid utvecklingen av applikationer. Varf\u00f6r? F\u00f6r det finns aspekter som teknologin inte kan hantera automatiskt utan att ta h\u00e4nsyn till datans semantik. Till exempel definitionen av gr\u00e4nserna f\u00f6r informationsgemenskap. Men vi str\u00e4var efter att dessa sv\u00e5righeter ska vara sm\u00e5. Exempel p\u00e5 implementation av s\u00e5dana applikationer finns redan. <\/p>\n<p>En viktig punkt i samband med genomf\u00f6randet av multitenancy i \"1C:Enterprise\" \u00e4r att vi skapar en hybridmodell d\u00e4r en applikation kan fungera s\u00e5v\u00e4l i multitenancy-l\u00e4ge som i vanligt l\u00e4ge. Detta \u00e4r en ganska komplicerad uppgift och ett \u00e4mne f\u00f6r separat diskussion.<br \/>\n<br \/>K\u00e4lla: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/1c\/blog\/326654\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0443 \u044d\u0442\u043e\u0433\u043e \u0442\u0435\u0440\u043c\u0438\u043d\u0430 \u043d\u0435\u0442 \u0445\u043e\u0440\u043e\u0448\u0435\u0433\u043e \u0440\u0443\u0441\u0441\u043a\u043e\u044f\u0437\u044b\u0447\u043d\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u043e\u0433\u0430. \u00ab\u0412\u0438\u043a\u0438\u043f\u0435\u0434\u0438\u044f\u00bb \u0434\u0430\u0435\u0442 \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u00ab\u043c\u0443\u043b\u044c\u0442\u0438\u0430\u0440\u0435\u043d\u0434\u043d\u043e\u0441\u0442\u044c, \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0430\u0440\u0435\u043d\u0434\u0430\u00bb. \u0418\u043d\u043e\u0433\u0434\u0430 \u044d\u0442\u043e \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u00ab\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u0432\u043b\u0430\u0434\u0435\u043d\u0438\u0435\u043c\u00bb. \u042d\u0442\u0438 \u0442\u0435\u0440\u043c\u0438\u043d\u044b \u043c\u043e\u0433\u0443\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0443\u0442\u0430\u0442\u044c, \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u0440\u0435\u0434\u043c\u0435\u0442 \u043d\u0435 \u0441\u0432\u044f\u0437\u0430\u043d \u043f\u043e \u0441\u0443\u0442\u0438 \u043d\u0438 \u0441 \u0430\u0440\u0435\u043d\u0434\u043e\u0439, \u043d\u0438 \u0441 \u0432\u043b\u0430\u0434\u0435\u043d\u0438\u0435\u043c. \u042d\u0442\u043e \u0432\u043e\u043f\u0440\u043e\u0441 \u0438\u043c\u0435\u043d\u043d\u043e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0438 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0435\u0433\u043e \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438. \u041f\u0440\u0438\u0447\u0435\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u043d\u0435 \u043c\u0435\u043d\u0435\u0435 \u0432\u0430\u0436\u043d\u043e. \u041c\u044b \u043d\u0430\u0447\u0430\u043b\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":55232,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-55231","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0443 \u044d\u0442\u043e\u0433\u043e \u0442\u0435\u0440\u043c\u0438\u043d\u0430 \u043d\u0435\u0442 \u0445\u043e\u0440\u043e\u0448\u0435\u0433\u043e \u0440\u0443\u0441\u0441\u043a\u043e\u044f\u0437\u044b\u0447\u043d\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u043e\u0433\u0430.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/pro-multitenancy\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u0440\u043e multitenancy | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0443 \u044d\u0442\u043e\u0433\u043e \u0442\u0435\u0440\u043c\u0438\u043d\u0430 \u043d\u0435\u0442 \u0445\u043e\u0440\u043e\u0448\u0435\u0433\u043e \u0440\u0443\u0441\u0441\u043a\u043e\u044f\u0437\u044b\u0447\u043d\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u043e\u0433\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/pro-multitenancy\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-01-15T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:03:19+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Om multitenancy | ProHoster","description":"Tyv\u00e4rr finns det inget bra svenskt motsvarande f\u00f6r denna term.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/pro-multitenancy","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u0440\u043e multitenancy | ProHoster","og:description":"\u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0443 \u044d\u0442\u043e\u0433\u043e \u0442\u0435\u0440\u043c\u0438\u043d\u0430 \u043d\u0435\u0442 \u0445\u043e\u0440\u043e\u0448\u0435\u0433\u043e \u0440\u0443\u0441\u0441\u043a\u043e\u044f\u0437\u044b\u0447\u043d\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u043e\u0433\u0430.","og:url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/pro-multitenancy","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-01-15T21:00:00+00:00","article:modified_time":"2020-02-18T11:03:19+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"55231","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:47:39","updated":"2022-09-29 20:30:21","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/55231","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=55231"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/55231\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/55232"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=55231"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=55231"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=55231"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}