A több-bérlős működés vagy multitenancy olyan szoftverarchitektúra, amelyben egyetlen példányban futó szoftver működik egy szerveren, és több bérlőt szolgál ki. Az ilyen módon tervezett rendszerek „megosztottak”, nem pedig „dedikáltak” vagy „elszigeteltek”. A bérlő olyan felhasználói csoport, amely közös hozzáféréssel rendelkezik a szoftverpéldányhoz, meghatározott jogosultságokkal.

Több-bérlős architektúra esetén a szoftveralkalmazás úgy van kialakítva, hogy minden bérlő számára elkülönített részt biztosítson ugyanabból a példányból — beleértve az adatokat, a konfigurációt, a felhasználókezelést, a bérlőre jellemző egyedi funkciókat és a nem funkcionális követelményeket. A több-bérlős működés ellentétben áll a többpéldányos architektúrákkal, ahol külön szoftverpéldányok működnek az egyes bérlők kiszolgálására.

Egyes szakértők a több-bérlős működést a felhőalapú számítástechnika fontos jellemzőjének tartják.

Elterjedése

A több-bérlős alkalmazások története

A több-bérlős alkalmazások három szolgáltatástípusból fejlődtek ki, illetve ezek bizonyos jellemzőit egyesítik:

Időosztás: Az 1960-as évektől kezdve a vállalatok helyet és feldolgozási kapacitást béreltek nagyszámítógépeken, hogy csökkentsék számítási költségeiket. Gyakran meglévő alkalmazásokat is újrahasználtak, mindössze egy külön mezővel a bejelentkezési képernyőn, ahol meg lehetett adni az ügyfélfiók azonosítóját. Ezen azonosító alapján a nagyszámítógép elszámolási rendszere az egyes ügyfeleknek felszámíthatta a ténylegesen felhasznált CPU-, memória-, valamint lemez- vagy szalagos tárhelyhasználatot.

Hosztolt alkalmazások: Az 1990-es évektől a hagyományos alkalmazásszolgáltatók meglévő alkalmazásokat üzemeltettek ügyfeleik számára. Az alapul szolgáló alkalmazás korlátaitól függően az alkalmazásszolgáltatóknak külön gépeken kellett futtatniuk az alkalmazásokat, ha több példány nem volt futtatható ugyanazon a fizikai gépen, vagy külön folyamatként kellett kezelniük őket. A több-bérlős alkalmazások érettebb architektúrát képviselnek,What Is The SaaS Architecture Maturity Model? Forbes, 2019. november 20. amely hasonló szolgáltatást tesz lehetővé alacsonyabb üzemeltetési költséggel.

Webalkalmazások: A népszerű, fogyasztóknak szánt webalkalmazások, például a Hotmail, egyetlen alkalmazáspéldánnyal szolgálták ki az összes ügyfelet. A több-bérlős alkalmazások ennek a modellnek a természetes továbbfejlődését jelentik, mivel további testreszabási lehetőségeket kínálnak felhasználói csoportok számára, például ugyanazon ügyfélszervezeten belül.

Különbség a virtualizációhoz képest

Több-bérlős környezetben több ügyfél ugyanazt az alkalmazást használja, ugyanazon az operációs rendszeren, ugyanazon a hardveren, ugyanazzal az adattárolási mechanizmussal. Az ügyfelek közötti elkülönítés az alkalmazás tervezése során valósul meg, így az ügyfelek nem osztják meg egymással, és nem is látják egymás adatait. Ez összevethető a virtualizációval, ahol az összetevőket úgy alakítják át, hogy minden ügyfél alkalmazása úgy tűnjön, mintha külön virtuális gépen futna. The silly debate over multitenancy

Versenyelőnyként való megkülönböztetés

Egyes vállalatok aktívan népszerűsítik a több-bérlős működés elvét, és versenyelőnyként használják azt. A több-bérlős működés alkalmazása napról napra növekszik.Software as a service: The next big thing ComputerWorld, 2006. március 23.

A több-bérlős működés gazdasági szempontjai

Költségmegtakarítás

A több-bérlős működés lehetővé teszi a költségmegtakarítást azon alapvető méretgazdaságosságon felül, amely az informatikai erőforrások egyetlen működési egységbe történő összevonásából származik. Egy alkalmazáspéldány általában bizonyos mennyiségű memória- és feldolgozási többletterheléssel jár, amely jelentős lehet, ha sok ügyfélre kell külön-külön fenntartani, különösen akkor, ha az ügyfelek kisméretűek.

A több-bérlős működés csökkenti ezt a többletterhelést azáltal, hogy sok ügyfél között osztja meg. További költségmegtakarítás származhat az alapul szolgáló szoftverek, például az operációs rendszerek és az adatbázis-kezelő rendszerek licencköltségeiből. Egyszerűen fogalmazva: ha mindent egyetlen szoftverpéldányon lehet futtatni, akkor csak egy szoftverlicencet kell megvásárolni.

A költségmegtakarítást azonban ellensúlyozhatja az egyetlen példány skálázásának nehézsége, amikor a kereslet növekszik. Egyetlen szerveren futó példány teljesítményének növelése csak gyorsabb hardver beszerzésével lehetséges, például gyorsabb CPU-k, több memória és gyorsabb lemezrendszerek vásárlásával. Ezek a költségek általában gyorsabban növekednek, mint akkor, ha a terhelést több, összességében hasonló kapacitású szerver között osztanák el. Emellett a több-bérlős rendszerek fejlesztése összetettebb, és a biztonsági tesztelés is szigorúbb, mivel több ügyfél adatai ugyanabban a rendszerben találhatók.

Összetettség

A további testreszabási lehetőségek összetettsége és a bérlőnkénti metaadatok karbantartásának szükségessége miatt a több-bérlős alkalmazások nagyobb fejlesztési ráfordítást igényelnek. Figyelembe kell venni például a vektoralapú adatsorrendezést, a titkosítható algoritmikus infrastruktúrát és a virtualizált vezérlőfelületeket.

Kiadáskezelés

A több-bérlős működés egyszerűsíti a kiadáskezelés folyamatát. Egy hagyományos kiadáskezelési folyamatban a kód- és adatbázis-módosításokat tartalmazó csomagokat az ügyfelek asztali gépeire és/vagy szervereire terjesztik. Egyetlen példány esetén ez ügyfelenként egy szervergépet jelentene. Ezeket a csomagokat ezután minden egyes gépen külön kell telepíteni. A több-bérlős modellben a csomagot általában csak egyetlen szerverre kell telepíteni. Ez jelentősen egyszerűsíti a kiadáskezelési folyamatot, és a méretezés többé nem függ az ügyfelek számától.

Ugyanakkor a több-bérlős működés növeli az új kiadás alkalmazásával járó kockázatokat és hatásokat. Mivel egyetlen szoftverpéldány több bérlőt szolgál ki, az adott példány frissítése minden bérlőnél leállást okozhat, még akkor is, ha a frissítést csak egyetlen bérlő kérte, vagy csak neki hasznos. Emellett az új kiadás alkalmazásából eredő egyes hibák és problémák más bérlők személyre szabott alkalmazásnézetében is megjelenhetnek. Az esetleges leállási idő miatt a kiadás alkalmazásának időpontja több bérlő használati időbeosztásától is függhet.

Bevált gyakorlatok

Marc Brooker szerint több-bérlős architektúrában az egymástól független és egymással nem korreláló munkaterheléseket célszerű együtt csoportosítani. Ennek oka, hogy a különböző igényekkel és mintázatokkal rendelkező munkaterhelések keverése elrejtheti az egyes munkaterhelések saját mintázatait. A munkaterhelések csoportosítása csökkenti a teljes rendszer csúcsterhelésének és átlagos terhelésének arányát; az egyes munkaterhelések csúcsidőben több erőforrást használhatnak anélkül, hogy jelentősen növelnék a rendszer teljes költségszerkezetét, ezáltal javítva a költséghatékonyságot. Megjegyzendő, hogy ugyanazon alkalmazásból, ügyféltől vagy iparágból származó több munkaterhelés általában egyetlen munkaterhelésként viselkedik.

Követelmények

Testreszabás

A több-bérlős alkalmazásoktól általában elvárják, hogy magas fokú testreszabhatóságot biztosítsanak az egyes célszervezetek igényeinek támogatására. A testreszabás jellemzően a következő területeket foglalja magában:

Arculat: lehetővé teszi, hogy minden szervezet az alkalmazás megjelenését és használati élményét saját vállalati arculatához igazítsa. Ezt gyakran külön „skinnek”, vagyis megjelenési felületnek nevezik. Munkafolyamat: lehetővé teszi a különböző munkafolyamatok közötti eltérések kezelését, amelyeket sokféle lehetséges ügyfél használhat. Az adatmodell bővítése: támogatja a bővíthető adatmodellt, hogy az ügyfelek saját igényeik szerint testre szabhassák az alkalmazás által kezelt adatelemeket. Hozzáférés-vezérlés: lehetővé teszi, hogy minden ügyfélszervezet önállóan szabja testre az egyes felhasználók hozzáférési jogait és korlátozásait.

Szolgáltatásminőség

A több-bérlős alkalmazásoktól elvárják, hogy megfelelő számítógépes biztonságot, robusztusságot és teljesítményt biztosítsanak több bérlő között. Többpéldányos alkalmazások esetén ezeket a tulajdonságokat az alkalmazás alatti rétegek biztosítják.

Virtualizáció

Az alkalmazások több-bérlős működésre történő áttervezésének költségei jelentősek lehetnek, különösen azoknál a szoftvergyártóknál, amelyek továbbra is kínálnak helyben telepített, egybérlős változatot a termékükből. Ilyenkor végül két különálló terméket kell támogatniuk, az ebből fakadó összes költséggel együtt.

A több-bérlős működés egyre életképesebb alternatívája, amely nem igényel jelentős architekturális változtatást, a virtualizációs technológia használata. Ezzel egy alkalmazás több elszigetelt példánya futtatható egy vagy több szerveren. Valójában, amikor az alkalmazásokat virtuális készülékként csomagolják újra, ugyanaz a készülékkép telepíthető független szoftvergyártó által hosztolt, helyben telepített vagy megbízható harmadik fél által üzemeltetett környezetbe, és idővel akár egyik telepítési helyről a másikra is áthelyezhető.

Jegyzetek

Fordítás

Kategória:Szoftverek