Referencyjna architektura usługi Azure IoT

Funkcje
Usługa IoT Hub
IoT Device Provisioning Service
Stream Analytics
Digital Twins

W tym artykule omówiono zalecaną architekturę dla aplikacji IoT przy użyciu składników usługi Azure PaaS (platforma jako usługa). Poniższy diagram odzwierciedla różne składniki platformy Azure, których można użyć do tworzenia architektury rozwiązania IoT. Na diagramie przedstawiono, a artykuł wyróżnia większość najczęściej używanych usług, ale żadne rozwiązanie nie wymaga ich wszystkich.

Diagram of the architecture

Ta referencyjna architektura korzysta ze składników usługi Azure PaaS (platforma jako usługa). Firma Microsoft zaleca rozpoczęcie pracy z usługą Azure IoT Central, która jest platformą rozwiązań IoT aPaaS (platforma jako usługa). Jest ona przeznaczona do upraszczania i przyspieszania zestawów i operacji rozwiązania IoT przez wstępne łączenie, skalowanie i zarządzanie wieloma tymi samymi usługami PaaS opisanymi w tej architekturze referencyjnej. Wynikiem jest gotowe do użycia obszar środowiska użytkownika i powierzchni interfejsu API oraz możliwości potrzebne do nawiązywania połączenia, zarządzania i obsługi floty urządzeń na dużą skalę. Dowiedz się więcej o tym, jak porównać usługę IoT Central (aPaaS) z podejściem rozwiązania PaaS na podstawie potrzeb rozwiązania.

Rozwiązania usługi Azure IoT obejmują rzeczy (zazwyczaj urządzenia), które generują dane, szczegółowe informacje o danych i akcje wykonywane 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 określania priorytetów harmonogramu konserwacji silnika.

Jeśli chcesz zobaczyć architektury referencyjne IoT, które dotyczą rozwiązań specyficznych dla branży, możesz rozpocząć tutaj:

Urządzenia

Usługa Azure IoT obsługuje wiele urządzeń— od mikrokontrolerów z systemem Azure RTOS i Azure Sphere po tablice deweloperskie, 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ć pewne lokalne przetwarzanie za pośrednictwem usługi, takiej jak Azure IoT Edge, lub po prostu łączyć się bezpośrednio z platformą Azure, aby mogli wysyłać dane do rozwiązania IoT i odbierać je.

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

Insights

Po połączeniu urządzeń w chmurze ich dane można przetwarzać i eksplorować w celu uzyskania niestandardowych szczegółowych informacji o swoim środowisku. Na wysokim poziomie istnieją trzy sposoby przetwarzania danych — ścieżka gorąca, ścieżka ciepła i ścieżka zimna. 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 w czasie niemal rzeczywistym podczas ich nadejścia. 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 ciepła analizuje dane, które mogą pomieścić dłuższe opóźnienia w celu bardziej szczegółowego przetwarzania. Rozważ użycie usługi Azure Data Explorer lub Azure Time Series Insights 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 ilościach danych, które mogą być przechowywane w usłudze Azure Data Lake, a wyniki nie muszą być tak czasochłonne, jak gorące lub ciepłe ścieżki. Rozważ użycie Azure Machine Learning lub usługi Azure Databricks do analizowania zimnych danych.

Akcje

Możesz użyć szczegółowych informacji zebranych na temat danych, aby zarządzać środowiskiem i kontrolować je. Akcje integracji biznesowej mogą obejmować przechowywanie wiadomości informacyjnych, zgłaszanie alarmów, wysyłanie wiadomości e-mail lub SMS wiadomości lub integrowanie z aplikacjami biznesowymi, takimi jak CRM i ERP. Dostępne są następujące usługi do zarządzania i integracji biznesowej:

  • Power BI łączy się z danymi, modelami i wizualizuje dane. Power BI umożliwia współpracę nad danymi i używanie sztucznej inteligencji do podejmowania decyzji opartych na danych.
  • Azure Maps umożliwia tworzenie aplikacji internetowych i mobilnych obsługujących lokalizację przy użyciu usług geoprzestrzennych (wyszukiwania, map, routingu, śledzenia i ruchu), interfejsów API i zestawów SDK.
  • Azure Cognitive Search udostępnia usługę wyszukiwania w różnych typach zawartości. Obejmuje to funkcje indeksowania, wzbogacania sztucznej inteligencji i 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 skalowanych w organizacji.
  • Usługa Mobile Apps umożliwia tworzenie międzyplatformowych i natywnych aplikacji dla systemów iOS, Android, Windows lub Mac.
  • Usługa Dynamics 365 łączy crm (zarządzanie relacjami klientów) 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 służąca do tworzenia i automatyzowania przepływów pracy, które integrują aplikacje, dane, usługi i systemy.

Istnieje również kilka usług oferowanych przez platformę Azure, które ułatwiają monitorowanie całego rozwiązania IoT i zapewnienie bezpieczeństwa. Usługi diagnostyczne obejmują usługę Azure Monitor. Usługi zabezpieczeń, takie jak Azure Active Directory i Microsoft Defender dla IoT, pomagają kontrolować, wyświetlać i zarządzać ustawieniami zabezpieczeń, wykrywaniem zagrożeń i reagowaniem na nie.

Digital Twins

Klienci badają usługę Digital Twins jako mechanizm kontrolowania i monitorowania połączonych środowisk. Digital Twin to wirtualny model rzeczywistego środowiska opartego 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 chcą cyfrowych reprezentacji bliźniaczych jako rozwiązania, które umożliwia inteligentne i połączone środowiska, takie jak:

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

Wdrażanie na dużą skalę

Skompiluj rozwiązanie w celu wdrożenia na dużą skalę globalną. Aby uzyskać optymalną skalowalność, skompiluj aplikację IoT jako dyskretne 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 IoT Hub może pozyskiwać komunikaty.
  • Przetwarzanie przepływności — jak szybko są przetwarzane komunikaty przychodzące.

Każde centrum IoT jest aprowizowane przy użyciu określonej liczby jednostek w określonej warstwie cenowej i 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ń.

model zabezpieczeń Zero Trust

Zero Trust jest modelem 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 urządzenia i możliwość podejmowania dynamicznych decyzji dotyczących dostępu przy użyciu wykrywania ryzyka w czasie rzeczywistym. Po spełnieniu podstaw możesz przenieść fokus na następujące Zero Trust wymagania dotyczące rozwiązań IoT:

  • Używanie silnej tożsamości do uwierzytelniania urządzeń.
  • Użyj najmniej uprzywilejowanego dostępu, aby ograniczyć promień wybuchu.
  • Monitorowanie kondycji urządzenia w celu uzyskania dostępu lub flagowania urządzeń w celu korygowania.
  • Wykonywanie aktualizacji w celu zachowania dobrej kondycji urządzeń.
  • Monitoruj wykrywanie pojawiających się zagrożeń i reagowanie na nie.

Aby uzyskać szczegółowe informacje, przeczytaj oficjalny dokument Zero Trust Cybersecurity for the Internet of Things (Cyberbezpieczeństwo dla Internetu rzeczy).

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 z bezpiecznym, publicznie analizowanym i szeroko implementowanym algorytmem szyfrowania klucza symetrycznego.
  • 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ł lub tokeny klucza identyfikujące go 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 do obsługi tych wymagań. 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 modułu TPM (Trusted Platform Module).
  • Bezpieczny moduł ładujący rozruchu i bezpieczne ładowanie oprogramowania zakotwiczone w module TPM.
  • Użyj czujników, aby wykryć próby włamania i próby manipulowania środowiskiem urządzenia za pomocą alertów i potencjalnego "cyfrowego samozniszczenia" urządzenia.

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

Wydajność i niezawodność

Kluczowym obszarem uwzględnienia odpornych rozwiązań IoT jest ciągłość działalności biznesowej i odzyskiwanie po awarii. Projektowanie pod kątem wysokiej dostępności (HA) i odzyskiwania po awarii (DR) może pomóc w zdefiniowaniu i osiągnięciu wymaganych celów czasu pracy dla rozwiązania.

Różne usługi platformy Azure oferują różne opcje nadmiarowości i trybu failover, aby ułatwić osiągnięcie celów związanych z czasem pracy, które najlepiej odpowiadają twoim celom biznesowym. Włączenie dowolnej z tych alternatyw wysokiej dostępności/odzyskiwania po awarii do rozwiązania IoT wymaga dokładnej oceny kompromisów między:

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

W artykule Azure Business Continuity Technical Guidance (Wskazówki techniczne dotyczące ciągłości działania platformy Azure ) opisano ogólną strukturę, która ułatwia zastanowienie się nad ciągłością biznesową i odzyskiwaniem po awarii. Dokument Odzyskiwanie po awarii i wysoka dostępność 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 (HA) i odzyskiwania po awarii (DR).

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

Kwestie związane z kosztami

Ogólnie rzecz biorąc, użyj kalkulatora cen platformy Azure , aby oszacować koszty. Inne zagadnienia opisano w sekcji Koszty w programie 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: