Pokud vás zajímá cloudové prostředí a software jako služba (SaaS), pochopení konceptu multitenance vám pomůže lépe proniknout do jeho architektonických principů.
S rostoucím sdílením dat se multitenance stala klíčovým prvkem cloud computingu. Mnoho známých poskytovatelů cloudových řešení nabízí svým koncovým uživatelům služby s multitenantní architekturou. Tyto architektury zajišťují efektivní rozdělení cloudových úloh.
Než se pustíme do hlubší diskuze o multitenanci, podívejme se stručně na to, co cloud computing vlastně je.
Co je to cloud computing?
Cloud computing představuje technologii, která umožňuje uživatelům využívat výpočetní prostředky, úložný prostor a výpočetní výkon na vyžádání prostřednictvím internetu. Pomáhá vám snižovat provozní náklady a eliminuje nutnost nákupu a správy fyzických datových center.
V dnešní době podniky všech velikostí využívají cloud computing k různým účelům, jako je vývoj a testování, e-mailová komunikace, zálohování dat, analýza dat a obnova po havárii.
Multitenance v cloud computingu
Zjednodušeně řečeno, multitenance znamená, že existuje více „nájemníků“. V kontextu cloud computingu se jedná o architekturu, kde více zákazníků nebo koncových uživatelů sdílí IT zdroje veřejného nebo privátního cloudového řešení. Nicméně není důvod k obavám o soukromí, jelikož data každého „nájemníka“ jsou izolovaná a pro ostatní neviditelná.
V tomto systému má každý nájemce či zákazník oddělený a individuální prostor pro ukládání svých dat a provádění svých procesů. Každá část cloudové sítě s více nájemníky musí projít složitými ověřovacími procesy, než uživateli umožní přístup k jejich izolovaným datům.
To znamená, že k vlastním datům se dostanete pouze s povolením od poskytovatele služeb a pro všechny ostatní nájemníky jsou tato data nedostupná.
V privátním cloudu jsou „nájemníky“ obvykle různí jednotlivci nebo skupiny patřící k jedné organizaci. V případě veřejného poskytovatele cloudových služeb mohou „nájemníky“ tvořit různé organizace, které bezpečně sdílejí prostor na serveru.
Většina poskytovatelů veřejných cloudových řešení využívá tento model. Je to dáno tím, že provozování serverů s jednou instancí je méně nákladné a usnadňuje aktualizace.
Jak funguje multitenance v cloud computingu
Způsob fungování multitenance v cloud computingu se může lišit v závislosti na konkrétní situaci.
#1. Veřejný cloud
Pro většinu poskytovatelů služeb multitenance znamená sdílení jedné instance softwaru. Ukládají metadata každého nájemce, která se dynamicky používají ke změně instance softwaru. Každý uživatel potřebuje oprávnění pro přístup k datům, aby měl přístup jen ke svým vlastním datům. Ačkoli všichni sdílejí jednu instanci aplikace, uživatelský zážitek je individuální.
#2. Privátní cloud
Funkčnost multitenance v privátním cloudu je v podstatě totožná s veřejným cloud computingem. Rozdíl spočívá v tom, že „nájemníci“ jsou součástí jedné organizace. Různé týmy v rámci stejné firmy sdílejí zdroje na privátní cloudové platformě.
#3. Kontejnerová architektura
Kontejnery jsou samostatné balíčky, které obsahují aplikaci, její systémové knihovny a další potřebné komponenty pro spuštění aplikace. S pomocí kontejnerů aplikace běží stejným způsobem bez ohledu na umístění hostitelského serveru.
Pro obsloužení většího počtu nájemníků se vytváří více kontejnerů. Různí uživatelé je tak mohou spouštět na stejném hostitelském počítači.
Cloud pro více nájemců vs. cloud pro jednoho nájemce
Cloudové SaaS nabízí uživatelům dva modely: single-tenant (pro jednoho nájemce) a multi-tenant (pro více nájemců). Rozdíl mezi nimi spočívá v způsobu, jakým uživatelé přistupují ke službám.
Zákazník cloudových služeb v režimu single-tenant dostává samostatnou instanci softwaru, která běží na oddělené infrastruktuře. V případě multitenance zákazníci využívají sdílenou infrastrukturu pro přístup k řešení SaaS na vyžádání.
Charakteristiky multitenantního cloudu
Ochrana dat
Poskytovatelé multitenantních cloudových služeb uplatňují nejlepší postupy v oblasti ochrany dat. Díky tomu jeden nájemce nemá přístup k datům ostatních nájemců.
Bezpečnost
Data uložená v cloudu jsou zranitelná vůči kybernetickým útokům. Zejména v případě multitenance může útok vést k úniku dat stovek nájemců. Z tohoto důvodu poskytovatelé služeb implementují robustní a aktuální bezpečnostní opatření.
Zálohování dat
Vzhledem k tomu, že ke ztrátě dat může dojít z mnoha nepředvídatelných důvodů, poskytovatelé vždy zálohují data všech nájemců, aby je bylo možné rychle obnovit.
Izolace použití
I když jeden nájemce využívá aplikaci velmi intenzivně, neovlivní to výkon softwaru pro ostatní nájemce.
Škálovatelnost
Většina multitenantních platforem je plně škálovatelná tak, aby splňovala požadavky rostoucího počtu nájemců.
Nástroj pro upgrade aplikací
Tyto platformy neustále potřebují nové funkce a opravy chyb. Aktualizace systému je proto jejich nezbytnou součástí.
Měřené využití a poplatky
V multitenantním cloudu využíváte zdroje přesně tak, jak potřebujete. Poplatky se také odvíjejí od skutečného využití služeb.
Virtualizace vs. multitenance
Lidé často zaměňují multitenanci s virtualizací, ale tyto dva koncepty nejsou totožné. V případě multitenance více zákazníků využívá stejné aplikace umístěné v identickém prostředí/hardwaru.
Naopak při virtualizaci je na jednom fyzickém serveru hostováno několik virtuálních kopií serveru. Každá aplikace běží na samostatném virtuálním počítači, který má svůj vlastní operační systém.
Význam multitenance pro návrh aplikací SaaS
Při vývoji aplikace SaaS je nutné se rozhodnout o modelu „pronájmu“. Můžete si vybrat mezi single-tenant a multi-tenant, v závislosti na zdrojích, které nabízíte, a na provozní složitosti, kterou vaše aplikace dokáže zvládnout.
Použití multitenantní architektury pro SaaS znamená, že dodavatelé potřebují aktualizovat software pouze jednou, a tato aktualizace je pak platná pro všechny „nájemníky“. Mohou poskytnout přístup více zákazníkům spuštěním jedné instance aplikace nad jednou instancí databáze. Přičemž data jednotlivých „nájemníků“ zůstávají pro ostatní neviditelná a nedostupná.
Multitenantní SaaS mohou poskytovat služby malým a středním podnikům, ale také velkým korporacím. Nabízejí klientům škálovatelnost, protože mohou podle aktuálních obchodních potřeb flexibilně zvyšovat a snižovat využití zdrojů.
Multitenance také zajišťuje efektivní využití IT zdrojů. Vyžaduje méně počátečních investic do infrastruktury a správu. Tento model také pomáhá dodavatelům i klientům šetřit náklady, což je často důležitý aspekt pro získání širší klientské základny.
Aplikace multitenantního výpočetního modelu
#1. ADP
ADP DataCloud je software pro analýzu obchodních dat v cloudu. Je to skvělý příklad multitenantního cloudového softwaru, který nachází uplatnění v různých oblastech, jako je HR, mzdy, řízení času a nákladů, docházka zaměstnanců, outsourcing HR, dodržování předpisů a mnoho dalších.
Různí „nájemníci“ či uživatelé této cloudové aplikace si mohou přizpůsobit jak samotnou aplikaci, tak její pravidla dle svých interních obchodních potřeb.
#2. FreshBooks
FreshBooks, přední cloudová aplikace pro účetnictví a vedení účetnictví, také využívá multi-tenant model pro poskytování svých SaaS služeb. Nástroj nabízí více než 10 funkcí pro účetní oddělení jakékoli firmy.
Klienti si mohou vybírat funkce dle svých obchodních potřeb a platit jen za ty služby, které skutečně využívají. Mohou si také přizpůsobit aplikaci dle své firemní identity. Multitenantní cloud computing takové rozsáhlé úpravy umožňuje.
#3. Zoho
Zoho CRM a Workplace také využívají multitenancy v cloudu. Nabízejí více než 40 podnikových aplikací pro bezproblémový chod organizace. Můžete používat vybrané nástroje jako Zoho Assist, Zoho CRM atd., nebo si předplatit celý balíček, jako je například Zoho One.
#4. Kubernetes
Komunita Kubernetes zaznamenala nárůst projektů využívajících multitenanci. Díky multitenantní funkci Kubernetes můžete sdílet clustery podle potřeb různých týmů.
Tento model zjednodušuje administrativní práci a šetří vaše náklady. Multitenanci zde můžete implementovat dvěma způsoby: sdílením clusteru nebo pomocí více clusterů.
Multitenantní výpočetní model: Nevýhody
- Kvůli regulačním a bezpečnostním požadavkům nemusí být mnoho organizací schopno ukládat svá data v multitenantním cloudovém prostředí.
- Pokud není infrastruktura správně nastavena, může nadměrné využívání zdrojů jedním nájemcem ovlivnit výkon ostatních. Tomuto efektu se také říká „hlučný soused“.
- Z hlediska údržby databáze a kódové základny jsou služby pro více nájemců v jedné instanci aplikace složitější.
- Zálohování a obnova dat v multitenantním prostředí jsou komplexní procesy. Ne všichni poskytovatelé proto nabízejí spolehlivé služby obnovy dat.
- „Nájemníci“ v tomto modelu mají méně možností přizpůsobení a menší kontrolu nad kvalitou dat.
- Problémy, které vyžadují celosystémové resetování, se dotknou každého nájemce daného prostředí.
Budoucnost multitenantního výpočetního modelu
Multitenance je budoucností moderních aplikací. V budoucnu se bude rozvíjet stále více multitenantních aplikací, které poběží ve virtuálních multitenantních prostředích s využitím multitenantního hardwaru.
Počet aplikací určených pro jednoho nájemce se bude postupně snižovat. Jejich použití se nakonec omezí na lokální prostředí datových center.
Pokud poskytovatelé cloudových řešení vyřeší bezpečnostní obavy spojené s multitenancí, mohou přilákat více uživatelů k volbě jejich platforem.
Multitenance: Vzdělávací zdroje
Vývoj multitenantních aplikací pro cloud na platformě Windows Azure
Tato kniha od Amazonu vás naučí, jak vytvářet multitenantní aplikace, které dokážou zvládnout budoucí požadavky na škálovatelnost. Kromě osvědčených postupů pro implementaci multitenantních aplikací se kniha věnuje také škálovatelnosti, zabezpečení, dostupnosti a flexibilitě aplikací SaaS.
Kniha je obzvláště užitečná pro vývojáře, architekty a IT odborníky pracující v prostředí Windows.
Pokroky v multitenantní architektuře
Přečtením této knihy od Amazonu se seznámíte s pokroky v architektuře a modelech multitenance. Kniha se také zabývá datovými modely a zabezpečením dat v multitenantních aplikacích.
Pomůže vám pochopit multitenanci na úrovni databáze, detailní správu přístupu k datům a tabulky s vertikální škálovatelností.
Poznámka autora
Organizace se neustále snaží využít výhod cloudů jak s jedním, tak i s více nájemci. Často se také rozhodují pro hybridní „pronájem“ nebo multi-cloudový „pronájem“.
Tento trend však naznačuje rostoucí popularitu multitenance v cloud computingu oproti ostatním modelům. Vzhledem k tomu, že nabízí téměř neomezenou škálovatelnost a nákladově efektivní cenový model, je ideální pro podniky, které přecházejí z on-premise řešení na cloudové služby.
Závěr
Multitenance se stala běžným modelem pro sdílení cloudových výpočetních zdrojů s velkým počtem uživatelů bez narušení soukromí a bezpečnosti jednotlivců.
V tomto textu jsme probrali všechny klíčové aspekty multitenance v cloud computingu. Další informace můžete získat z výše uvedených zdrojů. Možná vás také zaujme téma hybridního cloud computingu.