Referencyjna architektura usługi Azure IoT

Blob Storage
Funkcje
Usługa IoT Hub
IoT Device Provisioning Service
Logic Apps
Stream Analytics

W tym artykule omówiono zalecaną architekturę dla aplikacji IoT korzystających ze składników PaaS platformy Azure (platforma jako usługa). Na poniższym diagramie przedstawiono różne składniki platformy Azure, których można użyć do tworzenia architektury rozwiązania IoT. Na diagramie przedstawiono i wyróżnione w artykule większość najczęściej używanych usług, ale żadne rozwiązanie nie wymaga ich wszystkich. Jeśli dopiero zaczynasz pracę z usługą Azure IoT lub chcesz utworzyć swoje pierwsze rozwiązanie do weryfikacji koncepcji, zacznij tutaj:

Diagram architektury

Ta referencyjna architektura korzysta ze składników usługi Azure PaaS (platforma jako usługa). Firma Microsoft zaleca rozpoczęcie pracy z Azure IoT Central, czyli platformą rozwiązania IoT aPaaS (platforma jako usługa). Została ona zaprojektowana w celu uproszczenia i przyspieszenia przedstawionych w nim operacji i zestawu rozwiązań IoT przez wstępne zebranie, skalowanie i zarządzanie wieloma tymi samymi usługami PaaS opisanymi w tej architekturze referencyjnej. W efekcie jest gotowy do użycia obszar środowiska użytkownika i interfejsu API z możliwościami wymaganymi do łączenia i obsługi floty urządzeń oraz zarządzania nimi na dużą skalę. Dowiedz się więcej na temat porównywania IoT Central (aPaaS) z rozwiązaniem PaaS w zależności od potrzeb rozwiązania.

Rozwiązania Azure IoT obejmują rzeczy (zazwyczaj urządzenia), które generują dane, szczegółowe informacje o danych oraz akcje, które są podejmowane na podstawie szczegółowych informacji. Rozważ silnik, który wysyła dane dotyczące temperatury. Te dane służą do oceny, czy silnik działa zgodnie z oczekiwaniami. Szczegółowe informacje o jego wydajności służą do ustalania priorytetów harmonogramu konserwacji silnika.

Urządzenia

Usługa Azure IoT obsługuje szeroką gamę urządzeń, od mikrokontrolerów z systemem Azure RTOS i Azure Sphere po tablice dewelopera, takie jak MX Chip i Raspberry Pi. Usługa Azure IoT obsługuje również bramy serwerów inteligentnych, które mogą uruchamiać kod niestandardowy. Urządzenia mogą wykonywać lokalne przetwarzanie za pośrednictwem usługi, takiej jak Azure IoT Edge, lub po prostu łączyć się bezpośrednio z platformą Azure, aby mogły wysyłać dane do rozwiązania IoT i odbierać je z nich.

Gdy urządzenia są połączone z chmurą, istnieje kilka usług, które pomagają w pozysłaniu danych. Azure IoT Hub to usługa bramy w chmurze, która umożliwia bezpieczne łączenie urządzeń i zarządzanie nimi. IoT Hub Device Provisioning Service (DPS) umożliwia bez dotykową aprowizowanie typu just in time, co pomaga zarejestrować dużą liczbę urządzeń w bezpieczny i skalowalny sposób. Azure Digital Twins umożliwia korzystanie z modeli wirtualnych systemów rzeczywistych.

Insights

Po połączeniu urządzeń w chmurze ich dane można przetwarzać i eksplorować w celu uzyskania niestandardowych szczegółowych informacji o środowisku. Na wysokim poziomie istnieją trzy sposoby przetwarzania ścieżki gorącej danych, ścieżki — ciepłej i ścieżki zimnej. Różnica między nimi ma związek z wymaganiami dotyczącymi opóźnienia i dostępu do danych.

  • Ścieżka gorąca analizuje dane niemal w czasie rzeczywistym, gdy docierają. Na ścieżce gorącej dane telemetryczne muszą być przetwarzane z bardzo małymi opóźnieniami. Ścieżka gorąca jest zwykle implementowana przy użyciu aparatu przetwarzania strumienia. Rozważ użycie usług, takich jak Azure Stream Analytics lub HDInsight. Dane wyjściowe mogą wyzwalać alert lub mogą być zapisywane w ustrukturyzowanym formacie, względem którego można wysyłać zapytania za pomocą narzędzi analitycznych.
  • Ścieżka rozgrzewa analizuje dane, które mogą obsłużyć dłuższe opóźnienia w celu bardziej szczegółowego przetwarzania. Rozważ Azure Data Explorer usługi Azure Time Series Szczegółowe informacje do przechowywania i analizowania dużych ilości danych.
  • W przypadku ścieżki zimnej wykonywane jest przetwarzanie wsadowe w dłuższych odstępach czasu (co godzinę lub raz dziennie). Ścieżka zimna zwykle działa na dużych woluminach danych, które mogą być przechowywane w usłudze Azure Data Lake, a wyniki nie muszą być tak terminowe jak ścieżki gorące lub ciepłe. Rozważ użycie Azure Machine Learning lub Azure Databricks do analizowania zimnych danych.

Akcje

Zebrane szczegółowe informacje o danych mogą być wykorzystywane do zarządzania środowiskiem i kontrolowania go. Działania integracji biznesowej mogą obejmować przechowywanie komunikatów informacyjnych, alarmy, wysyłanie wiadomości e-mail lub SMS albo integrację z aplikacjami biznesowymi, takimi jak CRM i ERP. Następujące usługi są dostępne na potrzeby integracji zarządzania i działalności biznesowej:

  • Power BI się z danymi, modeluje je i wizualizuje. Power BI umożliwia współpracę nad danymi i korzystanie ze sztucznej inteligencji w celu podejmowania decyzji opartych na danych.
  • Usługa Azure Mapy umożliwia tworzenie aplikacji internetowych i mobilnych z roze względu na lokalizację przy użyciu usług geoprzestrzennych (wyszukiwanie, mapy, routing, śledzenie i ruch), interfejsów API i zestawów SDK.
  • Azure Cognitive Search udostępnia usługę wyszukiwania dla różnych typów zawartości. Obejmuje to indeksowanie, wzbogacanie AI i możliwości wykonywania zapytań.
  • Usługa Azure API Management zapewnia jedno miejsce do zarządzania wszystkimi interfejsami API.
  • Usługa Azure Web Apps umożliwia wdrażanie aplikacji internetowych, które można skalować w organizacji.
  • Mobile Apps umożliwia tworzenie aplikacji natywnych i międzyplatformowych dla systemów iOs, Android, Windows lub Mac.
  • Usługa Dynamics 365 łączy rozwiązania CRM (zarządzanie relacjami z klientami) i ERP (planowanie zasobów przedsiębiorstwa) w chmurze.
  • Microsoft Flow to oferta SaaS do automatyzacji przepływów pracy między aplikacjami i innymi usługami SaaS.
  • Azure Logic Apps to oparta na chmurze oferta PaaS używana do tworzenia i automatyzowania przepływów pracy, które integrują Twoje aplikacje, dane, usługi i systemy.

Platforma Azure oferuje również kilka usług, które ułatwiają monitorowanie całego rozwiązania IoT i zabezpieczanie go. Usługi diagnostyczne obejmują Azure Monitor. Usługi zabezpieczeń, takie jak Azure Active Directory i Azure Defender dla IoT, ułatwiają kontrolowanie i wyświetlanie ustawień zabezpieczeń, wykrywania zagrożeń i reagowania na nie oraz zarządzanie nimi.

Digital Twins

Klienci eksplorują Digital Twins jako mechanizm kontrolowania i monitorowania połączonych środowisk. Bliźniacze reprezentacji to wirtualny model rzeczywistego środowiska, które jest oparte na danych z systemów biznesowych i urządzeń IoT. Służy do włączania szczegółowych informacji i akcji dla firmy lub organizacji. Deweloperzy i architekci szukają bliźniaczych reprezentacji cyfrowych jako rozwiązania umożliwiającego inteligentne i połączone środowiska, takie jak następujące:

  • Konserwacja predykcyjna w produkcji
  • Widoczność łańcucha dostaw
  • Inteligentne półki magazynowe w czasie rzeczywistym
  • Połączone domy i inteligentne budynki

Wdrażanie na dużą skalę

Skompilowanie rozwiązania do wdrożenia na skalę globalną. Aby uzyskać optymalną skalowalność, skompilować aplikację IoT jako odrębne usługi, które można skalować niezależnie. Ta sekcja zawiera zagadnienia dotyczące skalowalności dla różnych usług platformy Azure.

Funkcje. W przypadku odczytywania z punktu końcowego usługi Event Hubs istnieje maksimum wystąpienia funkcji na partycję centrum zdarzeń. Maksymalne tempo przetwarzania jest określane przez to, jak szybko jedno wystąpienie funkcji może przetwarzać wydarzenia z jednej partycji. Funkcja powinna przetwarzać komunikaty w partiach.

IoT Hub . W przypadku usługi IoT Hub należy wziąć pod uwagę następujące czynniki skalowania:

  • Maksymalny dzienny limit komunikatów dostarczanych do usługi IoT Hub.
  • Limit przydziału połączonych urządzeń w wystąpieniu usługi IoT Hub.
  • Przepływność pozyskiwania — jak szybko usługa IoT Hub może pozyskiwać komunikaty.
  • Przepływność przetwarzania — jak szybko są przetwarzane komunikaty przychodzące.

Każde centrum IoT jest aprowowane przy użyciu określonej liczby jednostek w określonej warstwie cenowej i warstwie skalowania. Warstwa i liczba jednostek określają maksymalny dzienny limit przydziału komunikatów, które urządzenia mogą wysyłać do centrum. Aby uzyskać więcej informacji, zobacz IoT Hub limity przydziału i ograniczanie przepustowości. Centrum można skalować w górę bez przerywania istniejących operacji.

Stream Analytics. Zadania usługi Stream Analytics skalują się najlepiej, jeśli w potoku usługi Stream Analytics są równoległe we wszystkich punktach, od danych wejściowych, przez zapytanie, do danych wyjściowych. W pełni równoległe zadanie umożliwia usłudze Stream Analytics podzielenie pracy na wiele węzłów obliczeniowych. Aby uzyskać więcej informacji, zobacz Korzystanie z przetwarzania równoległego zapytań w usłudze Azure Stream Analytics.

Usługa IoT Hub automatycznie dzieli na partycje komunikaty urządzenia na podstawie identyfikatora urządzenia. Wszystkie komunikaty z określonego urządzenia zawsze są dostarczane do tej samej partycji, ale jedna partycja zawiera komunikaty z wielu urządzeń. Z tego względu jednostka przetwarzania równoległego jest identyfikatorem partycji.

Zabezpieczenia

Ta sekcja zawiera zagadnienia dotyczące tworzenia bezpiecznych rozwiązań.

Zero Trust zabezpieczeń

Zero Trust to model zabezpieczeń, który zakłada, że dojdzie do naruszeń i traktuje każdą próbę dostępu tak, jakby pochodziła z otwartej sieci. Zero Trust zakłada, że zaimplementowano podstawy, takie jak zabezpieczanie tożsamości i ograniczanie dostępu. Obejmuje to jawne weryfikowanie użytkowników, wgląd w ich urządzenia i możliwość podejmowania dynamicznych decyzji dotyczących dostępu przy użyciu wykrywania ryzyka w czasie rzeczywistym. Po poznaniu podstaw możesz skoncentrować się na następujących wymaganiach Zero Trust rozwiązań IoT:

  • Używanie silnej tożsamości do uwierzytelniania urządzeń.
  • Użyj dostępu z najmniejszymi uprawnieniami, aby ograniczyć ryzyko związane z promieniem promienia.
  • Monitoruj kondycję urządzenia, aby ująć w bramę dostęp lub flagować urządzenia do skorygowania.
  • Przeprowadzanie aktualizacji w celu utrzymania dobrej kondycji urządzeń.
  • Monitorowanie w celu wykrywania pojawiających się zagrożeń i reagowania na nie.

Przeczytaj oficjalny Zero Trust cyberbezpieczeństwa dla Internet rzeczy, aby uzyskać szczegółowe informacje.

Godna zaufania i bezpieczna komunikacja

Wszystkie informacje otrzymane z urządzenia i wysłane do urządzenia muszą być wiarygodne. Jeśli urządzenie nie obsługuje poniższych funkcji kryptograficznych, powinno zostać ograniczone do sieci lokalnych, a cała komunikacja między sieciami powinna przechodzić przez bramę działającą w terenie:

  • Szyfrowanie danych i podpisy cyfrowe za pomocą algorytmu szyfrowania kluczem symetrycznym, który jest szeroko analizowany, publicznie analizowany i szeroko implementowany.
  • Obsługa protokołu TLS 1.2 dla protokołu TCP lub innych ścieżek komunikacji opartych na strumieniu bądź protokołu DTLS 1.2 dla ścieżek komunikacji opartych na datagramie. Obsługa certyfikatu X.509 jest opcjonalna i można ją zastąpić efektywniejszym pod względem obliczeń i komunikacji sieciowej wstępnie udostępnionym trybem klucza dla protokołu TLS, który można zaimplementować z obsługą algorytmów AES i SHA-2.
  • Magazyn kluczy i klucze dla poszczególnych urządzeń z możliwością aktualizacji. Każde urządzenie musi mieć unikatowy materiał klucza lub tokeny, które identyfikują je w systemie. Urządzenia powinny przechowywać klucze bezpiecznie (na przykład przy użyciu bezpiecznego magazynu kluczy). Urządzenie powinno być w stanie aktualizować klucze lub tokeny okresowo bądź w sposób reaktywny w sytuacjach awaryjnych, takich jak naruszenie systemu.
  • Oprogramowanie układowe i oprogramowanie aplikacji na urządzeniu musi zezwalać na aktualizacje, aby umożliwić naprawę wykrytych luk w zabezpieczeniach.

Wiele urządzeń jest zbyt ograniczonych, aby spełnić te wymagania. W takiej sytuacji należy używać bramy działającej w terenie. Urządzenia łączą się bezpiecznie z bramą działającą w terenie za pośrednictwem sieci lokalnej, a brama umożliwia bezpieczną komunikację z chmurą.

Fizyczne zabezpieczanie przed manipulacjami

Zdecydowanie zaleca się, aby projekt urządzenia obejmował funkcje, które chronią przed próbami fizycznej manipulacji, co pozwoli zapewnić integralność zabezpieczeń i wiarygodność całego systemu.

Na przykład:

  • Wybierz mikrokontrolery/mikroprocesory lub sprzęt pomocniczy, który zapewnia bezpieczny magazyn i użycie materiału klucza kryptograficznego, takiego jak integracja z modułem TPM (Trusted Platform Module).
  • Bezpieczny moduł ładujący rozruchu i bezpieczne ładowanie oprogramowania zakotwiczone w tpm.
  • Używaj czujników do wykrywania prób włamania i prób manipulowania środowiskiem urządzenia za pomocą alertów i potencjalnego "samozniszczenia cyfrowego" urządzenia.

Aby zapoznać się z dodatkowymi zagadnieniami związanymi z zabezpieczeniami, zobacz Architektura zabezpieczeń Internetu rzeczy (IoT).

Wydajność i niezawodność

Kluczowym obszarem, który należy wziąć pod uwagę w przypadku odpornych rozwiązań IoT, jest ciągłość działalności biznesowej i odzyskiwanie po awarii. Projektowanie pod potrzeby wysokiej dostępności (HA) i odzyskiwania po awarii (DR) może pomóc w zdefiniowaniu i osiągnięciu celów wymaganego czasu pracy dla rozwiązania.

Różne usługi platformy Azure oferują różne opcje nadmiarowości i trybu failover, które ułatwiają osiągnięcie celów czasu pracy, które najlepiej odpowiadają celom biznesowym. Włączenie dowolnej z tych alternatyw wysokiej jakości/dr do rozwiązania IoT wymaga starannej oceny różnic między:

  • Wymagany poziom odporności
  • Złożoność implementacji i konserwacji
  • Wpływ na koszt towarów sprzedanych (COGS, Cost of Goods Sold)

W artykule Azure Business Continuity Technical Guidance(Wskazówki techniczne dotyczące ciągłości działania na platformie Azure) opisano ogólną platformę, która pomoże Ci myśleć o ciągłości działania i   odzyskiwaniu po awarii. Dokument Odzyskiwanie po awariii wysoka dostępność dla aplikacji platformy Azure zawiera wskazówki dotyczące projektowania architektury dotyczące strategii dla aplikacji platformy Azure w celu osiągnięcia wysokiej dostępności i odzyskiwania   po awarii .

Informacje o wydajności specyficzne dla usługi można również znaleźć w dokumentacji poszczególnych usług Azure IoT.

Kwestie związane z kosztami

Ogólnie rzecz biorąc, użyj kalkulatora cen platformy Azure, aby oszacować koszty. Inne zagadnienia zostały opisane w sekcji Koszty w Microsoft Azure Well-Architected Framework.

Następne kroki

Aby uzyskać więcej informacji na temat poszczególnych elementów architektury rozwiązania, zobacz następujące tematy: