Delen via


Betrouwbaarheid in uw IoT-workload

IoT-workloads kunnen, net als alle workloads, defect raken. De belangrijkste betrouwbaarheidsoverwegingen voor goed ontworpen IoT-oplossingen zijn hoe snel u wijzigingen kunt detecteren en hoe snel u bewerkingen kunt hervatten.

IoT-toepassingen worden vaak op grote schaal gedistribueerd en werken mogelijk via onbetrouwbare netwerken zonder permanente toegang tot of zichtbaarheid van end-to-end-gegevensstromen. Vanwege deze factoren moet u uw IoT-architectuur ontwerpen met het oog op beschikbaarheid en tolerantie.

Voor het bouwen van een betrouwbare IoT-oplossing moet u zorgvuldig rekening houden met apparaten, cloudservices en hoe deze samenwerken. De keuzes die u maakt voor apparaathardware, connectiviteit en protocollen en cloudservices, zijn van invloed op de betrouwbaarheidsvereisten en mogelijkheden van uw oplossing.

Betrouwbaarheid in uw IoT-workload evalueren

Voltooi de betrouwbaarheidsvragen voor IoT-workloads in de Azure Well-Architected Review om uw IoT-workload te beoordelen met behulp van de Well-Architected Framework-betrouwbaarheidspijler. Nadat de evaluatie belangrijke aanbevelingen voor betrouwbaarheid voor uw IoT-oplossing heeft geïdentificeerd, gebruikt u de volgende inhoud om de aanbevelingen te implementeren.

Ontwerpprincipes

Vijf pijlers van uitstekende architectuur zijn de basis voor de ontwerpmethodologie voor IoT-workloads. Deze pijlers dienen als kompas voor latere ontwerpbeslissingen in de belangrijkste IoT-ontwerpgebieden. De volgende ontwerpprincipes breiden de kwaliteitspijler van azure Well-Architected Framework - betrouwbaarheid uit.

Ontwerpprincipe Overwegingen
Apparaten ontwerpen voor tolerantie Ontwerp uw apparaten om te voldoen aan de uptime- en beschikbaarheidsvereisten van uw end-to-end-oplossing. Zorg ervoor dat uw IoT-apparaat efficiënt kan werken met onregelmatige connectiviteit met de cloud.
Ontwerpen voor bedrijfsvereisten Kostengevolgen zijn onvermijdelijk bij het introduceren van architectuurwijzigingen om te voldoen aan Service Level Agreements (SLA's). Als u bijvoorbeeld meer betrouwbaarheid en hoge beschikbaarheid wilt hebben, kunt u regio-overschrijdende redundanties en een geautomatiseerd systeem voor automatische schaalaanpassing implementeren. Deze afweging moet zorgvuldig worden overwogen.
Veilige, eenvoudige updateprocedures Een IoT-oplossing voor ondernemingen moet een strategie bieden voor de wijze waarop operators apparaten beheren. Voor IoT-operators zijn eenvoudige en betrouwbare updatehulpprogramma's en procedures vereist.
Toepassingsstatus observeren Definieer serviceniveauindicatoren (SLO's) en serviceniveaudoelstellingen (SLO's) op basis van waarneembaarheid. Voeg processen toe voor controle, bewaking en waarschuwingen die verder gaan dan wat cloudservices bieden.
Hoge beschikbaarheid en herstel na noodgevallen (HA/DR) voor kritieke onderdelen. Tolerante hardware- en softwareonderdelen die redundantie inbouwen, inclusief redundantie tussen regio's.
Capaciteit plannen Plan servicequota en beperkingen, latentie tussen de detectieactie en stel benchmarks in op productieschaal ter ondersteuning van een ononderbroken gegevensstroom.

Lagen van IoT-architectuur

Ontwerpprincipes voor betrouwbaarheid helpen bij het verduidelijken van overwegingen om ervoor te zorgen dat uw IoT-workload voldoet aan de vereisten in de basislagen van de IoT-architectuur. Om de algehele betrouwbaarheid van de oplossing te bereiken, moet elke laag acceptabele betrouwbaarheidsniveaus hebben.

Diagram met de lagen en horizontale activiteiten in een IoT-architectuur.

Apparaat- en gatewaylaag

Als onderdeel van uw algehele IoT-oplossing ontwerpt u uw apparaten om te voldoen aan de end-to-end uptime- en beschikbaarheidsvereisten van uw oplossing. Apparaten en gateways zijn er in vele vormen. IoT-apparaten en gateways kunnen gegevensverzameling, controle over toezicht en edge-analyses uitvoeren.

  • Gegevensverzameling verbindt apparaten met sensoren of abonneert ze op telemetrie van downstreamsystemen en pusht verzamelde gegevens naar de cloud. Het ontwerp van de IoT-oplossing moet zorgen voor betrouwbaar apparaatbeheer en betrouwbare communicatie van het apparaat naar de cloud.

  • Apparaten die controle over het toezicht bieden, verzamelen niet alleen gegevens om naar de cloud te verzenden, maar ondernemen ook acties op basis van die gegevens. Apparaten sturen gegevens terug naar de machines of omgeving om controleacties uit te voeren. De betrouwbaarheid van controletoepassingen voor toezicht is essentieel.

Apparaatontwerp

Ontwerp en selecteer IoT-apparaten om betrouwbaar te werken in de verwachte bedrijfsomstandigheden gedurende de verwachte levensduur. Een betrouwbaar apparaat moet werken volgens de hardware- en softwarespecificaties en eventuele storingen moeten worden gedetecteerd en beheerd door middel van risicobeperking, reparatie of vervanging. Ontwerp apparaten voor betrouwbaarheid, maar ook voor het plannen van fouten.

Levenscyclus van apparaten

Beperkte servicelevensduur is van invloed op de betrouwbaarheid van de oplossing. Evalueer de gevolgen van apparaatfouten voor de oplossing en definieer een levenscyclusstrategie voor apparaten op basis van de oplossingsvereisten.

De effectbeoordeling van apparaatfouten omvat:

  • Ernst, zoals single points of failures.
  • Waarschijnlijkheid, zoals de gemiddelde tijd tussen storingen.
  • Detecteerbaarheid, zoals foutmodus en analyse van effecten.
  • Acceptabele downtimeperiode.

De acceptabele operationele downtime bepaalt de snelheid en omvang van het apparaatonderhoud. De beschikbaarheid of levensduur van het apparaat en de onderdelenlevering is een belangrijke overweging voor de levenscyclus van het apparaat.

Hoe modulairer het ontwerp, hoe eenvoudiger het is om delen van het systeem te verwisselen, vooral als sommige onderdelen eerder verouderd zijn dan andere. Alternatieve of multi-sourcing van onderdelen- en moduleleveringsketens zijn essentieel voor betrouwbare oplossingen.

Omgevingsvereisten

De omstandigheden waarin een apparaat werkt, zijn van invloed op de betrouwbaarheid. Definieer uw omgevingsvereisten en gebruik apparaten met de juiste functiespecificaties. Deze specificaties omvatten parameters zoals bedrijfstemperatuurbereik, vochtigheid, ip-classificatie (bescherming tegen inkomend verkeer), immuniteit voor elektromagnetische interferentie (EMI) en immuniteit voor schokken en trillingen.

Operationeel profiel

Prestatiestress is van invloed op het operationele gedrag van apparaten en dus op hun betrouwbaarheid. Definieer operationele profielen die het gedrag over de levensduur van het apparaat schatten en de betrouwbaarheid van het apparaat dienovereenkomstig beoordelen. Dergelijke profielen omvatten bedrijfsmodi, zoals draadloze transmissie of modi met weinig energie, en omgevingsomstandigheden, zoals temperatuur, gedurende de levensduur van het apparaat.

In normale bedrijfsomstandigheden moeten het apparaat en de software veilig worden uitgevoerd binnen de opgegeven operationele profielen. Apparaten moeten alle externe sensoren en gegevensverwerking die de oplossing vereist, kunnen verwerken en verwerken. Vermijd het uitvoeren van de limiet van de apparaatmogelijkheden.

Voorschriften en normen

Apparaten voor specifieke branches zijn onderhevig aan toepasselijke regelgeving en standaarden. Definieer voorschriften en standaarden en zorg ervoor dat apparaten voldoen aan de nalevings- en conformiteitsvereisten. Voorschriften omvatten certificering en markering, zoals FCC of CE. Standaarden omvatten toepassingen uit de industrie of agentschappen, zoals ATEX en MIL-SPEC, en veiligheidsconformantie, bijvoorbeeld IEC 61508.

Laag voor apparaatbeheer en modellering

Cloudservices bieden elk apparaat een identiteit en beheren apparaten op schaal. De cloud is vaak het laatste ingangspunt voor gegevens voor alle berichten die van de apparaten afkomstig zijn. In IoT-oplossingen moeten de cloudservices betrouwbaarheid bieden voor de IoT-apparaten om gegevens te integreren en te verzenden.

Apparaatverbindingsvoorwaarden, waaronder upstream naar de cloud en downstream naar lokale netwerken, moeten deel uitmaken van het ontwerp van de betrouwbaarheid van de IoT-oplossing. Evalueer het mogelijke effect van connectiviteitsonderbreking of -interferentie en definieer dienovereenkomstig een connectiviteitsstrategie.

De connectiviteitsstrategie moet robuustheid omvatten, bijvoorbeeld terugvalmogelijkheden en beheer van verbroken verbindingen, en het bufferen van back-ups om cloudafhankelijkheid voor kritieke of veiligheidsfuncties te beperken.

De volgende procedures voor ontwerp, foutafhandeling en bewaking hebben betrekking op connectiviteit.

Connectiviteitsontwerp

Een IoT-oplossing moet de informatiestroom tussen af en toe verbonden apparaten en cloudservices mogelijk maken. Zorg ervoor dat uw IoT-apparaten efficiënt kunnen werken met onregelmatige connectiviteit met de cloud.

Aanbevolen procedures omvatten de volgende aanbevelingen:

  • Implementeer logica voor opnieuw proberen en uitstel in apparaatsoftware.
  • De apparaatstatus synchroniseren met de cloud.
  • Zorg ervoor dat u gegevens op apparaten kunt opslaan als uw oplossing geen gegevensverlies tolereert.
  • Gebruik gegevenssampling en simulaties om basislijnen voor netwerkcapaciteit en opslagvereisten te meten.

Implementatie van connectiviteit

De Azure IoT-apparaat-SDK's bieden clientbibliotheken die u op apparaten of gateways kunt gebruiken om de connectiviteit met Azure IoT-services te vereenvoudigen. U kunt de SDK's gebruiken om IoT-apparaatclients te instrumenteren die:

  • Verbinding maken met de cloud.
  • Een consistente clientontwikkelingservaring bieden op verschillende platforms.
  • Vereenvoudig algemene connectiviteitstaken door details van de onderliggende protocollen en berichtverwerkingspatronen te abstraheren, zoals exponentieel uitstel met jitter en logica voor opnieuw proberen.

Connectiviteitscontrole

Connectiviteitsproblemen voor IoT-apparaten kunnen moeilijk op te lossen zijn vanwege de vele mogelijke foutpunten. Toepassingslogica, fysieke netwerken, protocollen, hardware, Azure IoT Hub en andere cloudservices kunnen problemen hebben.

De mogelijkheid om de bron van een probleem te detecteren en aan te geven, is essentieel. Een IoT-oplossing op schaal kan echter duizenden apparaten bevatten, dus het is niet praktisch om afzonderlijke apparaten handmatig te controleren. Met Azure Monitor en Azure Event Grid kunt u verbindingsproblemen in IoT Hub vaststellen.

Connectiviteitsresources

Opname- en communicatielaag

De ioT-opname- en communicatielaag omvat servicequota en -limieten, capaciteit, beperking en automatische schaalaanpassing.

Ontwerp van redundante capaciteit

Houd bij het plannen van drempelwaarden en waarschuwingen rekening met de latentie tussen detectie en ondernomen actie. Zorg ervoor dat het systeem en de operators voldoende tijd hebben om te reageren op wijzigingsaanvragen. Anders kunt u bijvoorbeeld detecteren dat het aantal eenheden moet worden verhoogd, maar het systeem kan mislukken door berichten te verliezen voordat de verhoging van kracht wordt.

Planning van servicequota

Net als bij alle platformservices dwingen IoT Hub en de IoT Hub Device Provisioning Service (DPS) quota en beperkingen af voor bepaalde bewerkingen, zodat Azure voorspelbare serviceniveaus en kosten voor de services kan leveren. Quota en beperkingen zijn gekoppeld aan de servicelaag en het aantal eenheden dat u implementeert, zodat u uw oplossing kunt ontwerpen met het juiste aantal resources. Bekijk quota en beperkingen vooraf en ontwerp uw IoT Hub en DPS-resources dienovereenkomstig.

Benchmarks op productieschaal

Naarmate het aantal apparaten of het volume van gegevens toeneemt, moet de cloudgateway worden geschaald om een ononderbroken gegevensstroom te ondersteunen. Vanwege de gedistribueerde aard van IoT-oplossingen, het aantal apparaten en het volume aan gegevens, is het belangrijk om schaalbenchmarks vast te stellen voor de algehele oplossing. Deze benchmarks helpen bij het plannen van capaciteitsrisico's. Gebruik de Azure IoT Device Telemetry Simulator om productieschaalvolumes te simuleren.

Automatisch schalen om dynamisch aan te passen aan quota

Een voordeel van het gebruik van PaaS-onderdelen (Platform as a Service) is de mogelijkheid om met weinig moeite omhoog en omlaag te schalen op basis van uw behoeften. Als u de laagste kosten en operationele inspanning wilt bieden, kunt u overwegen om een geautomatiseerd systeem te implementeren om uw resources omhoog en omlaag te schalen met de verschillende behoeften van uw oplossing.

Quota- en beperkingsbeheer

Om de betrouwbaarheid van de oplossing te garanderen, controleert u continu het resourcegebruik op basis van quota en beperkingen om gebruikstoenames te detecteren die aangeven dat het nodig is om te schalen. Afhankelijk van uw bedrijfsvereisten kunt u continu het resourcegebruik bewaken en de operator waarschuwen wanneer drempelwaarden worden bereikt, of een geautomatiseerd systeem implementeren om automatisch te schalen.

Capaciteit en resources schalen

Transportlaag

Apparaten hebben toegang tot een netwerk nodig om verbinding te maken met de cloudservice voor gegevens, beheer en beheer. Afhankelijk van het type IoT-oplossing is de betrouwbaarheid van de connectiviteit mogelijk uw verantwoordelijkheid of die van de netwerkserviceprovider. Netwerken kunnen onregelmatige verbindingsproblemen hebben en apparaten moeten hun gedrag dienovereenkomstig beheren.

DevOps-laag

Een Bedrijfs-IoT-oplossing moet een strategie bieden voor operators om het systeem te beheren. Voor betrouwbaarheid moeten IoT-beheer en -bewerkingen DevOps-processen gebruiken voor het afhandelen van updates, waarneembaarheid en bewaking, en ha/dr-implementatie.

Updates

Het apparaataspect van IoT-oplossingen biedt uitdagingen in vergelijking met cloudoplossingen. Er moet bijvoorbeeld een manier zijn om apparaten voortdurend bij te werken om beveiligingsproblemen en toepassingswijzigingen aan te pakken.

Vanwege de gedistribueerde aard van IoT-oplossingen is het belangrijk om veilig en beveiligd beleid te gebruiken voor het implementeren van updates. IoT-operators vereisen eenvoudige en betrouwbare updatehulpprogramma's en procedures.

Een oplossing voor apparaatupdates moet het volgende ondersteunen:

  • Geleidelijke update-implementatie via besturingselementen voor apparaatgroepering en planning.
  • Ondersteuning voor tolerante A/B-apparaatupdates voor naadloos terugdraaien.
  • Gedetailleerde hulpprogramma's voor updatebeheer en rapportage.
  • Netwerkoptimalisatie op basis van beschikbare bandbreedte.

Device Update voor IoT Hub is een service die veilige, beveiligde en betrouwbare over-the-air (OTA) IoT-apparaatupdates mogelijk maakt. Apparaatupdate voor IoT Hub kunt apparaten groeperen en opgeven welke apparaten een update moeten ontvangen. Operators kunnen de status van update-implementaties bekijken en of elk apparaat de vereiste updates heeft toegepast.

Als een update mislukt, kunnen operators met Device Update de apparaten identificeren die zijn mislukt en de details van de fout bekijken. De mogelijkheid om te bepalen welke apparaten zijn mislukt, kan uren voorkomen dat u de foutbron handmatig probeert aan te wijzen.

Device Update bewaakt de status van apparaatimplementaties en -updates en rapporteert hoeveel apparaten compatibel zijn met de hoogste versie die compatibel is met de update die beschikbaar is.

Waarneembaarheid en bewaking

Als u de algehele betrouwbaarheid van de oplossing wilt beheren en waarschuwingsprocedures wilt definiëren, moet u elk onderdeel van uw IoT-oplossing bewaken. Alle Azure IoT-services publiceren metrische gegevens die de servicestatus en beschikbaarheid beschrijven. Als u end-to-end waarneembaarheid wilt vaststellen, moet u ook rekening houden met de metrische gegevens die u nodig hebt aan de apparaatzijde. Gebruik deze metrische gegevens als onderdeel van de algehele bewaking van de betrouwbaarheid van uw oplossing.

Bewaking en diagnose van IoT-toepassingen zijn cruciaal voor beschikbaarheid en tolerantie. Als er iets mislukt, moet u weten dat het is mislukt, wanneer het is mislukt en waarom. Door de werking van een IoT-toepassing en apparaten te controleren tegen een goede status, kunt u betrouwbaarheidsproblemen detecteren en oplossen.

Als u problemen wilt beperken die van invloed zijn op de betrouwbaarheid van IoT-toepassingen, moet u logboeken en signalen kunnen vastleggen waarmee u problemen in end-to-end-bewerkingen kunt detecteren. Gebruik logboekregistratie en bewaking om te bepalen of een IoT-oplossing werkt zoals verwacht en om problemen met oplossingsonderdelen op te lossen.

De volgende acties ondersteunen waarneembaarheid voor IoT-oplossingen:

  • Stel een mechanisme in voor het verzamelen en analyseren van metrische prestatiegegevens en waarschuwingen.
  • Apparaten, cloudservices en toepassingen configureren om te verzamelen en verbinding te maken met Azure Monitor.
  • Gebruik realtime dashboards en waarschuwingen om azure-back-endservices te bewaken.
  • Rollen en verantwoordelijkheden definiëren voor het bewaken en reageren op gebeurtenissen en waarschuwingen. Zie Rollen, verantwoordelijkheden en machtigingen voor meer informatie.
  • Implementeer continue bewaking.

Azure Monitor

Azure Monitor is het aanbevolen platform voor bewaking en visualisatie voor Azure IoT-oplossingen. U kunt apparaten, cloudservices en toepassingen configureren, ongeacht de implementatielocatie, om logboekberichten rechtstreeks of via ingebouwde connectors naar Azure Monitor te pushen.

  • Gebruik ingebouwde integratie van metrische gegevens van Azure Monitor voor externe bewaking van IoT Edge apparaten. Als u deze mogelijkheid op uw apparaten wilt inschakelen, voegt u de module IoT Edge Metrics Collector toe aan uw implementatie en configureert u deze voor het verzamelen en transport van metrische modulegegevens naar Azure Monitor.

  • Met Azure Monitor kunt u de status van uw IoT Hub omgeving bewaken, controleren of deze goed wordt uitgevoerd en controleren of uw apparaten niet worden beperkt of verbindingsproblemen ondervinden. IoT Hub biedt metrische gegevens over gebruik, zoals het aantal gebruikte berichten en het aantal verbonden apparaten. U kunt deze gegevens doorgeven aan Azure Monitor voor analyse en om andere services te waarschuwen.

  • Als uw oplossing gebruikmaakt van Azure IoT Central, kunt u de metrische gegevens van IoT Central gebruiken om de status van verbonden apparaten en actieve gegevensexports te beoordelen. IoT Central-toepassingen schakelen standaard metrische gegevens in, waartoe u toegang hebt vanaf de Azure Portal. Azure Monitor biedt verschillende manieren om met deze metrische gegevens te communiceren.

  • Azure Monitor biedt aangepaste logboekparsering om de ontleding van gebeurtenissen en records in afzonderlijke velden te vergemakkelijken voor indexering en zoekopdrachten.

  • Implementeer realtime dashboards en Azure Monitor-waarschuwingen om azure-back-endservices te bewaken. Waarschuwingen informeren u proactief over specifieke voorwaarden in uw bewakingsgegevens, zodat u problemen kunt identificeren en oplossen voordat klanten ze tegenkomen. U kunt waarschuwingen instellen voor metrische gegevens, logboeken en het activiteitenlogboek.

Application Insights is een functie van Azure Monitor die uitbreidbaar beheer van toepassingsprestaties en bewaking voor live web-apps biedt. Als uw IoT-oplossing gebruikmaakt van aangepaste Azure App Service-, Azure Kubernetes Service- of Azure Functions-toepassingen, kunt u Application Insights gebruiken voor app-bewaking en -analyse.

Met Application Insights kunt u het volgende doen:

  • Prestatieafwijkingen automatisch detecteren.
  • Hulp bij het diagnosticeren van problemen met behulp van krachtige analysehulpprogramma's.
  • Laat zien wat gebruikers daadwerkelijk met uw apps doen.
  • Help u de prestaties en bruikbaarheid van apps continu te verbeteren.

Doorlopende bewaking

Continue integratie en continue implementatie (CI/CD) is een DevOps-praktijk die software sneller en betrouwbaarder levert om gebruikers continue waarde te bieden. Continue bewaking (CM) is een vergelijkbaar concept dat bewaking omvat voor alle fasen en onderdelen van een DevOps-cyclus.

CM zorgt continu voor de status, prestaties en betrouwbaarheid van uw apps en infrastructuur tijdens de ontwikkeling, productie en release voor klanten. Zie voor meer informatie:

Resources bewaken

HA/DR voor kritieke onderdelen

Wanneer u uw IoT-oplossing ontwerpt en bouwt, moet u voldoen aan de SLA voor foutherstel in de oplossingsstack. Uw SLA moet u helpen met betrekking tot welke kritieke systeemonderdelen HA/DR nodig hebben. Er zijn meerdere benaderingen, van redundantie in de IoT-oplossingsstack tot redundantie voor specifieke lagen. Kosten zijn ook een belangrijke overweging om af te wegen tegen het belang van het voldoen aan SLA's.

  • Azure IoT-services hebben gedefinieerde uptime- en beschikbaarheidsdoelen. Bekijk de SLA's voor Azure IoT-services die deel uitmaken van uw oplossing om te zien of ze voldoen aan uw uptime-doelstellingen. Azure IoT Hub heeft bijvoorbeeld een SLA van 99,9%, wat betekent dat u 1 minuut en 36 seconden potentiële downtime per dag moet plannen. De Azure IoT Hub SDK biedt ingebouwde, configureerbare logica voor het afhandelen van nieuwe pogingen en uitstel.

  • Overweeg uw uptimedoelen op te delen in twee categorieën: apparaatbeheer en gegevensopnamebewerkingen. Het kan bijvoorbeeld essentieel zijn dat een apparaat gegevens naar een IoT-hub verzendt, zelfs als apparaatbeheerservices niet beschikbaar zijn. Zie de betrouwbaarheidsfuncties van Azure IoT Hub SDK voor meer informatie.

  • Overweeg het gebruik van redundante hardware voor sensoren, voeding en opslag. Met redundante hardware kunnen apparaten werken als er geen kritiek onderdeel beschikbaar is. Hardware kan ook helpen bij verbindingsproblemen. U kunt bijvoorbeeld een methode voor opslaan en doorsturen gebruiken voor gegevens wanneer er geen verbinding beschikbaar is. Deze functie is ingebouwd in Azure IoT Edge.

  • Apparaten moeten ook cloudstoringen kunnen afhandelen. Azure-regiokoppeling biedt een HA/DR-strategie voor IoT Hub die voldoet aan veel SLA-vereisten. Als regiokoppeling niet voldoende is, kunt u overwegen een secundaire IoT-hub te implementeren. U kunt DPS ook gebruiken om in code vastgelegde IoT Hub configuraties op uw apparaten te voorkomen. Als uw primaire IoT-hub uitvalt, kan DPS uw apparaten toewijzen aan een andere hub.

  • Overweeg om een heartbeat-berichtpatroon te implementeren voor apparaten waarvan u verwacht dat ze meestal online zijn. Dit patroon maakt gebruik van een aangepaste IoT Hub-route met Azure Stream Analytics, Azure Logic Apps of Azure Functions om te bepalen of een heartbeat is mislukt. U kunt de heartbeat gebruiken om Azure Monitor-waarschuwingen te definiëren die naar behoefte acties ondernemen.

HA/DR-resources

Volgende stappen