Spolehlivost úloh IoT
Úlohy IoT, stejně jako všechny úlohy, můžou fungovat správně. Klíčovým aspektem spolehlivosti dobře navržená řešení IoT je to, jak rychle můžete detekovat změny a jak rychle můžete obnovit provoz.
Aplikace IoT se často distribuují ve velkém měřítku a můžou fungovat v nespolehlivých sítích bez trvalého přístupu nebo přehledu o koncových tocích dat. Vzhledem k těmto faktorům byste měli architekturu IoT navrhovat s ohledem na dostupnost a odolnost.
Vytvoření spolehlivého řešení IoT vyžaduje pečlivé zvážení zařízení, cloudových služeb a způsobu jejich interakce. Volby týkající se hardwaru zařízení, připojení, protokolů a cloudových služeb ovlivňují požadavky a možnosti vašeho řešení na spolehlivost.
Posouzení spolehlivosti úloh IoT
Pokud chcete vyhodnotit úlohy IoT s využitím pilíře spolehlivosti architektury Well-Architected Framework, vyplňte otázky týkající se spolehlivosti úloh IoT v tématu Azure Well-Architected Review. Jakmile posouzení identifikuje klíčová doporučení pro spolehlivost vašeho řešení IoT, použijte následující obsah, který vám pomůže s implementací doporučení.
Principy návrhu
Metodologie návrhu úloh IoT je základem pěti pilířů špičkové architektury. Tyto pilíře slouží jako kompas pro následná rozhodnutí o návrhu napříč klíčovými oblastmi návrhu IoT. Následující principy návrhu rozšiřují pilíř kvality architektury Azure Well-Architected – spolehlivost.
Princip návrhu | Požadavky |
---|---|
Návrh zařízení s odolností | Navrhněte svá zařízení tak, aby splňovala požadavky na dostupnost a dostupnost vašeho komplexního řešení. Zajistěte, aby vaše zařízení IoT fungovalo efektivně s přerušovaným připojením ke cloudu. |
Návrh pro obchodní požadavky | Dopad na náklady je při zavádění úprav architektury tak, aby byly splněny smlouvy o úrovni služeb (SLA), nevyhnutelné. Pokud chcete mít například větší spolehlivost a vysokou dostupnost, můžete implementovat redundanci mezi oblastmi a automatizovaný systém pro automatické škálování. Tento kompromis je třeba pečlivě zvážit. |
Bezpečné a jednoduché postupy aktualizace | Podnikové řešení IoT by mělo poskytovat strategii, jak operátoři spravují zařízení. Operátory IoT vyžadují jednoduché a spolehlivé aktualizační nástroje a postupy. |
Sledování stavu aplikace | Definujte ukazatele úrovně služeb (SLI) a cíle úrovně služeb (SLO) na základě pozorovatelnosti. Přidejte procesy pro auditování, monitorování a upozorňování nad rámec toho, co cloudové služby poskytují. |
Vysoká dostupnost a zotavení po havárii (HA/DR) pro důležité komponenty. | Odolné hardwarové a softwarové komponenty, které vytvářejí redundanci, včetně redundance mezi oblastmi. |
Plánování kapacity | Naplánujte kvóty a omezení služeb, latenci mezi akcemi detekce a vytvořte srovnávací testy v produkčním měřítku pro podporu nepřerušovaného toku dat. |
Vrstvy architektury IoT
Principy návrhu spolehlivosti pomáhají objasnit aspekty a zajistit, aby vaše úloha IoT splňovala požadavky napříč základními vrstvami architektury IoT. K dosažení celkové spolehlivosti řešení by každá vrstva měla mít přijatelné úrovně spolehlivosti.
Vrstva zařízení a brány
Jako součást celkového řešení IoT navrhněte svá zařízení tak, aby splňovala požadavky na celkovou dostupnost a dostupnost vašeho řešení. Zařízení a brány mají mnoho podob. Zařízení a brány IoT můžou provádět shromažďování dat, dohledové řízení a hraniční analýzy.
Shromažďování dat připojuje zařízení k senzorům nebo je přihlašuje k odběru telemetrických dat z podřízených systémů a odesílá shromážděná data do cloudu. Návrh řešení IoT by měl zajistit spolehlivou správu zařízení a spolehlivou komunikaci ze zařízení do cloudu.
Zařízení, která poskytují dohledové řízení, nejen shromažďují data za účelem odeslání do cloudu, ale také na jejich základě provádějí akce. Zařízení odesílají data zpět do počítačů nebo prostředí, aby provedly kontrolní akce. Spolehlivost aplikací dohledové kontroly je kritická.
Návrh zařízení
Navrhujte a vybírejte zařízení IoT tak, aby spolehlivě fungovala v očekávaných provozních podmínkách po dobu jejich očekávané doby života. Spolehlivé zařízení by mělo fungovat v souladu s hardwarovými a softwarovými specifikacemi a jakékoli selhání by se mělo zjišťovat a spravovat prostřednictvím zmírnění rizik, opravy nebo výměny. Navrhujte zařízení z důvodu spolehlivosti, ale také počítate s chybami.
Životní cyklus zařízení
Omezená životnost služeb ovlivňuje spolehlivost řešení. Vyhodnoťte důsledky selhání zařízení na řešení a definujte strategii životního cyklu zařízení podle požadavků řešení.
Posouzení dopadu selhání zařízení zahrnuje:
- Závažnost, například jednotlivé body selhání.
- Pravděpodobnost, například střední doba mezi selháními.
- Zjistitelnost, jako je režim selhání a analýza účinků.
- Přijatelná doba výpadku.
Přijatelný provozní výpadek určuje rychlost a rozsah údržby zařízení. Důležitým aspektem životního cyklu zařízení je dostupnost nebo životnost zařízení a dodávky součástí.
Čím je návrh modulárnější, tím snadněji se střídá část systému, zejména v případě, že jsou některé součásti zastaralé dříve než jiné. Pro spolehlivá řešení jsou důležité alternativní nebo vícenásobné zdroje dodavatelského řetězce komponent a modulů.
Požadavky na životní prostředí
Podmínky, za kterých zařízení pracuje, ovlivňují jeho spolehlivost. Definujte své požadavky na prostředí a používejte zařízení s odpovídajícími specifikacemi funkcí. Tyto specifikace zahrnují parametry, jako je rozsah provozní teploty, vlhkost, stupeň ochrany proti vniknutí (IP), odolnost proti elektromagnetickému rušení (EMI) a odolnost proti nárazům a vibracím.
Provozní profil
Zatížení výkonu ovlivňuje provozní chování zařízení a tím i jejich spolehlivost. Definujte provozní profily, které odhadují chování v průběhu životnosti zařízení a odpovídajícím způsobem vyhodnocují spolehlivost zařízení. Tyto profily zahrnují provozní režimy, jako jsou režimy bezdrátového přenosu nebo nízké spotřeby energie, a podmínky prostředí, jako je teplota, po celou dobu životnosti zařízení.
Za normálních provozních podmínek by zařízení a software měly běžet bezpečně v rámci zadaných provozních profilů. Zařízení musí být schopná obsluhovat a zpracovávat všechny externí senzory a zpracování dat, které řešení vyžaduje. Vyhněte se spuštění na limitu možností zařízení.
Předpisy a normy
Zařízení pro konkrétní odvětví podléhají platným předpisům a standardům. Definujte předpisy a normy a zajistěte, aby zařízení splňovala požadavky na dodržování předpisů a shody. Předpisy zahrnují certifikaci a označování, například FCC nebo CE. Mezi standardy patří oborové nebo agenturní aplikace, jako jsou ATEX a MIL-SPEC, a shoda s bezpečností, například IEC 61508.
Vrstva správy a modelování zařízení
Cloudové služby poskytují každému zařízení identitu a spravují zařízení ve velkém měřítku. Cloud je často konečným bodem příchozího přenosu dat pro všechny zprávy, které ze zařízení proudí. V řešeních IoT musí cloudové služby poskytovat spolehlivost, aby zařízení IoT mohla integrovat a přenášet data.
Součástí návrhu spolehlivosti řešení IoT by měly být podmínky připojení zařízení, včetně nadřazeného připojení do cloudu a odtamtud do místních sítí. Vyhodnoťte potenciální dopad přerušení nebo rušení připojení a definujte odpovídajícím způsobem strategii připojení.
Strategie připojení by měla zahrnovat odolnost, například záložní možnosti a správu odpojení a ukládání záloh do vyrovnávací paměti, aby se zmírnila závislost na cloudu pro kritické nebo bezpečnostní funkce.
Následující postupy návrhu, zpracování chyb a monitorování se týkají připojení.
Návrh připojení
Řešení IoT by mělo umožňovat tok informací mezi přerušovaně připojenými zařízeními a cloudovými službami. Zajistěte, aby vaše zařízení IoT fungovala efektivně s přerušovaným připojením ke cloudu.
Mezi osvědčené postupy patří následující doporučení:
- Implementujte logiku opakování a zpochybnutí v softwaru zařízení.
- Synchronizujte stav zařízení s cloudem.
- Pokud vaše řešení nemůže tolerovat ztrátu dat, ujistěte se, že můžete ukládat data na zařízeních.
- Použití vzorkování dat a simulací k měření standardních hodnot požadavků na kapacitu sítě a úložiště
Implementace připojení
Sady SDK pro zařízení Azure IoT poskytují klientské knihovny, které můžete použít na zařízeních nebo branách ke zjednodušení připojení ke službám Azure IoT. Sady SDK můžete použít k instrumentaci klientů zařízení IoT, kteří:
- Připojte se ke cloudu.
- Poskytuje konzistentní prostředí pro vývoj klientů na různých platformách.
- Zjednodušte běžné úlohy připojení tím, že abstrahujte podrobnosti o základních protokolech a vzorech zpracování zpráv, jako je exponenciální zpochybňování pomocí jitteru a logiky opakování.
Monitorování připojení
Problémy s připojením pro zařízení IoT může být obtížné vyřešit kvůli mnoha možným bodům selhání. Problémy můžou mít logika aplikací, fyzické sítě, protokoly, hardware, Azure IoT Hub a další cloudové služby.
Schopnost zjistit a určit zdroj problému je velmi důležitá. Řešení IoT ve velkém měřítku ale může obsahovat tisíce zařízení, takže není praktické ručně kontrolovat jednotlivá zařízení. Azure Monitor a Azure Event Grid vám můžou pomoct s diagnostikou problémů s připojením v IoT Hub.
Prostředky připojení
- Správa možností připojení a spolehlivé zasílání zpráv pomocí sad SDK pro zařízení služby Azure IoT Hub
- Monitorování, diagnostika a řešení potíží s připojením Azure IoT Hub zařízení
- Zpracování přechodných chyb
- Zpracování chyb u odolných aplikací v Azure
- Vzor jističe – Vzory návrhu v cloudu
- Model kompenzační transakce – Vzory návrhu cloudu
- Vzor omezování – Vzory návrhu cloudu
Vrstva příjmu dat a komunikace
Vrstva pro příjem dat a komunikaci IoT pokrývá kvóty a limity služeb, kapacitu, omezování a automatické škálování.
Návrh redundantní kapacity
Při plánování prahových hodnot a upozornění zvažte latenci mezi detekcí a provedenými akcemi. Ujistěte se, že systém a operátoři mají dostatek času reagovat na žádosti o změnu. V opačném případě můžete například zjistit, že je potřeba zvýšit počet jednotek, ale systém může selhat kvůli ztrátě zpráv dříve, než se zvýšení projeví.
Plánování kvót služeb
Stejně jako u všech služeb platformy vynucují IoT Hub a IoT Hub Device Provisioning Service (DPS) kvóty a omezení určitých operací, aby Azure mohl poskytovat předvídatelné úrovně služeb a náklady na své služby. Kvóty a omezení jsou svázány s úrovní služby a počtem nasazených jednotek, takže můžete navrhnout řešení se správným počtem prostředků. Předem zkontrolujte kvóty a omezení a odpovídajícím způsobem navrhněte prostředky IoT Hub a DPS.
Srovnávací testy v produkčním měřítku
S rostoucím počtem zařízení nebo objemem dat se musí cloudová brána škálovat, aby podporovala nepřerušený tok dat. Vzhledem k distribuované povaze řešení IoT, počtu zařízení a objemu dat je důležité vytvořit srovnávací testy škálování pro celkové řešení. Tyto srovnávací testy pomáhají plánovat rizika týkající se kapacity. Simulátor telemetrie zařízení Azure IoT slouží k simulaci svazků produkčního škálování.
Automatické škálování pro dynamické přizpůsobení kvótám
Výhodou použití komponent PaaS (platforma jako služba) je schopnost vertikálně navýšit a snížit kapacitu s malým úsilím podle vašich potřeb. Pokud chcete zajistit co nejnižší náklady a provozní úsilí, zvažte implementaci automatizovaného systému pro vertikální navýšení a snížení kapacity prostředků podle různých potřeb vašeho řešení.
Správa kvót a omezení
Pokud chcete zajistit spolehlivost řešení, průběžně monitorujte využití prostředků podle kvót a omezení, abyste zjistili zvýšení využití, které značí potřebu škálování. V závislosti na vašich obchodních požadavcích můžete průběžně monitorovat využití prostředků a upozorňovat operátora na splnění prahových hodnot nebo implementovat automatizovaný systém pro automatické škálování.
Kapacita a škálování prostředků
- Vysvětlení kvót Azure IoT Hub a omezování
- Kvóty a omezení ve službě Azure IoT Hub Device Provisioning
- Automatické škálování Azure IoT Hub – ukázky kódu
- Simulátor telemetrie zařízení Azure IoT – ukázky kódu
- IoT Hub IP adres
- Osvědčené postupy pro konfiguraci zařízení v rámci řešení IoT
- Volba vhodné vrstvy služby IoT Hub pro vaše řešení
- Kvóty a omezení služby Azure IoT Central
- IoT Hub kvót a omezování: Omezení operací
- IoT Hub kvót a omezování: Další omezení
Transportní vrstva
Aby se zařízení připojila ke cloudové službě kvůli datům, řízení a správě, potřebují přístup k síti. V závislosti na typu řešení IoT může být spolehlivost připojení vaší odpovědností nebo spolehlivostí poskytovatele síťových služeb. Sítě můžou mít přerušované problémy s připojením a zařízení musí odpovídajícím způsobem spravovat své chování.
Vrstva DevOps
Podnikové řešení IoT by mělo operátorům poskytovat strategii pro správu systému. Pro zajištění spolehlivosti by správa a operace IoT měly používat procesy DevOps ke zpracování aktualizací, pozorovatelnosti a monitorování a implementace vysoké dostupnosti a zotavení po havárii.
Aktualizace
Aspekt zařízení řešení IoT představuje ve srovnání s cloudovými řešeními výzvy. Musí existovat například způsob, jak zařízení průběžně aktualizovat, aby se vyřešila ohrožení zabezpečení a změny aplikací.
Vzhledem k distribuované povaze řešení IoT je důležité přijmout bezpečné a zabezpečené zásady pro nasazování aktualizací. Operátory IoT vyžadují jednoduché a spolehlivé aktualizační nástroje a postupy.
Řešení aktualizace zařízení musí podporovat:
- Postupné zavádění aktualizací prostřednictvím ovládacích prvků seskupování a plánování zařízení
- Podpora odolných aktualizací zařízení A/B pro bezproblémové vrácení zpět
- Podrobné nástroje pro správu aktualizací a vytváření sestav.
- Optimalizace sítě na základě dostupné šířky pásma.
Device Update for IoT Hub je služba, která umožňuje bezpečné, zabezpečené a spolehlivé aktualizace zařízení IoT (OTA). Device Update pro IoT Hub může seskupit zařízení a určit, která zařízení mají dostávat aktualizaci. Operátoři můžou zobrazit stav nasazení aktualizací a to, jestli každé zařízení úspěšně používá požadované aktualizace.
Pokud aktualizace selže, pomáhá služba Device Update operátorům identifikovat zařízení, která selhala, a zobrazit podrobnosti o selhání. Schopnost identifikovat, která zařízení selhala, může eliminovat hodiny, kdy se pokoušíte ručně určit zdroj selhání.
Device Update monitoruje stav nasazení a aktualizací zařízení a hlásí, kolik zařízení vyhovuje nejvyšší dostupné kompatibilní aktualizaci.
Pozorovatelnost a monitorování
Pokud chcete spravovat celkovou spolehlivost řešení a definovat postupy upozornění, měli byste monitorovat každou komponentu řešení IoT. Všechny služby Azure IoT publikují metriky, které popisují stav a dostupnost služby. Pokud chcete zjistit kompletní pozorovatelnost, zvažte také metriky, které potřebujete na straně zařízení. Tyto metriky použijte jako součást celkového monitorování spolehlivosti řešení.
Monitorování a diagnostika aplikací IoT jsou zásadní pro dostupnost a odolnost. Pokud něco selže, musíte vědět, že selhalo, kdy selhalo a proč. Monitorováním provozu aplikace a zařízení IoT v dobrém stavu můžete detekovat a opravit problémy se spolehlivostí.
Pokud chcete zmírnit problémy, které mají vliv na spolehlivost aplikací IoT, musíte být schopni zaznamenávat protokoly a signály, které vám pomůžou detekovat problémy v kompletních operacích. Protokolování a monitorování slouží k určení, jestli řešení IoT funguje podle očekávání, a k řešení problémů se součástmi řešení.
Následující akce podporují pozorovatelnost pro řešení IoT:
- Vytvořte mechanismus pro shromažďování a analýzu metrik výkonu a upozornění.
- Nakonfigurujte zařízení, cloudové služby a aplikace pro shromažďování a připojení pomocí Azure Monitoru.
- Monitorování back-endových služeb Azure pomocí řídicích panelů a upozornění v reálném čase
- Definujte role a odpovědnosti pro monitorování událostí a výstrah a jejich činnost. Další informace najdete v tématu Role, odpovědnosti a oprávnění.
- Implementujte průběžné monitorování.
Azure Monitor
Azure Monitor je doporučená platforma pro monitorování a vizualizaci pro řešení Azure IoT. Zařízení, cloudové služby a aplikace můžete nakonfigurovat bez ohledu na umístění nasazení tak, aby zprávy protokolu nasdílely přímo nebo prostřednictvím integrovaných konektorů do služby Azure Monitor.
Pomocí integrované integrace metrik Azure Monitoru můžete vzdáleně monitorovat IoT Edge zařízení. Pokud chcete tuto funkci povolit na svých zařízeních, přidejte do svého nasazení modul kolektoru metrik IoT Edge a nakonfigurujte ho tak, aby shromažďovat a přenášet metriky modulů do služby Azure Monitor.
Pomocí služby Azure Monitor můžete monitorovat stav prostředí IoT Hub, zajistit jeho správné fungování a ověřit, že vaše zařízení nejsou omezovaná nebo dochází k problémům s připojením. IoT Hub poskytuje metriky využití, jako je počet použitých zpráv a počet připojených zařízení. Tato data můžete předat službě Azure Monitor za účelem analýzy a upozornění dalších služeb.
Pokud vaše řešení používá Azure IoT Central, můžete k posouzení stavu připojených zařízení a aktivních exportů dat použít metriky, které poskytuje IoT Central. Aplikace IoT Central ve výchozím nastavení povolují metriky, ke kterým máte přístup z Azure Portal. Azure Monitor zveřejňuje a nabízí několik způsobů, jak s těmito metrikami pracovat.
Azure Monitor poskytuje vlastní analýzu protokolů, která usnadňuje rozklad událostí a záznamů do jednotlivých polí pro indexování a vyhledávání.
Implementujte řídicí panely v reálném čase a upozornění služby Azure Monitor pro monitorování back-endových služeb Azure. Výstrahy proaktivně upozorňují na konkrétní podmínky v datech monitorování, abyste mohli identifikovat a řešit problémy dříve, než se na ně zákazníci setkají. Můžete nastavit upozornění na metriky, protokoly a protokol aktivit.
Application Insights je funkce služby Azure Monitor, která poskytuje rozšiřitelná správu a monitorování výkonu aplikací pro živé webové aplikace. Pokud vaše řešení IoT používá vlastní Azure App Service, Azure Kubernetes Service nebo Azure Functions aplikace, můžete k monitorování a analýze aplikací použít Application Insights.
Application Insights může:
- Automaticky zjišťovat anomálie ve výkonu.
- Pomoc s diagnostikou problémů pomocí výkonných analytických nástrojů
- Umožňuje zobrazit, co uživatelé s vašimi aplikacemi skutečně dělají.
- Pomáhá průběžně vylepšovat výkon a použitelnost aplikací.
Průběžné sledování
Kontinuální integrace a průběžné nasazování (CI/CD) je postup DevOps, který poskytuje software rychleji a spolehlivěji, aby uživatelům poskytoval nepřetržitou hodnotu. Průběžné monitorování (CM) je podobný koncept, který zahrnuje monitorování napříč všemi fázemi a komponentami cyklu DevOps.
CM nepřetržitě zajišťuje stav, výkon a spolehlivost vašich aplikací a infrastruktury v průběhu vývoje, produkce a vydávání k zákazníkům. Další informace naleznete v tématu:
- Sedm osvědčených postupů pro průběžné monitorování s využitím služby Azure Monitor
- Průběžná integrace a průběžné nasazování do zařízení Azure IoT Edge
Monitorování prostředků
- Monitorování Azure IoT Hub
- Referenční informace k monitorování Azure IoT Hub dat
- Trasování zpráv Azure IoT ze zařízení do cloudu s distribuovaným trasováním
- Kontrola Azure IoT Hub služby a stavu prostředků
- Shromažďování a přenos metrik – Azure IoT Edge
Vysoká dostupnost a zotavení po havárii pro kritické komponenty
Při návrhu a sestavování řešení IoT musíte splňovat smlouvu SLA pro neúspěšné obnovení v rámci zásobníku řešení. Smlouva SLA by vás měla vést informacemi o důležitých součástech systému, které vyžadují vysokou dostupnost a zotavení po havárii. Existuje několik přístupů, od redundance napříč zásobníkem řešení IoT až po redundanci pro konkrétní vrstvy. Náklady jsou také důležitým aspektem při zvažování důležitosti plnění smluv SLA.
Služby Azure IoT mají definované cíle dostupnosti a doby provozu. Projděte si smlouvy SLA pro služby Azure IoT, které jsou součástí vašeho řešení, a zjistěte, jestli splňují vaše cíle v oblasti dostupnosti. Například Azure IoT Hub má smlouvu SLA na 99,9 %, což znamená, že byste měli naplánovat 1 minutu a 36 sekund potenciálního výpadku za den. Sada Azure IoT Hub SDK poskytuje integrovanou konfigurovatelnou logiku pro zpracování opakovaných pokusů a zásad.
Zvažte rozdělení cílů doby provozu do dvou kategorií: správa zařízení a operace příjmu dat. Může být například důležité, aby zařízení úspěšně odesílala data do centra IoT, a to i v případě, že služby správy zařízení nejsou k dispozici. Další informace najdete v tématu funkce spolehlivosti sady Azure IoT Hub SDK.
Zvažte použití redundantního hardwaru pro senzory, napájení a úložiště. Redundantní hardware umožňuje, aby zařízení fungovala, pokud není dostupná důležitá komponenta. S problémy s připojením může pomoct také hardware. Pro data můžete například použít způsob ukládání a předávání dat, když není dostupné připojení. Azure IoT Edge má tuto funkci integrovanou.
Zařízení musí být také schopná zvládat výpadky cloudu. Párování oblastí Azure poskytuje strategii vysoké dostupnosti a zotavení po havárii pro IoT Hub, která splňuje mnoho požadavků smlouvy SLA. Pokud párování oblastí nestačí, zvažte implementaci sekundárního centra IoT. Službu DPS můžete použít také k tomu, abyste se vyhnuli pevně zakódovaným konfiguracím IoT Hub na svých zařízeních. Pokud vaše primární centrum IoT přestane fungovat, může DPS přiřadit vaše zařízení k jinému rozbočovači.
Zvažte implementaci vzoru zpráv prezenčního signálu pro zařízení, u které očekáváte, že budou po většinu času online. Tento model používá vlastní trasu IoT Hub s Azure Stream Analytics, Azure Logic Apps nebo Azure Functions k určení, jestli nedošlo k selhání prezenčního signálu. Prezenční signál můžete použít k definování upozornění služby Azure Monitor, která provádějí akce podle potřeby.
Prostředky pro zajištění vysoké dostupnosti a zotavení po havárii
- Správa možností připojení a spolehlivé zasílání zpráv pomocí sad SDK pro zařízení služby Azure IoT Hub
- Vysoká dostupnost služby IoT Hub a zotavení po havárii
- IoT Hub vysoké dostupnosti a zotavení po havárii v rámci regionu
- IoT Hub vysoké dostupnosti a zotavení po havárii mezi oblastmi
- Klonování centra Azure IoT do jiné oblasti
- Testování dostupnosti a odolnosti aplikací