Skalowanie rozwiązań IoT i zarządzanie nimi za pomocą sygnatur wdrażania

Azure Event Hubs
Azure IoT Hub
Azure Traffic Manager

W tym artykule omówiono strategię oznaczania wdrożenia w celu obsługi skalowania w górę liczby połączonych urządzeń w rozwiązaniu Internetu rzeczy (IoT). W tym artykule opisano również szczegółowo sposób wdrażania urządzeń IoT i aplikacji między sygnaturami wdrażania.

Strategia oznaczania wdrożenia dla rozwiązań IoT jest oparta na wzorcu projektowania sygnatury wdrożenia . Sygnatury wdrożenia to jednostki składające się z heterogenicznych składników, które obsługują zdefiniowaną populację urządzeń. Oznaczanie wdrożenia skaluje w górę liczbę połączonych urządzeń IoT przez replikowanie sygnatur, a nie niezależne skalowanie w górę różnych części rozwiązania.

Korzyści z oznaczania wdrożeniami:

  • Umieszczaj i dystrybuuj urządzenia według kryteriów, takich jak zależność geograficzna, cykl życia lub stan wydania.
  • Zawierają wpływ awarii lub degradacji usługi na określone sygnatury.
  • Wdrażanie nowych funkcji, możliwości i zmian architektury w określonych sygnaturach, które mogą je obsługiwać.
  • Obsługa zarządzania urządzeniami wielopokoleniowymi przez dostosowanie możliwości i usług do określonych populacji urządzeń.
  • Zapewnij model skalowania i kosztów oparty na sygnaturach, aby przewidywalnie uwzględnić przyszły wzrost.

Architektura sygnatur wdrażania IoT

Diagram przedstawiający strategię oznaczania wdrożenia do użycia w usłudze Azure IoT.

Pobierz plik programu Visio z tą architekturą.

Na powyższym diagramie przedstawiono strategię oznaczania wdrożenia dla usługi Azure IoT. To rozwiązanie tworzy sygnatury niepodzielne, które składają się z następujących elementów:

Sygnatury powinny być zawsze zaprojektowane tak, aby obsługiwały jawne pojemności. Aby określić prawidłową liczbę urządzeń do obsługi, rozważ, ile ruchu komunikacyjnego oczekuje się od urządzeń. W tym rozwiązaniu każda sygnatura optymalnie obsługuje zdefiniowaną populację urządzeń od 1000 do 1000 000 urządzeń. Wraz ze wzrostem populacji urządzeń dodawane wystąpienia sygnatur są uwzględniane we wzroście.

Przenoszenie urządzeń i aplikacji między sygnaturami

Sygnatury wdrożenia są przeznaczone do wdrożenia niepodzielnego, ale czasami trzeba przenieść populacje urządzeń między sygnaturami. Na przykład może być konieczne:

  • Przenoszenie populacji urządzeń z sygnatur testowych do sygnatur produkcyjnych w ramach cyklu wydawania.
  • Przenoszenie urządzeń i użytkowników do innej sygnatury w ramach korygowania awarii w scenariuszu wysokiej dostępności.
  • Równoważenie obciążenia w celu równomiernego dystrybuowania populacji urządzeń między sygnaturami.

Przenoszenie urządzeń między koncentratorami

Jeśli składniki sygnatur obejmują tylko zachowanie między urządzeniami a chmurą, przeniesienie urządzeń między koncentratorami wystarczy, aby zmigrować urządzenia z jednej sygnatury do innej. Usługa Azure IoT Device Provisioning Service (DPS) umożliwia przenoszenie urządzeń między wystąpieniami IoT Hub. Aby używać usługi DPS w strategii oznaczania sygnaturami, zapoznaj się z terminologią i pojęciami dotyczącymi usługi IoT Hub Device Provisioning Service (DPS).

Uwaga

Usługa DPS używa identyfikatorów rejestracji, a IoT Hub używa identyfikatorów urządzeń. Te identyfikatory są często tą samą wartością, ale mogą być różne. Podczas wykonywania zapytań dotyczących urządzeń za pomocą interfejsów API usługi DPS lub zarządzania nimi należy używać identyfikatorów rejestracji.

Przenoszenie urządzeń i aplikacji między samodzielnymi sygnaturami

Jeśli sygnatury wdrażania obejmują frontony internetowe lub aplikacje interfejsu API komunikujące się za pośrednictwem IoT Hub, te składniki muszą również migrować do nowych centrów, aby kontynuować komunikację z urządzeniami, które zostały przeniesione. Można przenosić całe aplikacje i urządzenia między sygnaturami.

Gdy każda sygnatura obejmuje kompleksową aplikację, usługa Azure Traffic Manager może przenosić ruch z jednej sygnatury do innej. Ta strategia obejmuje tworzenie wielu sygnatur, z których każda zawiera całą aplikację z własnym adresem URL. Całe populacje urządzeń i użytkowników aplikacji przechodzą z jednej sygnatury do innej.

Ta w pełni samodzielna strategia jest następująca:

  • Proste do zaimplementowania.
  • Odpowiednie w ramach strategii wysokiej dostępności.
  • Przydatne w przypadku migrowania urządzeń i użytkowników ze środowisk testowych do środowiska produkcyjnego.

Diagram przedstawiający sposób przenoszenia zestawu urządzeń z jednej sygnatury do innej sygnatury.

Pobierz plik programu Visio z tą architekturą.

Powyższy diagram przedstawia proces przenoszenia zestawu urządzeń z sygnatury 1 do sygnatury 2:

  1. Urządzenia uzyskują punkt końcowy IoT Hub za pośrednictwem usługi DPS, jeśli jest on nieznany lub nie jest już prawidłowy.
  2. Po przeniesieniu urządzeń do sygnatury 2 usługa Traffic Manager wskazuje adres URL aplikacji do wystąpienia aplikacji 2.
  3. Usługa DPS przenosi cały zestaw urządzeń z jednej sygnatury do innej.
  4. Każda sygnatura aplikacji zawiera fronton aplikacji i odwołuje się do IoT Hub odpowiadającej tej sygnaturze.

Przenoszenie urządzeń między sygnaturami za pojedynczą bramą aplikacji

Gdy fronton pojedynczej aplikacji obsługuje wiele sygnatur urządzeń, fronton aplikacji musi dynamicznie aktualizować mapowanie urządzenie-koncentrator, aby zachować komunikację między chmurą a urządzeniem. Aby obsługiwać urządzenia przechodzące do różnych sygnatur i centrów IoT Hub, bramy mogą używać mechanizmu buforowania na potrzeby mapowania urządzenia na koncentrator. Klienci usługi mogą używać procedury wyszukiwania współużytkowanego do dynamicznego wykrywania i migrowania wywołań urządzeń do nowych centrów IoT Hub.

Diagram przedstawiający sposób przenoszenia urządzeń z jednego centrum do drugiego przy użyciu bramy aplikacji.

Pobierz plik programu Visio z tą architekturą.

W tym modelu brama używa pamięci podręcznej do mapowania urządzeń na usługi IoT Hubs i domyślnie do buforowanego punktu końcowego. Jeśli brama otrzyma błąd nie znaleziono urządzenia, używa zestawu SDK usługi DPS do wykonywania zapytań dotyczących rejestracji poszczególnych urządzeń i określania, które IoT Hub urządzenie jest teraz używane. Brama następnie aktualizuje pamięć podręczną przy użyciu nowego mapowania.

Poniżej przedstawiono niektóre zagadnienia dotyczące tej strategii:

  • Buforowanie w udostępnionym wyszukiwaniu pozwala uniknąć ponownego negocjowania punktów końcowych w każdym wywołaniu, ale punkt końcowy pamięci podręcznej może zakończyć się niepowodzeniem. Pomocnicza pamięć podręczna lub rezerwowy plan ponownego negocjowania przy użyciu usługi DPS może zwiększyć niezawodność rozwiązania.

  • Jeśli rejestracja urządzenia jest w toku, urządzenie nie jest osiągalne. Użyj interfejsu API usługi DPS, takiego jak Uzyskiwanie stanu rejestracji urządzenia, aby uzyskać przypisane IoT Hub urządzenia i jego bieżący stan rejestracji.

  • W przypadku tylko urządzenia urządzenia są odłączone od IoT Hub, gdy przechodzą z jednej sygnatury do innej. W przypadku aplikacji do urządzenia błąd występuje, gdy aplikacja próbuje uzyskać dostęp do urządzenia za pośrednictwem IoT Hub.

Współautorzy

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

Główny autor:

Następne kroki