Referencyjna architektura usługi Azure IoT

Azure Functions
Azure IoT Hub
Azure Stream Analytics
Azure Digital Twins

Niestandardowe rozwiązania IoT można tworzyć, tworząc składniki usługi Azure PaaS (platforma jako usługa), jak opisano w tym artykule. W artykule i na tym diagramie opisano składniki i usługi platformy Azure, których często używają rozwiązania IoT, ale żadne pojedyncze rozwiązanie nie używa wszystkich tych składników.

Architektura

Diagram showing architecture for IoT applications using Azure PaaS components.

Pobierz plik programu Visio z tą architekturą.

Przepływ pracy

Rozwiązania usługi Azure IoT obejmują:

  • Zazwyczaj urządzenia generujące dane.
  • Szczegółowe informacje, że utworzysz informacje o danych.
  • Akcje , które są podejmowane na podstawie szczegółowych informacji.

Na przykład silnik wysyła dane dotyczące temperatury. Te dane służą do oceny, czy silnik działa zgodnie z oczekiwaniami. Możesz użyć szczegółowych informacji na temat wydajności silnika, aby określić priorytety harmonogramu konserwacji.

Urządzenia

Usługa Azure IoT obsługuje szeroką gamę urządzeń— od mikrokontrolerów z systemami 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 umożliwić wysyłanie danych do rozwiązania IoT i odbieranie ich z rozwiązania IoT.

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

Wyniki analiz

Gdy urządzenia są połączone z chmurą, możesz przetwarzać i eksplorować ich dane, aby uzyskać dostosowane szczegółowe informacje na temat ich środowiska. Na wysokim poziomie istnieją trzy sposoby przetwarzania danych: ścieżka gorąca, ścieżka ciepła i ścieżka zimna. Ścieżki różnią się wymaganiami dotyczącymi opóźnienia i dostępu do danych.

  • Ścieżka gorąca analizuje dane niemal w czasie rzeczywistym w miarę ich nadejścia. Dane telemetryczne ścieżki gorącej muszą być przetwarzane z bardzo małym opóźnieniem. Ścieżka gorąca zwykle używa aparatu przetwarzania strumieniowego. Rozważ użycie usług, takich jak Azure Stream Analytics lub Azure HDInsight. Dane wyjściowe mogą wyzwalać alert lub być zapisywane w formacie ustrukturyzowanym, który można wykonywać zapytania przy użyciu 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 do przechowywania i analizowania dużych ilości danych.
  • Ścieżka zimna wykonuje przetwarzanie wsadowe w dłuższych odstępach czasu, takich jak co godzinę lub codziennie. Ścieżka zimna zwykle działa na dużych ilościach danych, które mogą być przechowywane w usłudze Azure Data Lake Storage. Wyniki nie muszą być tak terminowe, jak w gorących lub ciepłych ścieżkach. Rozważ użycie usługi Azure Machine Edukacja lub Azure Databricks do analizowania zimnych danych.

Akcje

Możesz użyć szczegółowych informacji zbieranych na temat danych, aby zarządzać środowiskiem i kontrolować je. Akcje integracji biznesowej mogą obejmować:

  • Przechowywanie komunikatów informacyjnych.
  • Podnoszenie alarmów.
  • Wysyłanie wiadomości e-mail lub wiadomości SMS.
  • Integracja z aplikacjami biznesowymi, takimi jak zarządzanie relacjami z klientami (CRM) i planowanie zasobów przedsiębiorstwa (ERP).

Do zarządzania i integracji biznesowej można użyć następujących usług:

  • Usługa Power BI łączy się z danymi, modelami i wizualizuje dane. Usługa Power BI umożliwia współpracę nad danymi i używanie sztucznej inteligencji do podejmowania decyzji opartych na danych.
  • Usługa Azure Mapy tworzy aplikacje internetowe i mobilne obsługujące lokalizację przy użyciu geoprzestrzennych interfejsów API, zestawów SDK i usług, takich jak wyszukiwanie, mapy, routing, śledzenie i ruch.
  • Usługa Azure Cognitive Search udostępnia usługę wyszukiwania dla różnych typów zawartości. Wyszukiwanie poznawcze obejmuje funkcje indeksowania, wzbogacania sztucznej inteligencji i wykonywania zapytań.
  • Usługa Azure API Management udostępnia jedno miejsce do zarządzania wszystkimi interfejsami API.
  • usługa aplikacja systemu Azure wdraża aplikacje internetowe skalowane w organizacji.
  • Usługa Azure Mobile Apps tworzy międzyplatformowe i natywne aplikacje dla systemów iOS, Android, Windows lub Mac.
  • Usługa Dynamics 365 łączy systemy CRM i ERP w chmurze.
  • Microsoft Power Automate (Microsoft Flow) to oferta SaaS służąca do automatyzowania przepływów pracy między aplikacjami i innymi usługami SaaS.
  • Usługa Azure Logic Apps tworzy i automatyzuje przepływy pracy, które integrują aplikacje, dane, usługi i systemy.

Platforma Azure udostępnia również kilka usług, które ułatwiają monitorowanie całego rozwiązania IoT i zabezpieczanie go. Usługi diagnostyczne obejmują usługę Azure Monitor. Usługi zabezpieczeń, takie jak Microsoft Entra ID i Microsoft Defender dla IoT , ułatwiają kontrolowanie, wyświetlanie i zarządzanie ustawieniami zabezpieczeń oraz wykrywanie zagrożeń i reagowanie na nie.

Elementy

Kwestie wymagające rozważenia

Te zagadnienia implementują filary struktury Azure Well-Architected Framework, która jest zestawem wytycznych, które mogą służyć do poprawy jakości obciążenia. Aby uzyskać więcej informacji, zobacz Microsoft Azure Well-Architected Framework.

Możliwości zarządzania

Za pomocą usługi Azure Digital Twins można kontrolować i monitorować połączone środowiska. Cyfrowa reprezentacja bliźniacze to wirtualny model rzeczywistego środowiska opartego na danych z systemów biznesowych i urządzeń IoT. Firmy i organizacje używają cyfrowych reprezentacji bliźniaczych do włączania szczegółowych informacji i akcji. Deweloperzy i architekci używają rozwiązań cyfrowych reprezentacji bliźniaczych, aby ułatwić implementowanie inteligentnych i połączonych środowisk, takich jak:

  • Konserwacja predykcyjna w produkcji.
  • Widoczność łańcucha dostaw.
  • Inteligentne półki na potrzeby spisu w czasie rzeczywistym.
  • Połączenie domów i inteligentnych budynków.

Niezawodność

Niezawodność zapewnia, że aplikacja może spełnić zobowiązania podjęte przez klientów. Aby uzyskać więcej informacji, zobacz Omówienie filaru niezawodności.

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 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ą celom biznesowym. Włączenie dowolnej z tych alternatyw wysokiej dostępności/odzyskiwania po awarii do rozwiązania IoT wymaga starannej oceny kompromisów między:

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

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

Zabezpieczenia

Zabezpieczenia zapewniają ochronę przed celowymi atakami i nadużyciami cennych danych i systemów. Aby uzyskać więcej informacji, zobacz Omówienie filaru zabezpieczeń. Ta sekcja zawiera zagadnienia dotyczące tworzenia bezpiecznych rozwiązań.

Model zabezpieczeń zerowego zaufania

Zero trust to model zabezpieczeń, który zakłada, że nastąpi naruszenie 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.

Podstawowa implementacja zabezpieczeń obejmuje jawne weryfikowanie użytkowników, wgląd w urządzenia oraz podejmowanie dynamicznych decyzji dotyczących dostępu przy użyciu wykrywania ryzyka w czasie rzeczywistym. Po wykonaniu tych podstawowych czynności możesz przenieść fokus na następujące wymagania zerowe zaufania dla rozwiązań IoT:

  • Użyj silnej tożsamości do uwierzytelniania urządzeń.
  • Użyj najmniej uprzywilejowanego dostępu, aby ograniczyć promień wybuchu.
  • Monitorowanie kondycji urządzenia w celu zabezpieczenia 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.

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 może obsługiwać następujących funkcji kryptograficznych, powinno być ograniczone do sieci lokalnych, a cała komunikacja między sieciami powinna przechodzić przez bramę pola:

  • Szyfrowanie danych i podpisy cyfrowe z prowokowanym, publicznie analizowanym i szeroko implementowanym algorytmem szyfrowania klucza symetrycznego.
  • Obsługa protokołu TLS 1.2 dla protokołów TCP lub innych ścieżek komunikacyjnych opartych na strumieniu lub DTLS 1.2 dla ścieżek komunikacyjnych opartych na datagramie. Obsługa certyfikatów X.509 jest opcjonalna. Można zastąpić obsługę certyfikatu X.509 bardziej wydajnym i wydajnym pod względem obliczeń trybem wstępnego 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 bezpiecznie przechowywać klucz na urządzeniu (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 takim przypadku należy użyć bramy pola. 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

Zalecany projekt urządzenia zawiera funkcje chroniące przed próbami manipulowania fizycznego, które pomagają zapewnić bezpieczeństwo, integralność i wiarygodność całego systemu.

Na przykład:

  • Wybieraj mikrokontrolery/mikroprocesory lub urządzenia pomocnicze, które zapewniają bezpieczne przechowywanie i możliwość używania materiału klucza kryptograficznego, takiego jak integracja z modułem TPM (Trusted Platform Module).
  • Zakotwicz bezpieczny moduł ładujący rozruchu i zabezpiecza ładowanie oprogramowania w module TPM.
  • Czujniki służą do wykrywania prób włamania i prób manipulowania środowiskiem urządzenia przy użyciu alertów i potencjalnego "cyfrowego samozniszczania" urządzenia.

Optymalizacja kosztów

Optymalizacja kosztów dotyczy sposobów zmniejszenia niepotrzebnych wydatków i poprawy wydajności operacyjnej. Aby uzyskać więcej informacji, zobacz Omówienie filaru optymalizacji kosztów.

Ogólnie rzecz biorąc, możesz szacować koszty za pomocą kalkulatora cen platformy Azure. Inne zagadnienia zostały opisane w sekcji Koszt w witrynie Microsoft Azure Well-Architected Framework.

Efektywność wydajności

Efektywność wydajności to możliwość skalowania obciążenia w celu zaspokojenia zapotrzebowania użytkowników w wydajny sposób. Aby uzyskać więcej informacji, zobacz Omówienie filaru wydajności.

Skompiluj rozwiązanie w celu wdrożenia na dużą skalę globalną. Aby uzyskać optymalną skalowalność, skompiluj aplikację IoT przy użyciu dyskretnych usług, które mogą być skalowane niezależnie. W tej sekcji opisano zagadnienia dotyczące skalowalności dla kilku usług platformy Azure.

IoT Hub

Każde centrum IoT jest aprowizowane 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 quotas and throttling (Limity przydziału i ograniczanie przepustowości usługi IoT Hub). Centrum można skalować w górę bez przerywania istniejących operacji.

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.

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.

Azure Functions

Gdy usługa Azure Functions odczytuje z punktu końcowego usługi Azure Event Hubs , istnieje maksymalna liczba wystąpień 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.

Stream Analytics

Zadania usługi Stream Analytics są skalowane najlepiej, jeśli są one równoległe we wszystkich punktach potoku usługi Stream Analytics, od danych wejściowych 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.

Współautorzy

Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.

Główny autor:

Inny współautor:

Aby wyświetlić niepubalne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.

Następne kroki