IoT-oplossingen schalen en beheren met implementatiestempels

Azure Event Hubs
Azure IoT Hub
Azure Traffic Manager

In dit artikel wordt een implementatiestempelstrategie besproken ter ondersteuning van het omhoog schalen van het aantal verbonden apparaten in een IoT-oplossing (Internet of Things). In het artikel wordt ook in detail beschreven hoe u IoT-apparaten en -toepassingen tussen implementatiestempels implementeert.

De implementatiestempelstrategie voor IoT-oplossingen is gebaseerd op het ontwerppatroon Implementatiestempel . Implementatiestempels zijn eenheden die bestaan uit heterogene onderdelen die ondersteuning bieden voor een gedefinieerde apparaatpopulatie. Implementatiestempels schalen het aantal verbonden IoT-apparaten omhoog door zegels te repliceren, in plaats van verschillende onderdelen van een oplossing onafhankelijk omhoog te schalen.

Voordelen van implementatiestempels:

  • Plaats en distribueer apparaten op basis van criteria zoals geo-afhankelijkheid, levenscyclus of releasestatus.
  • Onderbrekings- of serviceverminderingseffecten voor specifieke stempels bevatten.
  • Implementeer nieuwe functies, mogelijkheden en architectuurwijzigingen voor specifieke stempels die deze kunnen ondersteunen.
  • Ondersteuning voor apparaatbeheer van meerdere generaties door mogelijkheden en services af te stemmen op opgegeven apparaatpopulaties.
  • Bied een schaal- en kostenmodel op basis van stempels om toekomstige groei voorspelbaar te maken.

Architectuur voor het stempelen van IoT-implementatie

Een diagram met een implementatiestempelstrategie voor gebruik in Azure IoT.

Een Visio-bestand van deze architectuur downloaden.

In het voorgaande diagram ziet u een implementatiestempelstrategie voor Azure IoT. Deze oplossing bouwt atomische stempels die elk bestaan uit:

Stempels moeten altijd worden ontworpen ter ondersteuning van expliciete capaciteiten. Als u het juiste aantal apparaten wilt bepalen dat moet worden ondersteund, moet u rekening houden met de hoeveelheid communicatieverkeer die u van de apparaten kunt verwachten. In deze oplossing ondersteunt elke zegel optimaal een gedefinieerde apparaatpopulatie van 1.000 tot 1.000.000 apparaten. Naarmate de apparaatpopulatie groeit, kunnen toegevoegde zegelexemplaren de groei opvangen.

Apparaten en toepassingen verplaatsen tussen stempels

Implementatiestempels zijn bedoeld voor atomische implementatie, maar soms moet u apparaatpopulaties verplaatsen tussen zegels. U moet bijvoorbeeld het volgende doen:

  • Verplaats apparaatpopulaties van teststempels naar productiestempels als onderdeel van een releasecyclus.
  • Verplaats apparaten en gebruikers naar een andere stempel als onderdeel van storingsherstel in een scenario met hoge beschikbaarheid.
  • Taakverdeling om apparaatpopulaties gelijkmatiger te verdelen over stempels.

Apparaten verplaatsen tussen hubs

Als de zegelonderdelen alleen apparaat-naar-cloud-gedrag omvatten, is het verplaatsen van apparaten tussen hubs voldoende om de apparaten van de ene zegel naar de andere te migreren. Azure IoT Device Provisioning Service (DPS) biedt een manier om apparaten te verplaatsen tussen IoT Hub exemplaren. Als u DPS wilt gebruiken in een stempelstrategie, moet u de terminologie en concepten van IoT Hub Device Provisioning Service (DPS) begrijpen.

Notitie

DPS maakt gebruik van registratie-id's, terwijl IoT Hub apparaat-id's gebruikt. Deze id's hebben vaak dezelfde waarde, maar kunnen verschillen. Wanneer u een query uitvoert op apparaten met de DPS-API's, moet u de registratie-id's gebruiken.

Apparaten en toepassingen verplaatsen tussen zelfstandige stempels

Als implementatiestempels web-front-ends of API-toepassingen bevatten die communiceren via IoT Hub, moeten die onderdelen ook worden gemigreerd naar nieuwe hubs om te blijven communiceren met de apparaten die zijn verplaatst. U kunt hele toepassingen en apparaten tussen stempels verplaatsen.

Wanneer elk stempel een end-to-end-toepassing omvat, kan Azure Traffic Manager verkeer van de ene zegel naar de andere verplaatsen. Deze strategie omvat het maken van meerdere stempels, elk met de hele toepassing met een eigen URL. Volledige populaties van apparaten en toepassingsgebruikers worden van de ene zegel naar de andere verplaatst.

Deze volledig op zichzelf staande strategie is:

  • Eenvoudig te implementeren.
  • Geschikt als onderdeel van een strategie voor hoge beschikbaarheid.
  • Handig voor het migreren van apparaten en gebruikers van testomgevingen naar productieomgevingen.

Een diagram waarin wordt getoond hoe u een set apparaten van de ene naar de andere stempel verplaatst.

Een Visio-bestand van deze architectuur downloaden.

In het bovenstaande diagram ziet u het proces van het verplaatsen van een set apparaten van Stempel 1 naar Stempel 2:

  1. Apparaten verkrijgen het IoT Hub-eindpunt via DPS als dit onbekend is of niet meer geldig is.
  2. Wanneer apparaten worden verplaatst naar Stempel 2, verwijst Traffic Manager de toepassings-URL naar het exemplaar van Toepassing 2.
  3. DPS verplaatst een hele set apparaten van de ene zegel naar de andere.
  4. Elke toepassingsstempel bevat de front-end van de toepassing en verwijst naar de IoT Hub die overeenkomt met die stempel.

Apparaten verplaatsen tussen stempels achter één app-gateway

Wanneer één front-end van een toepassing meerdere apparaatstempels ondersteunt, moet de front-end van de toepassing de apparaat-naar-hub-toewijzing dynamisch bijwerken om communicatie tussen cloud en apparaat te onderhouden. Ter ondersteuning van apparaten die naar verschillende stempels en IoT Hubs worden verplaatst, kunnen gateways een cachemechanisme gebruiken voor apparaat-naar-hub-toewijzing. Serviceclients kunnen een gedeelde opzoekroutine gebruiken om apparaatoproepen dynamisch te detecteren en te migreren naar nieuwe IoT Hubs.

Een diagram waarin wordt gedemonstreerd hoe apparaten van de ene hub naar de andere kunnen worden verplaatst met behulp van een app-gateway.

Een Visio-bestand van deze architectuur downloaden.

In dit model maakt de gateway gebruik van een cache om apparaten toe te wijzen aan IoT Hubs en wordt standaard ingesteld op het eindpunt in de cache. Als de gateway de fout Apparaat niet gevonden ontvangt, wordt de DPS-service-SDK gebruikt om afzonderlijke apparaatinschrijvingen op te vragen en te bepalen welke IoT Hub het apparaat nu gebruikt. De gateway werkt vervolgens de cache bij met de nieuwe toewijzing.

Hier volgen enkele overwegingen voor deze strategie:

  • Hoewel in cache opslaan in een gedeelde zoekopdracht wordt voorkomen dat er opnieuw wordt onderhandeld over eindpunten bij elke aanroep, is het mogelijk dat het cache-eindpunt mislukt. Een secundair cache- of terugvalplan om opnieuw te onderhandelen met DPS kan de betrouwbaarheid van de oplossing verbeteren.

  • Als de apparaatinschrijving wordt uitgevoerd, is het apparaat niet bereikbaar. Gebruik een DPS-API zoals Apparaatregistratiestatus ophalen om de toegewezen IoT Hub en de huidige inschrijvingsstatus van het apparaat op te halen.

  • In het geval van alleen-apparaat worden apparaten losgekoppeld van de IoT Hub wanneer ze van de ene zegel naar de andere gaan. In het geval van toepassing naar apparaat treedt de fout op wanneer de app het apparaat probeert te bereiken via de IoT Hub.

Medewerkers

Dit artikel wordt onderhouden door Microsoft. Het is oorspronkelijk geschreven door de volgende inzenders.

Hoofdauteur:

Volgende stappen