Přístupy k architektuře pro víceklientské řešení založené na ioT Hubu
Řešení založená na multitenantní službě IoT Hub mají mnoho různých variant a velikostí. Můžete mít mnoho požadavků a omezení, od vlastnictví infrastruktury až po izolaci zákaznických dat až po dodržování předpisů. Definování vzoru, který splňuje všechna tato omezení návrhu, může být náročné a často to vyžaduje zvážení více dimenzí. Tento článek popisuje několik přístupů, které se běžně používají k řešení s více tenanty pro řešení založená na IoT Hubu.
Klíčové aspekty a požadavky
Tyto aspekty a požadavky jsou prezentovány v pořadí, ve kterém jsou obvykle upřednostňovány pro návrh řešení.
Zásady správného řízení a dodržování předpisů
Aspekty zásad správného řízení a dodržování předpisů můžou vyžadovat, abyste použili konkrétní vzor nebo sadu prostředků IoT. Ne všechny služby IoT mají stejné certifikace nebo možnosti. Pokud potřebujete splnit konkrétní standardy dodržování předpisů, možná budete muset vybrat konkrétní služby. Další informace najdete v tématu Přístupy architektury pro zásady správného řízení a dodržování předpisů v řešeních s více tenanty.
Zásady správného řízení v IoT můžou mít také jiné formy, jako je vlastnictví zařízení a správa. Vlastní zákazník zařízení nebo poskytovatel řešení? Kdo vlastní správu těchto zařízení? Tyto aspekty a důsledky jsou jedinečné pro každého poskytovatele řešení a můžou vést k různým možnostem v oblasti technologií, modelu nasazení a modelu s více tenanty, který používáte.
Měřítko
Je důležité naplánovat škálování vašeho řešení. Škálování se často považuje za tyto tři dimenze:
Množství zařízení: Všechny služby správy zařízení Azure – Azure IoT Central, Azure IoT Hub Device Provisioning Service (DPS) a Azure IoT Hub – mají omezení počtu zařízení podporovaných v jedné instanci.
Tip
Pokud plánujete nasadit velmi velký počet zařízení, projděte si dokumentaci ve velkém měřítku.
Propustnost zařízení: Různá zařízení, i ve stejném řešení, můžou mít různé požadavky na propustnost. Propustnost v tomto kontextu odkazuje jak na počet zpráv v určitém časovém období, tak na velikost zpráv. Například v:
- Řešení pro inteligentní budovy, termostaty obvykle hlásí data se nižší frekvencí než výtahy.
- V řešení připojeného vozidla jsou datové zprávy z fotoaparátu vozidla obvykle větší než zprávy telemetrie navigace.
Pokud jsou vaše zprávy omezené podle četnosti, zvažte horizontální navýšení kapacity přidáním více instancí služby. Pokud jsou vaše zprávy omezovány s ohledem na velikost, zvažte navýšení kapacity na větší instance služby.
tenanti: Velikost jednoho tenanta může být malá, ale když se znásobí počtem tenantů, může se rychle zvětšit.
Výkon a spolehlivost
Izolace tenanta
Plně sdílená řešení můžou mít hlučné sousedy. V případech IoT Hubu a IoT Central můžou hlučné sousedy vést k kódům odpovědí HTTP 429 (Příliš mnoho požadavků), což jsou těžké chyby, které můžou způsobit kaskádový efekt. Další informace naleznete v tématu Kvóty a omezování.
V plně víceklientských řešeních se tyto efekty můžou kaskádovitě kaskádovitě. Když zákazníci sdílejí aplikace IoT Hub nebo IoT Central, zobrazí se všem zákazníkům ve sdílené infrastruktuře chyby. Vzhledem k tomu, že IoT Hub a IoT Central jsou obvykle vstupními body pro data do cloudu, další podřízené systémy, které na těchto datech závisejí, pravděpodobně také selžou. Nejčastějším důvodem těchto chyb je často překročení limitu kvóty zpráv. V této situaci je nejrychlejším a nejjednodušším řešením řešení IoT Hubu upgrade skladové položky ioT Hubu, zvýšení počtu jednotek ioT Hubu nebo obojí. U řešení IoT Central se řešení podle potřeby automaticky škáluje až na zdokumentovaný počet podporovaných zpráv.
Nájemníky můžete izolovat a distribuovat mezi roviny řízení, správy a komunikace IoT pomocí DPS custom allocation policy. Dále platí, že pokud budete postupovat podle pokynů pro řešení IoT ve velkém měřítku, můžete spravovat další rozložení přidělení na úrovni nástroje pro vyrovnávání zatížení DPS.
Úložiště dat, dotazování, využití a uchovávání dat
Řešení IoT mají tendenci být náročná na data, a to jak při streamování, tak v klidovém stavu. Další informace o správě dat ve víceklientských řešeních najdete v tématu Přístupy architektury pro ukládání a data ve víceklientských řešeních.
Zabezpečení
Řešení IoT často mají aspekty zabezpečení na více vrstvách, zejména v řešeních nasazených v cloudové architektuře Purdue Enterprise Reference Architecture nebo Industry 4.0 . Přístup k návrhu, který vyberete, má vliv na to, jaké síťové vrstvy a hranice existují; po výběru fyzického návrhu můžete vybrat implementaci zabezpečení. V libovolném přístupu můžete použít následující nástroje:
V programu Microsoft Defender for IoT byste měli zvážit komplexní řešení pro monitorování IoT, které nabízí licence EIoT na zařízení a licence webu OT pro každé zařízení zákazníka nebo web. V závislosti na přístupu vybraném dále v tomto článku nemusí být scénář licencování uživatelů s názvem Microsoft 365 možný. V takovém případě jsou k dispozici možnosti licencí pro jednotlivá zařízení a web, což jsou licenční možnosti nezávislé na licencích tenanta Microsoftu 365.
Azure Firewall nebo zařízení firewall jiného výrobce než Microsoftu, které byste měli zvážit při izolování síťových vrstev a monitorování síťového provozu. Přesný výběr přístupu určuje, kde mají úlohy izolaci sítě a sdílenou síť, jak je vyřešeno dále v tomto článku.
Většina těchto témat zabezpečení se týká víceklientských řešení podobných tomu, jak by to bylo v jednom řešení tenanta s variantami svázanými s vybraným přístupem. Jednou komponentou, která se pravděpodobně výrazně liší v celkovém řešení IoT, je identita uživatele a aplikace. Přístupy k architektuře pro identitu ve víceklientských řešeních popisují tento aspekt celkového víceklientského řešení.
Přístupy k zvážení
Aspekty a volby pro primární komponenty, jako je správa, příjem dat, zpracování, úložiště a zabezpečení, jsou stejné pro jednoklientová řešení IoT. Hlavním rozdílem je uspořádání a využití komponent pro podporu víceklientské architektury. Například běžné rozhodovací body pro:
- Pro úložiště lze zvolit použití SQL Serveru nebo Azure Data Exploreru.
- Úroveň příjmu dat a správy je výběr mezi IoT Hubem a IoT Central.
Většina řešení IoT se hodí do vzoru kořenové architektury, což je kombinace cíle nasazení, modelu tenantů a modelu nasazení. Klíčové požadavky a důležité informace popsané dříve určují tyto faktory.
Jedním z největších rozhodovacích bodů, které je potřeba provést v rámci prostoru IoT, je vybrat přístupy paaS (application-platform-as-a-service) a platforma jako služba (PaaS). Další informace najdete v tématu porovnání přístupů k řešení Internetu věcí (IoT) (PaaS vs. aPaaS).
Tato volba je běžné dilema "build versus buy", které mnoho organizací řeší v mnoha projektech. Je důležité vyhodnotit výhody a nevýhody obou možností.
Koncepty a důležité informace o řešeních apaaS
Typické řešení aPaaS využívající Azure IoT Central jako jádro řešení může používat následující služby Azure PaaS a aPaaS:
- Azure Event Hubs jako multiplatformní modul pro zasílání zpráv a tok dat na podnikové úrovni
- Azure Logic Apps jako integrační platforma jako služba nebo nabídka iPaaS.
- Azure Data Explorer jako platforma pro analýzu dat.
- Power BI jako platforma pro vizualizace a vytváření sestav.
V předchozím diagramu tenanti sdílejí prostředí IoT Central, Azure Data Explorer, Power BI a Azure Logic Apps.
Tento přístup je obecně nejrychlejší způsob, jak získat řešení na trh. Jedná se o vysoce škálovatou službu, která podporuje víceklientskou architekturu pomocí organizací.
Je důležité si uvědomit, že protože IoT Central je nabídka aPaaS, existují určitá rozhodnutí, která nejsou nad kontrolou implementátora. Mezi tato rozhodnutí patří:
- IoT Central používá jako svého zprostředkovatele identity ID Microsoft Entra.
- Nasazení IoT Central se dosahuje pomocí operací řídicí roviny i roviny dat, které kombinují deklarativní dokumenty s imperativním kódem.
- maximálního limitu počtu uzlů a maximální hloubky stromu ve víceklientských vzorcích založených na IoT Central, může poskytovatele služeb vynutit, aby měl více instancí IoT Central. V takovém případě byste měli zvážit použití vzoru razítka nasazení.
- IoT Central zavádí limity pro volání rozhraní API, což by mohlo ovlivnit rozsáhlé implementace.
Koncepty a důležité informace o řešeních PaaS
Přístup založený na PaaS může používat následující služby Azure:
- Azure IoT Hub jako základní konfigurace zařízení a komunikační platforma.
- Služba Azure IoT Device Provisioning jako nasazení zařízení a počáteční konfigurační platforma
- Azure Data Explorer pro ukládání a analýzu teplých a studených dat časových řad cesty ze zařízení IoT.
- Azure Stream Analytics pro analýzu dat horké cesty ze zařízení IoT
- azure IoT Edge pro spouštění umělé inteligence (AI), služeb jiných společností než Microsoft nebo vlastní obchodní logiky na zařízeních IoT Edge.
V předchozím diagramu se každý tenant připojí ke sdílené webové aplikaci, která přijímá data ze služby IoT Hubs a aplikace funkcí. Zařízení se připojují ke službě Device Provisioning a ke službě IoT Hubs.
Tento přístup vyžaduje větší úsilí vývojáře k vytvoření, nasazení a údržbě řešení (oproti přístupu aPaaS). Méně funkcí je předem připravené pro usnadnění implementace. Tento přístup také nabízí větší kontrolu, protože méně předpokladů je vloženo do podkladové platformy.
Vzory kořenové architektury
Následující tabulka uvádí běžné vzory pro řešení IoT s více tenanty. Každý vzor obsahuje následující informace:
- Název vzoru, který je založený na kombinaci cíle, modelu a typu nasazení.
- Cíl nasazení představující předplatné Azure pro nasazení prostředků.
- Model tenantů , na který model odkazuje, jak je popsáno v modelech s více tenanty
- Model nasazení, který odkazuje na jednoduché nasazení s minimálními aspekty nasazení, vzorem Geode nebo vzorem razítka nasazení.
Vzor | Cíl nasazení | Model tenantů | Model nasazení |
---|---|---|---|
Jednoduchá SaaS | Předplatné poskytovatele služeb | Plně víceklient | Stručně |
Horizontální SaaS | Předplatné poskytovatele služeb | Vodorovně dělené | Razítko nasazení |
Automatizovaný jeden tenant | Buď předplatné poskytovatele služeb, nebo předplatné zákazníka | Jeden tenant na zákazníka | Stručně |
Jednoduchá SaaS
Cíl nasazení | Model tenantů | Model nasazení |
---|---|---|
Předplatné poskytovatele služeb | Plně víceklient | Stručně |
Jednoduchý přístup SaaS je nejjednodušší implementací řešení SaaS IoT. Jak ukazuje předchozí diagram, veškerá infrastruktura je sdílená a infrastruktura nemá použito žádné geografické razítko ani měřítko. Infrastruktura se často nachází v rámci jednoho předplatného Azure.
Azure IoT Central podporuje koncept organizací. Organizace umožňují poskytovateli řešení snadno oddělit tenanty zabezpečeným, hierarchickým způsobem a zároveň sdílet základní návrh aplikace napříč všemi tenanty.
Komunikace se systémy mimo IoT Central, například pro dlouhodobou analýzu dat, podél studené cesty nebo připojení k obchodním operacím, se provádí prostřednictvím jiných nabídek Microsoft PaaS a aPaaS. Mezi tyto další nabídky můžou patřit následující služby:
- Azure Event Hubs jako multiplatformní modul pro zasílání zpráv a tok dat na podnikové úrovni.
- Azure Logic Apps jako integrační platforma jako služba nebo iPaaS
- Azure Data Explorer jako platforma pro analýzu dat.
- Power BI jako platforma pro vizualizace a vytváření sestav.
Pokud porovnáte přístup Simple SaaS s modelem aPaaS s jedním tenantem, je mnoho charakteristik podobné. Hlavním rozdílem mezi těmito dvěma modely je:
- V automatizovaném modelu jednotlivého tenanta nasadíte samostatnou instanci IoT Central pro každého tenanta.
- V Simple SaaS s modelem aPaaS nasadíte sdílenou instanci pro více zákazníků a pro každého tenanta vytvoříte organizaci IoT Central.
Vzhledem k tomu, že v tomto modelu sdílíte datovou vrstvu s více tenanty, musíte implementovat zabezpečení na úrovni řádků, aby bylo možné izolovat zákaznická data. Další informace najdete v tématu Přístupy architektury pro ukládání a data ve víceklientských řešeních.
Výhody:
- Snadnější správa a provoz vzhledem k ostatním přístupům, které jsou zde uvedeny.
Rizika:
Tento přístup nemusí snadno škálovat na velký počet zařízení, zpráv nebo tenantů.
Služby a komponenty jsou sdílené, takže selhání v jakékoli komponentě může mít vliv na všechny vaše tenanty. Toto riziko představuje riziko spolehlivosti a vysoké dostupnosti vašeho řešení.
Je důležité zvážit, jak spravovat dodržování předpisů, provoz, životní cyklus tenanta a zabezpečení dílčích sad zařízení. Tyto aspekty jsou důležité kvůli sdílené povaze tohoto typu řešení v řídicích rovinách, správě a komunikaci.
Horizontální SaaS
Cíl nasazení | Model tenantů | Model nasazení |
---|---|---|
Předplatné poskytovatele služeb | Vodorovně dělené | Razítko nasazení |
Běžným přístupem ke škálovatelnosti je horizontální dělení řešení. To znamená, že máte některé sdílené komponenty a některé součásti pro jednotlivé zákazníky.
V rámci řešení IoT existuje mnoho komponent, které je možné horizontálně rozdělit. Horizontálně dělené subsystémy jsou obvykle uspořádány pomocí vzoru razítka nasazení, který se integruje s větším řešením.
Příklad vodorovného SaaS
Následující příklad architektury dělí IoT Central pro každého koncového zákazníka, sloužící jako portál pro správu zařízení, komunikaci s nimi a administraci. Toto dělení se často provádí tak, že koncový zákazník, který řešení využívá, má plnou kontrolu nad přidáním, odebráním a aktualizací svých zařízení bez zásahu od dodavatele softwaru. Zbytek řešení se řídí standardním vzorem sdílené infrastruktury, který řeší analýzu horkých cest, obchodní integrace, správu SaaS a potřeby analýzy zařízení.
Každý tenant má vlastní organizaci IoT Central, která odesílá telemetrii do sdílené aplikace funkcí a zpřístupňuje ji firemním uživatelům tenantů prostřednictvím webové aplikace.
Výhody:
- Snadná správa a provoz, i když pro komponenty s jedním tenantem může být nutná dodatečná správa.
- Flexibilní možnosti škálování, protože vrstvy se škálují podle potřeby.
- Účinek selhání komponent je snížen. I když selhání sdílené komponenty ovlivňuje všechny zákazníky, horizontálně škálované komponenty ovlivňují pouze zákazníky, kteří jsou přidruženi ke konkrétním instancím škálování.
- Vylepšené přehledy o spotřebě jednotlivých tenantů pro dělené komponenty
- Dělené komponenty poskytují jednodušší přizpůsobení pro jednotlivé tenanty.
Rizika:
- Rozsah řešení, zejména u všech sdílených komponent.
- Spolehlivost a vysoká dostupnost jsou potenciálně ovlivněny. Jedno selhání sdílených komponent může mít vliv na všechny tenanty najednou.
- Přizpůsobení součásti rozdělené na tenanta vyžaduje dlouhodobé aspekty DevOps a správy.
Následující jsou nejběžnější komponenty, které jsou obvykle vhodné pro horizontální dělení.
Databáze
Můžete se rozhodnout rozdělit databáze. Často se jedná o telemetrická data a úložiště dat zařízení, která jsou rozdělená na oddíly. Často se používá více úložišť dat pro různé konkrétní účely, jako jsou teplé a archivní úložiště nebo informace o stavu tenantů předplatného.
Databáze pro každého tenanta oddělte pro následující výhody:
- Podpora standardů dodržování předpisů Data každého tenanta jsou izolovaná napříč instancemi úložiště dat.
- Opravte problémy s hlučnou sousedou.
Správa, komunikace a správa zařízení
Aplikace Azure IoT Hub Device Provisioning, IoT Hub a IoT Central je často možné nasazovat jako horizontálně dělené komponenty. V tomto přístupu potřebujete další službu, která přesměruje zařízení do příslušné instance DPS pro správu, řízení a telemetrii daného tenanta. Další informace najdete v tématu horizontálním navýšením kapacity řešení Azure IoT, které podporuje miliony zařízení dokument white paper.
Tento přístup se často používá k tomu, aby koncoví zákazníci mohli spravovat a řídit vlastní flotily zařízení, která jsou přímo a plně izolovaná.
Pokud je rovina komunikace zařízení horizontálně rozdělená na oddíly, musí být telemetrická data rozšířena o data identifikující zdrojového tenanta. Toto rozšiřování umožňuje procesoru streamů zjistit, která pravidla tenanta se mají na datový proud použít. Pokud například zpráva telemetrie vygeneruje oznámení v procesoru streamu, musí procesor streamu určit správnou cestu oznámení pro přidruženého tenanta.
Zpracování datových proudů
Dělením zpracování datových proudů povolíte přizpůsobení analýzy v rámci procesorů datových proudů.
Automatizovaný jeden tenant
Automatizovaný přístup s jedním tenantem je založený na podobném rozhodovacím procesu a návrhu podnikového řešení.
Každý tenant má své vlastní identické izolované prostředí s organizací IoT Central a dalšími komponentami vyhrazenými pro ně.
Cíl nasazení | Model tenantů | Model nasazení |
---|---|---|
Buď předplatné poskytovatele služeb, nebo předplatné zákazníka | Jeden tenant na zákazníka | Stručně |
Důležitým rozhodovacím bodem v tomto přístupu je volba předplatného Azure, do kterého se mají komponenty nasadit. Pokud jsou komponenty nasazené do vašeho předplatného, máte větší kontrolu a lepší přehled o nákladech na řešení, ale vyžaduje, abyste měli více aspektů zabezpečení a zásad správného řízení řešení. Naopak pokud je řešení nasazené v předplatném zákazníka, je zákazník nakonec zodpovědný za zabezpečení a zásady správného řízení nasazení.
Tento model podporuje vysoký stupeň škálovatelnosti, protože požadavky na tenanta a předplatné jsou obecně omezujícími faktory ve většině řešení. Proto izolujte každého tenanta tak, aby měl velký rozsah pro škálování úloh jednotlivých tenantů, aniž by se na vás v rámci vývoje řešení významně snažil.
Tento model má také nízkou latenci ve srovnání s jinými vzory, protože můžete nasadit komponenty řešení na základě zeměpisné oblasti vašich zákazníků. Geografické spřažení umožňuje kratší síťové cesty mezi zařízením IoT a nasazením Azure.
V případě potřeby můžete automatizované nasazení rozšířit tak, aby podporovalo vylepšenou latenci nebo škálování, a to povolením rychlého nasazení dalších instancí řešení ve stávajících nebo nových zeměpisných oblastech.
Automatizovaný přístup s jedním tenantem je podobný jednoduchému modelu SaaS aPaaS. Hlavní rozdíl mezi těmito dvěma modely spočívá v tom, že v automatizovaném přístupu s jedním tenantem nasadíte pro každého tenanta samostatnou instanci IoT Central, zatímco v jednoduchém modelu SaaS s modelem aPaaS nasadíte sdílenou instanci IoT Central s několika organizacemi IoT Central.
Výhody:
- Snadná správa a provoz.
- Zaručuje se izolace tenanta.
Rizika:
- Počáteční automatizace může být pro nové vývojové pracovníky složitá.
- Je potřeba vynutit zabezpečení přihlašovacích údajů mezi zákazníky pro správu nasazení vyšší úrovně, jinak se můžou kompromisy rozšířit mezi zákazníky.
- Očekává se, že náklady budou vyšší, protože výhody škálování sdílené infrastruktury napříč zákazníky nejsou dostupné.
- Je nutné zachovat mnoho instancí, pokud poskytovatel řešení zodpovídá za údržbu každé instance.
Zvýšení škálování SaaS
Když rozšíříte škálu řešení na velká nasazení, na základě limitů služeb, geografických obav a dalších faktorů existují specifické problémy. Další informace o rozsáhlých architekturách nasazení IoT najdete v tématu Horizontální navýšení kapacity řešení Azure IoT pro podporu milionů zařízení.
Přispěvatelé
Tento článek spravuje Microsoft. Původně byla napsána následujícími přispěvateli.
Hlavní autoři:
- Michael C. Bazarewsky | Vedoucí zákaznický inženýr, FastTrack pro Azure
- David Crook | Hlavní zákaznický inženýr, FastTrack pro Azure
Další přispěvatelé:
- John Downs | Hlavní softwarový inženýr
- Vladimirskij Vladimirskij | Hlavní zákaznický inženýr, FastTrack pro Azure
Další kroky
- Projděte si pokyny pro víceklientské prostředí a službu Azure Cosmos DB.
- Seznamte se s horkými, teplými a studenými cestami dat pomocí IoT v Azure.