Omówienie obciążeń IoT
Ta sekcja przewodnika Microsoft Azure Well-Architected Framework ma na celu rozwiązanie problemów związanych z tworzeniem obciążeń IoT na platformie Azure. W tym artykule opisano obszary projektowania IoT, wzorce architektury i warstwy architektury w obciążeniu IoT.
Pięć filarów doskonałości architektury stanowi podstawę metodologii projektowania obciążeń IoT. Te filary służą jako kompas dla kolejnych decyzji projektowych w obszarach projektowych opisanych w tym artykule. Pozostałe artykuły z tej serii umożliwiają ocenę obszarów projektowych przy użyciu zasad projektowania specyficznych dla IoT w zakresie niezawodności, bezpieczeństwa, optymalizacji kosztów, doskonałości operacyjnej i filarów wydajności.
Porada
Aby ocenić obciążenie IoT za pomocą obiektywów niezawodności, zabezpieczeń, optymalizacji kosztów, doskonałości operacyjnej i wydajności, zobacz Przegląd usługi Azure Well-Architected.
Co to jest obciążenie IoT?
Termin obciążenie odnosi się do kolekcji zasobów aplikacji, które obsługują wspólny cel biznesowy lub wykonywanie typowego procesu biznesowego. Te cele lub procesy korzystają z wielu usług, takich jak interfejsy API i magazyny danych. Usługi współpracują ze sobą, aby zapewnić określone kompleksowe funkcje.
Internet rzeczy (IoT) to zbiór usług zarządzanych i platformowych w środowiskach brzegowych i w chmurze, które łączą, monitorują i kontrolują zasoby fizyczne.
W związku z tym obciążenie IoT opisuje praktykę projektowania, tworzenia i obsługi rozwiązań IoT, które pomagają sprostać wyzwaniom architektonicznym zgodnie z wymaganiami i ograniczeniami.
Obciążenie IoT dotyczy trzech składników systemów IoT:
- Rzeczy lub obiekty fizyczne, sprzęt przemysłowy, urządzenia i czujniki, które łączą się z chmurą trwale lub sporadycznie.
- Szczegółowe informacje, które są zbierane przez ludzi lub sztuczną inteligencję, i przekształcają się w wiedzę z możliwością działania.
- Akcje, odpowiedzi osób lub systemów na szczegółowe informacje, które łączą się z wynikami biznesowymi, systemami i narzędziami.
Wzorce architekturY IoT
Większość systemów IoT używa wzorca architektury połączonych produktów lub połączonych operacji . Każdy wzorzec ma określone wymagania i ograniczenia w obszarach projektowych IoT.
Architektury połączonych produktów koncentrują się na ścieżce gorącej. Użytkownicy końcowi zarządzają produktami i korzystają z niej za pomocą aplikacji w czasie rzeczywistym. Ten wzorzec dotyczy producentów inteligentnych urządzeń dla konsumentów i firm w szerokim zakresie lokalizacji i ustawień. Przykłady obejmują inteligentne ekspresy do kawy, inteligentne telewizory i inteligentne maszyny produkcyjne. W tych rozwiązaniach IoT konstruktorzy produktów udostępniają użytkownikom produktów połączone usługi.
Architektury operacji połączonych koncentrują się na ciepłej lub zimnej ścieżce z urządzeniami brzegowymi, alertami i przetwarzaniem w chmurze. Te rozwiązania analizują dane z wielu źródeł, zbierają szczegółowe informacje operacyjne, tworzą modele uczenia maszynowego i inicjują dalsze akcje dotyczące urządzeń i chmury. Wzorzec operacji połączonych ma zastosowanie do przedsiębiorstw i dostawców usług inteligentnych łączących istniejące maszyny i urządzenia. Przykłady obejmują inteligentne fabryki i inteligentne budynki. W tych rozwiązaniach IoT konstruktorzy usług dostarczają inteligentne usługi, które zapewniają szczegółowe informacje i obsługują skuteczność i wydajność połączonych środowisk.
Aby dowiedzieć się więcej na temat podstawowej architektury rozwiązań dla obciążeń IoT, zobacz Architektura referencyjna usługi Azure IoT i Architektura referencyjna usługi Azure IoT specyficzna dla branży.
filary struktury Well-Architected w obciążeniu IoT
Platforma Azure Well-Architected Framework składa się z pięciu filarów doskonałości architektury, których można użyć do poprawy jakości obciążeń IoT. W poniższych artykułach opisano, jak zasady projektowania specyficzne dla IoT wpływają na decyzje w obszarach projektowania IoT:
Niezawodność zapewnia, że aplikacje spełniają zobowiązania dotyczące dostępności. Odporność zapewnia dostępność obciążeń i możliwość odzyskiwania po awariach w dowolnej skali. Niezawodność w obciążeniu IoT opisuje, w jaki sposób obszary projektowe IoT heterogeniczności, skalowalności, łączności i hybrydowości wpływają na niezawodność IoT.
Zabezpieczenia zapewniają poufność, integralność i dostępność przed celowymi atakami i nadużyciami danych i systemów. Zabezpieczenia w obciążeniu IoT opisują, jak heterogeniczność i hybrydowość wpływają na zabezpieczenia IoT.
Optymalizacja kosztów równoważy cele biznesowe z uzasadnieniem budżetowym, aby tworzyć ekonomiczne obciążenia przy jednoczesnym unikaniu rozwiązań intensywnie korzystających z kapitału. Optymalizacja kosztów w obciążeniu IoT analizuje sposoby zmniejszenia wydatków i poprawy wydajności operacyjnej w obszarach projektowych IoT.
Doskonałość operacyjna obejmuje procesy, które kompilują i uruchamiają aplikacje w środowisku produkcyjnym. Doskonałość operacyjna w obciążeniu IoT omawia sposób, w jaki heterogeniczność, skalowalność, łączność i hybrydowość wpływają na operacje IoT.
Wydajność to możliwość wydajnego skalowania obciążenia w celu spełnienia wymagań. Wydajność obciążenia IoT opisuje, jak heterogeniczność, skalowalność, łączność i hybrydowość wpływają na wydajność IoT.
Obszary projektowe IoT
Najważniejsze obszary projektowania IoT, które ułatwiają dobry projekt rozwiązania IoT, to:
- Różnorodności
- Zabezpieczenia
- Skalowalność
- Elastyczność
- Serwisowanie
- Łączność
- Hybrydowość
Obszary projektowe są powiązane, a decyzje podejmowane w jednym obszarze mogą mieć wpływ na decyzje w całym projekcie. Aby ocenić obszary projektowe, należy użyć zasad projektowania specyficznych dla IoT w pięciu filarach doskonałości architektonicznej. Te zasady pomagają wyjaśnić zagadnienia, aby zapewnić, że obciążenie IoT spełnia wymagania w warstwach architektury.
W poniższych sekcjach opisano obszary projektowania IoT oraz sposób ich stosowania do połączonych produktów IoT i połączonych wzorców architektury operacji .
Różnorodności
Rozwiązania IoT muszą obsługiwać różne urządzenia, sprzęt, oprogramowanie, scenariusze, środowiska, wzorce przetwarzania i standardy. Ważne jest, aby zidentyfikować niezbędny poziom heterogeniczności dla każdej warstwy architektury w czasie projektowania.
W architekturach połączonych produktów heterogeniczność opisuje odmiany maszyn i urządzeń, które muszą być obsługiwane. Heterogeniczność opisuje również różne środowiska, w których można wdrażać inteligentny produkt, taki jak sieci i typy użytkowników.
W połączonych architekturach operacji heterogeniczność koncentruje się na obsłudze różnych protokołów technologii operacyjnych (OT) i łączności.
Zabezpieczenia
Rozwiązania IoT muszą uwzględniać środki bezpieczeństwa i prywatności we wszystkich warstwach. Środki zabezpieczeń obejmują:
- Tożsamość urządzenia i użytkownika.
- Uwierzytelnianie i autoryzacja.
- Ochrona danych magazynowanych i przesyłanych.
- Strategie zaświadczania o danych.
W architekturach połączonych produktów ograniczona kontrola nad użyciem produktów w heterogenicznych i szeroko rozproszonych środowiskach wpływa na bezpieczeństwo. Zgodnie z modelem Microsoft Threat Modeling Tool STRIDE, najwyższym ryzykiem dla urządzeń jest manipulowanie, a zagrożenie dla usług wynika z odmowy usług z porwanych urządzeń.
W architekturach operacji połączonych wymagania dotyczące zabezpieczeń środowiska wdrażania są ważne. Zabezpieczenia koncentrują się na konkretnych wymaganiach środowiska OT i modelach wdrażania, takich jak ISA95 i Purdue, oraz integracji z opartą na chmurze platformą IoT. W oparciu o metodę STRIDE najwyższe zagrożenia bezpieczeństwa dla połączonych operacji to fałszowanie, manipulowanie, ujawnienie informacji i podniesienie uprawnień.
Skalowalność
Rozwiązania IoT muszą mieć możliwość obsługi hiper-skalowalności, a miliony połączonych urządzeń i zdarzeń pozyskujących duże ilości danych z dużą częstotliwością. Rozwiązania IoT muszą włączyć weryfikację koncepcji i projektów pilotażowych, które zaczynają się od kilku urządzeń i zdarzeń, a następnie skalować w poziomie do wymiarów hiperskalowania. Biorąc pod uwagę skalowalność każdej warstwy architektury, kluczowe jest pomyślne rozwiązanie IoT.
W architekturach połączonych produktów skala opisuje liczbę urządzeń. W większości przypadków każde urządzenie ma ograniczony zestaw danych i interakcji, kontrolowany przez konstruktora urządzeń, a skalowalność pochodzi tylko z liczby wdrożonych urządzeń.
W połączonych architekturach operacji skalowalność zależy od liczby komunikatów i zdarzeń do przetworzenia. Ogólnie rzecz biorąc, liczba maszyn i urządzeń jest ograniczona, ale maszyny OT i urządzenia wysyłają dużą liczbę komunikatów i zdarzeń.
Elastyczność
Rozwiązania IoT opierają się na zasadzie komposowalności, która umożliwia łączenie różnych składników innych firm lub innych firm jako bloków konstrukcyjnych. Dobrze zaprojektowane rozwiązanie IoT ma punkty rozszerzenia umożliwiające integrację z istniejącymi urządzeniami, systemami i aplikacjami. Architektura oparta na zdarzeniach o dużej skali z komunikacją obsługiwaną przez brokera jest częścią sieci szkieletowej, z luźno powiązanym składem usług i modułów przetwarzania.
W architekturach połączonych produktów zmiana wymagań użytkownika końcowego definiuje elastyczność. Rozwiązania powinny umożliwiać łatwe zmienianie zachowania urządzenia i usług użytkowników końcowych w chmurze oraz świadczenie nowych usług.
W architekturach operacji połączonych obsługa różnych typów urządzeń definiuje elastyczność. Rozwiązania powinny mieć możliwość łatwego łączenia starszych i zastrzeżonych protokołów.
Serwisowanie
Rozwiązania IoT muszą uwzględniać łatwość konserwacji i naprawiania składników, urządzeń i innych elementów systemu. Wczesne wykrywanie potencjalnych problemów ma kluczowe znaczenie. W idealnym przypadku dobrze zaprojektowane rozwiązanie IoT powinno automatycznie naprawiać problemy przed wystąpieniem poważnych problemów. Operacje konserwacji i naprawy powinny spowodować jak najmniejszy przestój lub zakłócenia.
W architekturach połączonych produktów szeroki rozkład urządzeń ma wpływ na użyteczność. Możliwość monitorowania i aktualizowania urządzeń oraz zarządzania nimi w kontekście użytkownika końcowego i kontroli bez bezpośredniego dostępu do tego środowiska jest ograniczona.
W architekturach połączonych operacji użyteczność zależy od danego kontekstu, kontrolek i procedur środowiska OT, które mogą obejmować systemy i protokoły już dostępne lub używane.
Łączność
Rozwiązania IoT muszą mieć możliwość obsługi dłuższych okresów łączności offline, niskiej przepustowości lub sporadycznej łączności. Aby obsługiwać łączność, możesz utworzyć metryki umożliwiające śledzenie urządzeń, które nie komunikują się regularnie.
Połączone produkty działają w niekontrolowanych środowiskach konsumenckich, więc łączność jest nieznana i trudna do utrzymania. Architektury połączonych produktów muszą być w stanie obsługiwać nieoczekiwane rozszerzone okresy łączności offline i o niskiej przepustowości.
W architekturach połączonych operacji model wdrażania środowiska OT wpływa na łączność. Zazwyczaj stopień łączności, w tym sporadycznej łączności, jest znany i zarządzany w scenariuszach OT.
Hybrydowość
Rozwiązania IoT muszą sprostać złożoności hybrydowej, działającej na różnych platformach i sprzęcie w środowiskach lokalnych, brzegowych i wielochmurowych. Kluczowe znaczenie ma zarządzanie różnymi architekturami obciążeń IoT, zapewnienie niekompromizowanych zabezpieczeń i zapewnienie elastyczności deweloperów.
W architekturach połączonych produktów szeroka dystrybucja urządzeń definiuje hybrydowość. Konstruktor rozwiązań IoT kontroluje platformę sprzętu i środowiska uruchomieniowego, a hybrydowość koncentruje się na różnorodności środowisk wdrażania.
W architekturach połączonych operacji hybrydowość opisuje dystrybucję danych i logikę przetwarzania. Wymagania dotyczące skalowania i opóźnienia określają, gdzie należy przetwarzać dane i jak szybko należy przesyłać opinie.
Warstwy architektury IoT
Architektura IoT składa się z zestawu warstw podstawowych. Określone technologie obsługują różne warstwy, a obciążenie IoT wyróżnia opcje projektowania i tworzenia każdej warstwy.
- Podstawowe warstwy identyfikują rozwiązania specyficzne dla IoT.
- Typowe warstwy nie są specyficzne dla obciążeń IoT.
- Warstwy krzyżowe obsługują wszystkie warstwy projektowania, tworzenia i uruchamiania rozwiązań.
Obciążenie IoT dotyczy różnych wymagań i implementacji specyficznych dla warstwy. Struktura koncentruje się na warstwach podstawowych i identyfikuje konkretny wpływ obciążenia IoT na wspólne warstwy.
W poniższych sekcjach opisano warstwy architektury IoT i technologie firmy Microsoft, które je obsługują.
Podstawowe warstwy i usługi
Podstawowe warstwy i usługi IoT określają, czy rozwiązanie jest rozwiązaniem IoT. Podstawowe warstwy obciążenia IoT to:
- Urządzenie i brama
- Zarządzanie urządzeniami i modelowanie
- Pozyskiwanie i komunikacja
Obciążenie IoT koncentruje się głównie na tych warstwach. Aby zrealizować te warstwy, firma Microsoft udostępnia technologie i usługi IoT, takie jak:
- Azure IoT Hub
- Zestawy SDK urządzeń usługi Azure IoT
- Azure IoT Edge
- usługa IoT Hub Device Provisioning Service (DPS)
- Azure Digital Twins
- Azure Sphere.
Porada
Usługa Azure IoT Central to zarządzana platforma aplikacji, której można użyć do szybkiego oceniania scenariusza IoT i oceniania możliwości twojej firmy. Po użyciu usługi IoT Central do oceny scenariusza IoT możesz utworzyć rozwiązanie gotowe do użycia w przedsiębiorstwie przy użyciu możliwości platformy Azure IoT.
Warstwa urządzenia i bramy
Ta warstwa reprezentuje sprzęt fizyczny lub wirtualny i bramę wdrożony na brzegu lub lokalnie. Elementy w tej warstwie obejmują systemy operacyjne i oprogramowanie układowe urządzenia lub bramy. Systemy operacyjne zarządzają procesami na urządzeniach i bramach. Oprogramowanie układowe to oprogramowanie i instrukcje zaprogramowane na urządzeniach i bramach. Ta warstwa jest odpowiedzialna za:
- Wykrywanie i działanie na innych urządzeniach peryferyjnych i czujnikach.
- Przetwarzanie i przesyłanie danych IoT.
- Komunikacja z platformą chmury IoT.
- Zabezpieczenia urządzeń na poziomie podstawowym, szyfrowanie i katalog główny zaufania.
- Zarządzanie oprogramowaniem i przetwarzaniem na poziomie urządzenia.
Typowe przypadki użycia obejmują odczytywanie wartości czujników z urządzenia, przetwarzanie i przesyłanie danych do chmury oraz włączanie komunikacji lokalnej.
Odpowiednie technologie firmy Microsoft obejmują:
- Azure IoT Edge
- Zestawy SDK urządzeń usługi Azure IoT
- Azure RTOS
- Microsoft Defender for IoT
- Azure Sphere
- System Windows dla Internetu rzeczy
Pozyskiwanie i warstwa komunikacji
Ta warstwa agreguje i brokerzy komunikacji między warstwą urządzenia i bramy a rozwiązaniem chmury IoT. Ta warstwa umożliwia:
- Obsługa dwukierunkowej komunikacji z urządzeniami i bramami.
- Agregowanie i łączenie komunikacji z różnych urządzeń i bram.
- Routing komunikacji z określonym urządzeniem, bramą lub usługą.
- Mostkowanie i przekształcanie między różnymi protokołami. Na przykład mediaj usługi w chmurze lub brzegu do komunikatu MQTT przechodzącego do urządzenia lub bramy.
Odpowiednie technologie firmy Microsoft obejmują:
Warstwa zarządzania urządzeniami i modelowania
Ta warstwa obsługuje listę urządzeń i tożsamości bramy, ich stan i możliwości. Ta warstwa umożliwia również tworzenie modeli typów urządzeń i relacji między urządzeniami.
Odpowiednie technologie firmy Microsoft obejmują:
- bliźniacze reprezentacje urządzeń IoT Hub
- Usługa IoT Hub Device Provisioning
- Azure Digital Twins
- IoT Plug and Play
Typowe warstwy i usługi
Obciążenia inne niż IoT, takie jak dane & sztucznej inteligencji i nowoczesne aplikacje, również korzystają ze wspólnych warstw. Platforma Azure Well-Architected Framework najwyższego poziomu odpowiada ogólnym elementom tych wspólnych warstw, a inne struktury obciążeń spełniają inne wymagania. Poniższe sekcje dotyczą wpływu IoT na wymagania i zawierają linki do innych wskazówek.
Warstwa transportu
Ta warstwa reprezentuje sposób, w jaki urządzenia, bramy i usługi łączą się i komunikują, protokoły, których używają, oraz sposób przenoszenia lub kierowania zdarzeń, zarówno w środowisku lokalnym, jak i w chmurze.
Odpowiednie technologie firmy Microsoft obejmują:
- Protokoły OT i IoT, takie jak MQTT(S), AMQP,HTTPS, OPC-UA i Modbus
- routing IoT Hub
- trasy IoT Edge
Przetwarzanie zdarzeń i warstwa analizy
Ta warstwa przetwarza zdarzenia IoT i działa na zdarzeniach IoT z warstwy pozyskiwania i komunikacji.
- Przetwarzanie strumienia i analiza ścieżki gorącej są wykonywane niemal w czasie rzeczywistym w celu zidentyfikowania natychmiastowych szczegółowych informacji i akcji. Na przykład przetwarzanie strumieniowe generuje alerty w przypadku wzrostu temperatury.
- Przetwarzanie i analiza ścieżki ciepłej identyfikują krótkoterminowe szczegółowe informacje i akcje. Na przykład analiza przewiduje trend rosnących temperatur.
- Przetwarzanie ścieżek zimnych i analiza tworzą inteligentne modele danych dla ścieżek gorących lub ciepłych do użycia.
Odpowiednie technologie firmy Microsoft obejmują:
- Azure Stream Analytics
- Azure Functions
- Azure Databricks
- Azure Machine Learning
- Azure Synapse Analytics
Warstwa magazynowania
Ta warstwa utrzymuje dane o zdarzeniu i stanie urządzenia IoT przez pewien czas. Typ magazynu zależy od wymaganego użycia danych.
- Magazyn przesyłany strumieniowo, taki jak kolejki komunikatów, rozdzielaj usługi IoT i dostępność komunikacji.
- Magazyn oparty na szeregach czasowych umożliwia analizę ścieżki ciepłej.
- Magazyn długoterminowy obsługuje tworzenie modeli uczenia maszynowego i sztucznej inteligencji.
Odpowiednie technologie firmy Microsoft obejmują:
Warstwa interakcji i raportowania
Ta warstwa umożliwia użytkownikom końcowym interakcję z platformą IoT oraz wgląd w stan urządzenia, analizę i przetwarzanie zdarzeń.
Odpowiednie technologie firmy Microsoft obejmują:
Warstwa integracji
Ta warstwa umożliwia interakcję z systemami spoza rozwiązania IoT przy użyciu interfejsów API komunikacji między maszynami lub usługami.
Odpowiednie technologie firmy Microsoft obejmują:
Działania wycinania krzyżowego
Działania krzyżowe, takie jak DevOps, ułatwiają projektowanie, tworzenie, wdrażanie i monitorowanie rozwiązań IoT. Metodyka DevOps umożliwia dawniej silosom role, takie jak programowanie, operacje, inżynieria jakości i zabezpieczenia, koordynowanie i współpraca w celu tworzenia lepszych, bardziej niezawodnych i elastycznych produktów.
Metodyka DevOps jest dobrze znana w tworzeniu oprogramowania, ale może być stosowana do dowolnego produktu lub procesu tworzenia i operacji. Zespoły, które przyjmują kulturę, praktyki i narzędzia DevOps, mogą lepiej reagować na potrzeby klientów, zwiększać zaufanie do aplikacji i produktów, które tworzą, i szybciej osiągać cele biznesowe.
Na poniższym diagramie przedstawiono cykl ciągłego planowania, programowania, dostarczania i operacji DevOps:
Działania związane z programowaniem i wdrażaniem obejmują projektowanie, kompilowanie, testowanie i wdrażanie rozwiązania IoT oraz jego składników. Działanie obejmuje wszystkie warstwy i obejmuje sprzęt, oprogramowanie układowe, usługi i raporty.
Działania związane z zarządzaniem i operacjami identyfikują bieżący stan kondycji systemu IoT we wszystkich warstwach.
Poprawne wykonywanie metodyki DevOps i innych działań krzyżowych może określić powodzenie w tworzeniu i uruchamianiu dobrze zaprojektowanego rozwiązania IoT. Działania przekrojowe pomagają spełnić wymagania określone w czasie projektowania i dostosować się do zmieniających się wymagań w czasie. Ważne jest, aby wyraźnie ocenić swoją wiedzę w tych działaniach i podjąć środki w celu zapewnienia wykonania na wymaganym poziomie jakości.
Odpowiednie technologie firmy Microsoft obejmują:
- Program Visual Studio
- Azure DevOps
- Microsoft Security Development Lifecycle (SDL)
- Azure Monitor
- Azure Arc
- Microsoft Defender for IoT
- Microsoft Sentinel