Driftseffektivitet i din IoT-arbetsbelastning
Med tanke på komplexiteten i kraven på IoT-lösningar är organisationens operativa funktioner viktiga för att driva ett hållbart affärsvärde. Den här guiden fokuserar på de operativa aspekterna av IoT-enheter och -tjänster som unikt hanterar kärnkraven för en IoT-lösning.
Driftseffektivitet i en IoT-arbetsbelastning kräver fullständig insyn och kontroll över alla maskinvaru- och programvarukomponenter i lösningen. Design-, utvecklings-, etablerings-, övervaknings-, support- och underhållsrutiner måste vara flexibla och leverera affärsvärde utan att öka driftrisken.
I IoT-lösningar flyttar enhetens mångfald och skala, olika nätverkstyper och geografiskt distribuerade platser avsevärt moln- och hybridmodellen för delat ansvar från molnleverantören. Molntjänster gör det enklare för organisationer att använda IoT-enheter och nätverk själva eller med hjälp av tredje part, men organisationerna själva äger det operativa ansvaret för dessa viktiga delar av IoT-arbetsbelastningar.
Driftskvalitet säkerställer att din IoT-lösning kan:
- Stöd för olika användarroller.
- Hantera alla faser i enhetens livscykel.
- Skala effektivt för att möta ändringar på begäran.
- Använd automatisering för hantering och övervakning.
- Integrera med andra serverdelssystem.
Utvärdera driftseffektivitet i din IoT-arbetsbelastning
Om du vill utvärdera din IoT-arbetsbelastning via linserna i den välarkitekterade ramens operational excellence-pelare, slutför du frågorna om driftskvalitet för IoT-arbetsbelastningar i Azure Well-Architected Review. När utvärderingen har identifierat viktiga rekommendationer för driftskvalitet för din IoT-lösning använder du följande innehåll för att implementera rekommendationerna.
Designprinciper
Fem grundpelare för arkitekturens utmärkthet ligger till grund för designmetoden för IoT-arbetsbelastningar. Dessa pelare fungerar som en kompass för efterföljande designbeslut inom de viktigaste IoT-designområdena. Följande designprinciper utökar kvalitetspelarna i Azure Well-Architected Framework – Operational Excellence.
Designprincip | Att tänka på |
---|---|
Omfamna kontinuerlig drift och skalning | Se till att IoT-lösningen kan hantera automatiserad enhetsetablering, integrera med andra serverdelssystem, stödja olika roller, till exempel lösningsutvecklare, lösningsadministratörer och operatörer, samt anpassa och skala effektivt till ändringar på begäran, till exempel nya IoT-enheter som distribueras eller högre dataflöde för inmatning. |
Optimera bygg- och lanseringsprocesser | En lyckad IoT-lösning för företag kräver en strategi för att upprätta och uppdatera en enhet eller flotta av enhetens konfiguration. En enhets konfiguration omfattar enhetsegenskaper, anslutningsinställningar, relationer och inbyggd programvara. IoT-operatörer kräver enkla och tillförlitliga verktyg som gör det möjligt för dem att uppdatera en enhet eller flotta av enhetens konfiguration när som helst under enhetens livslängd. |
Förstå driftshälsa | Använd IoT-lösningsloggnings-, övervaknings- och aviseringssystem för att avgöra om lösningen fungerar som förväntat och för att felsöka problem under hela lösningens livscykel. |
Använda automation och DevOps | En IoT-enhet är i grunden en liten dator med specialiserad maskinvara och programvara. IoT-enheter är ofta begränsade i maskinvara, till exempel med begränsad minneskapacitet eller beräkningskapacitet. Automatisering och DevOps är viktiga för att säkerställa att operativsystem och programvara för IoT-enheter och gatewayer laddas upp och distribueras korrekt för att minimera driftstopp. Automation och DevOps är viktiga för övervakning och hantering av livscykeln för IoT-enheter. |
IoT-arkitekturlager
Designprinciper för operational excellence hjälper till att klargöra överväganden för att se till att din IoT-arbetsbelastning uppfyller kraven i de grundläggande IoT-arkitekturskikten.
IoT-kärnskikten: Enhet och gateway, enhetshantering och modellering samt inmatning och kommunikation, identifierar IoT-specifika lösningar. De andra skikten och de övergripande aktiviteterna är också gemensamma för och delas ofta med andra arbetsbelastningar. DevOps övergripande aktiviteter är särskilt viktiga för att stödja grundpelare för driftskvalitet.
Enhets- och gatewaylager
Det här lagret representerar den fysiska eller virtuella enheten och gatewaymaskinvaran som distribueras på gränsen eller lokalt.
En viktig faktor för IoT-driftseffektivitet är en organisations förmåga att planera, etablera, konfigurera, övervaka och dra tillbaka IoT-enheter. Organisationer måste välja IoT-maskinvara som uppfyller affärs- och tekniska krav och definiera lämpliga testprocedurer för att säkerställa drifttillförlitlighet.
Greenfield-projekt som använder ny maskinvara har vanligtvis större flexibilitet i enhetstyper, inbyggd programvara och anslutningsfunktioner samt tekniska specifikationer. Du kan behöva välja enheter som uppfyller regionala certifieringskrav eller föreskrifter som CE, FCC, UL, PCI eller FDA.
Brownfield-projekt som redan har distribuerad maskinvara har vanligtvis fler maskinvarubegränsningar. Du kan behöva leta efter andra typer av maskinvara, till exempel protokoll- eller identitetsöversättningsenheter, eller anslutningsgatewayer som Bluetooth till MQ-telemetritransportgateway (MQTT).
Certifiering av Azure Certified Device Program verifierar att en enhet kan ansluta till Azure IoT Hub och etableras på ett säkert sätt via IoT Hub Device Provisioning Service (DPS). Azure Certified Device Catalog kan hjälpa dig att hitta och välja certifierad partnermaskinvara. Enhetskatalogen har sök- och filterfunktioner som du kan använda för att hitta maskinvara som uppfyller dina lösningskrav.
En viktig funktion att söka efter i Azure IoT-certifierad maskinvara är Azure Plug-and-Play- och DTDL-kompatibilitet (Digital Twins Definition Language). De här funktionerna säkerställer att enheterna integreras sömlöst med tjänster som Azure Digital Twins. För Azure IoT Edge-scenarier är det viktigt att hitta katalogenheter som har IoT Edge Managed-certifieringen. Den här certifieringen garanterar att enheten kan köra IoT Edge-körningen och möjliggör distribution och hantering av IoT Edge-moduler som stöder gränsbearbetning och analysarbetsbelastningar.
Enhetskomponenter och reservdelar måste vara tillgängliga för att täcka underhålls- och supportkontrakt för lösningens livslängd. Se till att det finns en säker utrustning i tid i början av projektet, eftersom detta krav kan vara dyrt att införa senare. Använd en betrodd leverantörskedja och överväg dubbla eller flera leveranskällor.
Inmatnings- och kommunikationslager
Organisationens nätverksdriftsteam samarbetar vanligtvis med telekommunikationsoperatören för att hantera kommunikationsnätverksteknikstacken för en IoT-arbetsbelastning. Samordna med din telekommunikationsoperatör för att konfigurera och använda de kabelanslutna och trådlösa kommunikationsnätverkskomponenterna i dina IoT-lösningar och -åtgärder.
Kapacitetsskalning
Konfigurera inmatningen och andra backend-lager i IoT-molnlösningen för att kunna skala för att hantera förväntade och oväntade kapacitetsbehov. Om lösningen är kopplad till en ansluten produkt måste du hantera variationer i förväntad belastning. Belastningen kan påverkas av marknadsföringsinitiativ som försäljning eller kampanjer eller av säsongshändelser som helgdagar. Du bör testa belastningsvariationer före händelser, inklusive oväntade händelser, för att säkerställa att din IoT-lösning kan skalas.
Azure erbjuder flera alternativ för att uppfylla kapacitetskraven när ditt företag växer. Kapacitetsplanering och skalning för din IoT-lösning varierar beroende på om du skapar en IoT Central - eller IoT Hub-baserad lösning.
IoT Central är en hanterad programplattform som du kan använda för att snabbt utvärdera ditt IoT-scenario och utvärdera affärsmöjligheterna. IoT Central tar dock hand om de flesta infrastrukturelement, men lagrar bara 30 dagars data. Eftersom de flesta IoT-lösningar exporterar data till andra tjänster bör du fokusera på att se till att de andra tjänsterna kan hantera förväntade och oväntade kapacitetsbehov under utvärderingen av din lösning.
Med en IoT Hub-baserad lösning är det ditt ansvar att skala upp för att hantera tillväxten i antalet meddelanden som matas in och skala ut för att hantera regionala krav. Att förstå antalet meddelanden som enheter skickar till IoT Hub och det varaktiga dataflödet är viktigt för att välja rätt IoT Hub-nivå för att stödja den förväntade efterfrågan.
Om du närmar dig IoT Hub-meddelandegränsen bör systemet automatiskt kunna skala upp IoT Hub till nästa kapacitetsenhet. Alla serverdelstjänster i IoT-lösningen, till exempel Azure Stream Analytics, Azure Cosmos DB och Azure Data Explorer, måste ha stöd för skalbarhet för att säkerställa att det inte finns några flaskhalsar någonstans i lösningens dataflöde.
Du bör också planera för kapacitetsbehov och krav för gränsenhet. Oavsett om du hanterar realtidsoperativsystem (RTOS)-baserade enheter eller större beräkningsenheter med IoT Edge kontrollerar du att beräknings- och minnesstorleken är tillräcklig för dina specifika användningsfall.
Lager för enhetshantering och modellering
Implementera en centraliserad enhetshanteringslösning för att administrera, övervaka och köra livscykeln för IoT-enheter och för att hantera den övergripande konfigurationen av IoT-lösningen. Överväg att implementera ett integrerat användargränssnitt för att hjälpa åtgärdsteam med hantering av enhetsflottan.
Enhetsetablering
Definiera en fjärrenhetsetableringsstrategi för att aktivera nolltouch- och just-in-time-etablering av IoT-enheter i fältet utan att kräva mänsklig inblandning.
För fjärretablering av IoT-enheter möjliggör Azure IoT Hub Device Provisioning Service (DPS) anslutning och konfiguration av fjärrenheter till IoT Hub. DPS möjliggör zero-touch-etablering utan hårdkodningsinformation på fabriken och möjliggör belastningsutjämning av enheter över flera IoT-hubbar.
Även om DPS stöder symmetrisk nyckelattestering bör du i en produktionsmiljö använda antingen X.509-certifikatet eller TPM-attesteringsmekanismerna. Om du använder X.509-certifikat bör du distribuera rotcertifikatet, eller ett mellanliggande certifikat som signerats av rotcertifikatet till DPS, för att tillåta att enheter i fältet autentiseras korrekt till tjänsten och tilldelas rätt IoT-hubb.
En del av en IoT-lösningslivscykel omfattar ometablering av enheter i fältet eller flytt av dem mellan IoT-hubbar. DPS möjliggör konfiguration av ometableringsprinciper som avgör förväntat beteende när en IoT-enhet skickar en ny etableringsbegäran. Enheter bör programmeras för att skicka en etableringsbegäran vid omstart och bör implementera en metod för att manuellt utlösa etablering på begäran. Den här mekanismen säkerställer att varje gång en enhet startas kontaktar den DPS för att omdirigeras till lämplig IoT-hubb.
Enhetskonfiguration och uppdateringshantering
Upprätta en strategi för att uppdatera enhets- eller enhetsflottans konfiguration. En enhets konfiguration omfattar enhetsegenskaper, inbyggd programvara, anslutningsinställningar och relationer. IoT-operatörer behöver enkla och tillförlitliga verktyg som gör att de kan uppdatera en enhets- eller enhetsflottas konfiguration när som helst under enhetens livslängd.
En IoT-lösnings skala och specifika användning av en enhets konfiguration påverkar utformningen av en strategi för konfigurationshantering. Det är viktigt att automatisera den här strategin så mycket som möjligt och se till att konfigurationen kan ställas in och uppdateras effektivt.
En strategi för konfigurationshantering bör ha stöd för:
- Inventering av IoT-enheter och IoT Edge-enheter som distribuerats i fältet.
- Gradvis uppdateringsdistribution via enhetsgruppering.
- Elastiska uppdateringar som stöder testning och återställningar.
- Automatiska uppdateringar för befintliga eller nya enheter.
- Uppdaterade statusrapporter och aviseringar.
Azure-funktioner som stöder dessa konfigurationshanteringskrav omfattar automatisk enhetshantering i IoT Hub, automatiska IoT Edge-distributioner, schemalagda IoT Hub-jobb och Enhetsuppdatering för IoT Hub.
För kontinuerliga uppdateringar av befintliga eller nya enheter och IoT Edge-enhetskonfigurationer, till exempel egenskaper, programspecifika inställningar eller relationer, använder du antingen automatisk enhetshantering i IoT Hub eller automatiska IoT Edge-distributioner. Båda funktionerna erbjuder ett effektivt, säkert och tillförlitligt sätt att automatisera konfigurationsdistributioner för en flotta eller en specifik grupp med enheter. Tjänsterna övervakar kontinuerligt alla nya och befintliga målenheter och deras konfiguration baserat på taggar för att säkerställa att enheterna alltid har den angivna konfigurationen. Den största skillnaden mellan dessa funktioner är att automatisk enhetshantering endast gäller för icke-IoT Edge-enheter, och automatiska IoT Edge-distributioner gäller endast för IoT Edge-enheter.
Om du vill uppdatera en befintlig enhets- eller IoT Edge-enhetskonfiguration baserat på ett engångsschema eller ett återkommande schema använder du schemalagda IoT Hub-jobb. Den här funktionen är ett effektivt, säkert och tillförlitligt sätt att tillhandahålla en konfigurationsuppdatering för en flotta eller en specifik grupp med enheter vid en schemalagd tidpunkt.
Om du vill uppdatera befintlig enhets- eller IoT Edge-enhetens inbyggda programvara, program eller paketuppdateringar över luften (OTA) använder du Enhetsuppdatering för IoT Hub. Den här tjänsten är ett säkert, säkert och tillförlitligt sätt att uppdatera en flotta eller en specifik grupp med enheter.
Det är en bra idé att ha en manuell uppdateringsmetod för IoT-enheter. På grund av rotcertifikatändringar eller anslutningsproblem kan du behöva uppdatera enheter manuellt genom att fysiskt ansluta till en lokal dator eller använda ett lokalt anslutningsprotokoll som Bluetooth.
Mer information om enhetshantering finns i:
- Automatisk Enhetshantering för Azure IoT Hub
- Automatiska distributioner av Azure IoT Edge
- Schemalagda Azure IoT Hub-jobb
- Enhetsuppdatering för IoT Hub
Användargränssnitt för hantering
Lösningsoperatorer och administratörer behöver ett gränssnitt för att interagera med IoT-lösningen, till exempel etablera enheter, lägga till eller ta bort användare, skicka kommandon till IoT-enheter eller hantera enhetsuppdateringar.
IoT Central har ett inbyggt, lättanvänt hanteringsgränssnitt som gör att operatörer och administratörer kan fokusera på att lägga till branschkunskaper och utvärdera lösningen.
När du skapar din företagslösning med hjälp av plattformstjänsterna, till exempel IoT Hub och Azure Digital Twins, kan du skapa ett anpassat hanteringsgränssnitt med hjälp av REST-API:erna som exponeras i IoT Hub REST API:er och Azure Digital Twins REST API:er.
Integreringslager
En typisk IoT-lösning består av flera komponenter som inmatning, routning, datalagring och databearbetning. Det är viktigt att dokumentera och ha en god förståelse för hela dataflödet i IoT-lösningen. Ha testprocedurer på plats för att säkerställa att de olika delarna av lösningen fungerar som förväntat och uppfyller organisationens tekniska och operativa krav. Implementera automatisering för att identifiera enhetsfunktioner i stor skala när de ansluter till din IoT-lösning och för att enkelt integrera med serverdelstjänster.
Konfigurera och testa tillförlitlig integrering med andra Azure- och tredjepartstjänster som stöder IoT-programmets serverdels- och klientdelstjänster. En lyckad IoT-implementering kräver integrering av IoT-tjänster som IoT Hub och DPS med andra Azure- och tredjepartstjänster.
DPS stöder till exempel anpassade allokeringsprinciper med hjälp av anpassad kod och Azure Functions, så det är viktigt att bekräfta att Azure-funktionen tillåter trafik som kommer från DPS och IoT Hub. Ett annat exempel är integreringen mellan IoT Hub- och serverdelstjänster för att aktivera funktioner som meddelanderoutning och filuppladdning. IoT Hub måste autentiseras korrekt till dessa Azure-tjänster. Du bör använda hanterade identiteter för att eliminera behovet av att hantera dessa autentiseringsuppgifter manuellt.
DevOps-lager
DevOps innehåller roll- och användarhantering, insamling av mått, övervakning och automatisering.
Roll- och användarhantering
Ett viktigt beslut tidigt i en lösningsdesignfas är att definiera de roller som implementerar och hanterar lösningen. Fastställ de roller som ansvarar för att utveckla, hantera och driva IoT-lösningen i stor skala och de användare som tilldelats till dessa roller.
Helst bör lösningen lita på en centraliserad identitetsprovider, till exempel Microsoft Entra-ID, och endast låta lämpliga användare i dessa roller utföra hanterings- eller åtgärdsaktiviteter, till exempel skapa och etablera nya enheter, skicka kommandon till maskinvara i fältet, distribuera uppdateringar och ändra användarbehörigheter.
I en IoT Hub-baserad lösning kan du använda Microsoft Entra-ID för att autentisera begäranden till IoT Hub-tjänst-API:er, till exempel skapa enhetsidentiteter eller anropa direkta metoder. Du kan utveckla ett anpassat hanteringsgränssnitt för lösningsoperatorer och administratörer som autentiserar användare mot Microsoft Entra-ID och kör API-begäranden till IoT-lösningens serverdel för dessa användares räkning.
IoT Edge-måttinsamlare
Azure IoT Edge tillhandahåller IoT Edge Metrics Collector som är redo att använda IoT Edge-modulen på IoT Edge-modulen Marketplace. Lägg till den här modulen i en IoT Edge-distribution för att samla in mått och skicka dem till Azure Monitor. Modulkoden med öppen källkod är en Docker-containeravbildning med flera arkitekturer som stöder Linux x64, ARM32 och Arm64 version 1809.
Modulen Måttinsamlare kan samla in loggar från alla moduler som kan generera mått med hjälp av Prometheus-datamodellen. Även om inbyggda mått ger bred arbetsbelastningssynlighet som standard kan du också använda anpassade moduler för att generera scenariospecifika mått som förbättrar övervakningslösningen.
Det finns två alternativ för att skicka mått från modulen Måttinsamlare till molnet:
Skicka måtten till Log Analytics. De insamlade måtten matas in i den angivna Log Analytics-arbetsytan med hjälp av en fast, intern tabell med namnet
InsightsMetrics
.Skicka måtten till IoT Hub. Du kan konfigurera insamlingsmodulen för att skicka insamlade mått som UTF-8-kodade JSON-meddelanden från enhet till moln via edge hub-modulen. Det här alternativet låser upp övervakning av låsta IoT Edge-enheter som endast tillåts extern åtkomst till IoT Hub-slutpunkten.
Konfigurationsalternativen AllowedMetrics
och BlockedMetrics
tar utrymmes- eller kommaavgränsade listor med måttväljare. Ett mått matchas med listan och inkluderas eller exkluderas om det matchar ett eller flera mått i någon av dem.
Du kan visuellt utforska mått som samlas in från IoT Edge-enheter med hjälp av Azure Monitor-arbetsböcker. Utvalda arbetsböcker använder inbyggda mått från IoT Edge-körningen som matas in i en Log Analytics-arbetsyta. De här vyerna behöver inga måttinstrumentation från arbetsbelastningsmodulerna.
Azure Portal innehåller utvalda övervakningsarbetsböcker för IoT Edge-enheter som offentliga mallar. Gå till sidan Arbetsböcker i avsnittet Övervakning för att komma åt arbetsböckerna från sidan IoT Hub eller IoT Central i Azure Portal.
Övervakning
Använd IoT-lösningsloggnings-, övervaknings- och aviseringssystem för att avgöra om lösningen fungerar som förväntat och för att felsöka och åtgärda problem. Övervakning och loggning hjälper dig att avgöra om enheter eller system är i ett feltillstånd, korrekt konfigurerade, genererar korrekta data och uppfyller definierade servicenivåmål.
IoT-loggnings- och övervakningssystem kan vara mer komplicerade än i vanliga verksamhetsspecifika program. Komplexiteten uppstår eftersom IoT-lösningar ofta omfattar:
- Fysiska sensorer som interagerar med en miljö.
- Program på gränsen utför aktiviteter som dataformning och protokollöversättning.
- Infrastrukturkomponenter som lokala gatewayer, brandväggar och växlar.
- Inmatnings- och meddelandetjänster.
- Beständighetsmekanismer.
- Insikter och rapporteringsprogram.
- Undersystem som fungerar och skalas oberoende i molnet.
Följande förenklade loggnings- och övervakningsarkitektur visar exempel på typiska IoT-lösningskomponenter och hur de använder rekommenderade tekniker.
Om dina kritiska program och affärsprocesser är beroende av Azure-resurser bör du övervaka dessa resurser för tillgänglighet och prestanda. Du kan använda Azure Monitor för att utföra följande övervakningsaktiviteter:
- Identifiera och diagnostisera problem för program och beroenden med Application Insights.
- Korrelera infrastrukturproblem med VM Insights och Container Insights.
- Granska dina övervakningsdata med Log Analytics för felsökning och djupgående diagnostik.
- Stödåtgärder i stor skala med smarta aviseringar och automatiserade åtgärder.
- Skapa visualiseringar med instrumentpaneler och arbetsböcker i Azure.
- Samla in data från övervakade resurser med hjälp av Azure Monitor Metrics.
Övervaka IoT Hub
Azure IoT Hub samlar in samma typer av övervakningsdata som andra Azure-resurser, enligt beskrivningen i Övervaka data från Azure-resurser. Sidan Översikt i Azure Portal för varje IoT-hubb innehåller diagram som tillhandahåller vissa användningsmått, till exempel antalet meddelanden som används och antalet enheter som är anslutna till hubben. Informationen på sidan Översikt är användbar, men representerar bara en liten mängd övervakningsdata som är tillgängliga för en IoT-hubb.
Vissa övervakningsdata samlas in automatiskt och är tillgängliga för analys så snart du skapar din IoT-hubb. Du kan konfigurera andra typer av datainsamling. Mer information om de mått och loggar som IoT Hub skapar finns i Övervaka Azure IoT Hub-datareferens.
Övervaka uppdateringar
Precis som med alla distributioner eller uppdateringar bör du övervaka uppdateringstillståndet för distributioner och enheter. DevOps är ett sätt att konsekvent leverera nya programuppdateringar. Enhetsuppdatering för IoT Hub övervakar efterlevnaden genom att mäta hur många enheter som har installerat den högsta versionskompatibla uppdateringen. En enhet är kompatibel om den har installerat den högsta tillgängliga versionen av den kompatibla uppdateringen.
Övervaka konfiguration
Precis som med all distribution eller uppdatering bör du övervaka och avisera om status för en enhetskonfiguration eller uppdateringsdistribution. Varje Azure IoT-konfigurationstjänst samlar in och lagrar loggar och mått i Azure Monitor. Du kan använda dessa data för att skapa Azure Monitor-aviseringar för att skicka meddelanden när en konfigurationsdistribution eller uppdatering skapas, slutförs eller misslyckas.
Om övervakningsdata som tillhandahålls av var och en av Azure IoT-konfigurationstjänsterna inte räcker erbjuder Azure IoT Hub-tjänst-API:erna en mer detaljerad vy.
Övervaka automatisering och DevOps
DPS, IoT Hub och IoT Edge tillhandahåller kontinuerliga mått och statusuppdateringar som är viktiga indata för att övervaka ci/CD-status (kontinuerlig integrering/kontinuerlig distribution) eller automatiseringsskriptutdata. Du kan samla in och analysera dessa mått på en Log Analytics-arbetsyta och sedan definiera aviseringar.
Mer information om övervakning finns i:
- Övervaka enhetsanslutningen med Azure CLI IoT-tillägget
- Övervaka, diagnostisera och felsöka Azure IoT Hub-enhetsanslutning
- Övervaka Azure IoT Hub
- Kontrollera Azure IoT Hub-tjänsten och resurshälsa
- Självstudie: Konfigurera och använda mått och loggar med en Azure IoT-hubb
- Samla in och transportera mått
Automation
En IoT-enhet är i grunden en liten dator med specialiserad maskinvara och programvara. IoT-enheter är ofta maskinvarubegränsade, till exempel har begränsad minneskapacitet eller beräkningskapacitet. Automation och DevOps ser till att IoT-enhets- och gatewayprogramvaran laddas upp och distribueras korrekt för att minimera driftstopp. Automation och DevOps är viktiga för att övervaka och hantera hela livscykeln för utveckling, distribution och drift av en IoT-lösning och -enheter.
Den viktigaste fördelen med en mogen DevOps-implementering är flexibilitet, möjligheten att snabbt känna av och svara på förändringar i affärsbehov. Följ dessa rekommendationer om du vill använda automatisering med DevOps för flexibel programvaruutveckling, distribution, testning, integrering och åtgärder:
Använd CI/CD DevOps-principer och processer för att öka produktiviteten och skapa en sömlös snabb utvecklingscykel.
Distribuera programprogramändringar i en IaC-miljö (infrastruktur som kod) för att automatisera och hantera den pågående driften av distribuerad programvara.
Automatisera IoT-programmets livscykel från utveckling till testning till distribution till IT-drift.
Använd DevOps-verktyg och -processer i IoT Hub och IoT Edge för att automatisera edge-programvarans livscykel. Använd IoT Edge för att distribuera IoT-programprogramvara på enheter.
Ge operatörerna verktyg för att få insyn och insikter, samarbeta, kontrollera och underhålla en tillförlitlig IoT-lösning.
Omfamna tvärfunktionella team för att leverera kontinuerligt för lösningar. Enhetsleverantörer och korsfunktionella lösningsutvecklare bör samarbeta för att utveckla och distribuera IoT-lösningar.
Utveckla affärs- och distributionsmodeller för att skapa möjligheter för olika affärsmodeller och pilotvalidering, distribution och förbättringar.
Automatisera enhetens livscykel
Anslutna IoT Edge-enheter har en livscykel som sträcker sig längre än att distribuera, bryta och åtgärda och dra tillbaka. Anslutna enheter ger organisationer den bästa positionen att dra nytta av affärsmöjligheter och kontinuerligt lägga till inkrementell innovation under hela systemlivscykeln.
I IoT-lösningar definierar program som är installerade på maskinvara systemfunktioner. Tusentals enheter kan vara anslutna till en enda molnslutpunkt, till exempel IoT Hub. Alla ändringar i konfigurationen eller programvaran måste spridas över alla enheter. Om du vill ändra systemfunktioner uppdaterar du programvara i stället för att göra maskinvaruändringar eller lokala åtgärder.
När du implementerar automatisering och DevOps i IoT-system följer du specifika automatiserings- och DevOps-krav för varje enhets livscykelfas. I följande tabeller beskrivs Azure IoT-funktioner som stöder tre faser i enhetens livscykel.
Livets början
Förväntningar | Plattformsfunktion tillgänglig med kodfragment |
---|---|
Registrering av icke-DPS-enheter | Massuppdateringar för enheter |
Enhetsetablering | DPS-konfiguration krävs för att tillhandahålla nolltouchenhetsetablering |
Hantering av enhetscertifikat och token | Kontrollera åtkomsten till IoT Hub med hjälp av signaturer för delad åtkomst (SAS) |
Livscykelhantering för enhetscertifikat | Ca-certifikatets livscykelhantering med DPS och DigiCert |
Initiala konfigurationer för enheten | Enhetstvillingar och enhetsmoduler |
Medelålder
Förväntningar | Plattformsfunktion tillgänglig med kodfragment |
---|---|
Kontinuerlig enhetskonfigurationshantering i stor skala | Enhetstvillingar och enhetsmoduler |
CI/CD-pipeline för IoT Edge-moduler | Kontinuerlig integrering och kontinuerlig distribution (CI/CD) till Azure IoT Edge-enheter |
Ometablering av enhet | Ometablering av DPS-enheter |
SAS-nyckelgenerering för ändringar eller förfallodatum | Kontrollera åtkomsten till IoT Hub med hjälp av signaturer för delad åtkomst (SAS) |
Logg- och enhetsdiagnostik | Förkonfigurerade Azure-arbetsböcker för IoT Hub |
Azure IoT Edge-övervakningsdiagnostik | Samla in och transportera IoT Edge-enhetsloggar och mått |
OTA-enhetsuppdateringar | Enhetsuppdatering för IoT Hub |
Livets slut
Förväntningar | Plattformsfunktion tillgänglig med kodfragment |
---|---|
Avregistrera enheter | Avregistrera en enhet från DPS |
Ta bort enhetsspecifik konfiguration | Enhetstvillingar och enhetsmoduler |
Byte av enhet | Samma som livets början |
Nästa steg
Relaterade resurser
- Automatisk hantering av IoT-enheter och -moduler med Azure CLI
- Krav för Azure IoT Edge
- Azure IoT Edge-hanterade certifieringskrav
- DPS X.509-attestering
- Azure IoT Hub-skalning
- Kontrollera åtkomsten till Azure IoT Hub med hjälp av Microsoft Entra-ID
- Planera för kapacitet – Microsoft Azure Well-Architected Framework
- Designprinciper för driftseffektivitet
- Azure IoT-referensarkitektur
- Dokumentation om Azure IoT