Azure IoT-referensarkitektur

Blob Storage
Functions
IoT Hub
IoT-enhetetableringstjänst
Logic Apps
Stream Analytics

Den här artikeln beskriver en rekommenderad arkitektur för IoT-program som använder Azure PaaS-komponenter (plattform som en tjänst). Följande diagram visar olika Azure-komponenter som kan användas för att skapa en IoT-lösning. Diagrammet visar och artikeln visar de flesta av de tjänster som används ofta, men ingen lösning kräver alla. Börja här om du precis har kommit igång med Azure IoT eller vill skapa din första konceptbevislösning:

Diagram över arkitekturen

Den här referensarkitekturen använder Azure PaaS-komponenter (plattform som en tjänst). Microsoft rekommenderar att du kommer igång Azure IoT Central, som är en IoT-lösningsplattform aPaaS (programplattform som en tjänst). Det är utformat för att förenkla och påskynda sammansättning och åtgärder för IoT-lösningar genom att förinstallera, skala och hantera många av samma PaaS-tjänster som beskrivs i den här referensarkitekturen. Resultatet är en färdig och redo att använda UX- och API-ytan med de funktioner som behövs för att ansluta, hantera och driva en stor mängd enheter. Läs mer om hur du jämför IoT Central (aPaaS) med en PaaS-lösning baserat på dina lösningsbehov.

Azure IoT-lösningar omfattar saker (vanligtvis enheter) som genererar data, insikter som du skapar om data och åtgärder som du vidta baserat på insikterna. Tänk dig en motor som skickar temperaturdata. Dessa data används för att utvärdera om motorn fungerar som förväntat. Insikten om dess prestanda används för att prioritera ett underhållsschema för motorn.

Enheter

Azure IoT stöder ett stort antal enheter, från mikrostyrenheter som kör Azure RTOS och Azure Sphere till utvecklarkort som MX Chip och Raspberry Pi. Azure IoT stöder också smarta servergatewayer som kan köra anpassad kod. Enheter kan utföra viss lokal bearbetning via en tjänst, till exempel Azure IoT Edge , eller bara ansluta direkt till Azure så att de kan skicka data till och ta emot data från IoT-lösningen.

När enheter är anslutna till molnet finns det flera tjänster som hjälper till att mata in data. Azure IoT Hub är en molngatewaytjänst som på ett säkert sätt kan ansluta och hantera enheter. IoT Hub Device Provisioning Service (DPS) möjliggör zero-touch och just-in-time-etablering som hjälper till att registrera ett stort antal enheter på ett säkert och skalbart sätt. Azure Digital Twins möjliggör virtuella modeller av verkliga system.

Insikter

När enheterna har anslutits i molnet kan deras data bearbetas och utforskas för att få anpassade insikter om deras miljö. På en hög nivå finns det tre sätt att bearbeta datas — heta sökväg, varma sökvägar och kalla sökvägar. Skillnaden mellan dem har att göra med krav på svarstid och dataåtkomst.

  • Den heta sökvägen analyserar data nästan i realtid när de tas emot. I den heta sökvägen måste telemetri bearbetas med mycket kort svarstid. Den heta sökvägen implementeras vanligtvis med en strömbearbetningsmotor. Överväg att använda tjänster som Azure Stream Analytics eller HDInsight. Utdata kan utlösa en avisering eller skrivas till ett strukturerat format som kan efterfrågas med analysverktyg.
  • Den varma sökvägen analyserar data som kan hantera längre fördröjningar för mer detaljerad bearbetning. Överväg Azure Data Explorer eller Azure Time Series Insights för att lagra och analysera stora mängder data.
  • Den kalla sökvägen utför batchbearbetning med längre intervall (varje timme eller varje dag). Den kalla sökvägen fungerar vanligtvis över stora mängder data som kan lagras i Azure Data Lake och resultatet behöver inte vara lika snabbt som de heta eller varma sökvägarna. Överväg att använda Azure Machine Learning eller Azure Databricks för att analysera kalldata.

Åtgärder

Du kan använda de insikter som samlas in om dina data för att hantera och kontrollera din miljö. Affärsintegreringsåtgärder kan omfatta lagring av informationsmeddelanden, larm, sändning av e-post eller SMS eller integrering med affärsprogram som CRM och ERP. Följande tjänster är tillgängliga för hantering och affärsintegrering:

  • Power BI ansluter till, modellerar och visualiserar dina data. Power BI kan du samarbeta kring data och använda artificiell intelligens för att fatta datadrivna beslut.
  • Med Azure Kartor kan du skapa platsmedvetna webb- och mobilprogram med hjälp av geospatiala tjänster (sökning, kartor, routning, spårning och trafik), API:er och SDK:er.
  • Azure Cognitive Search tillhandahåller en söktjänst för olika typer av innehåll. Detta omfattar funktioner för indexering, AI-berikning och frågefunktioner.
  • Azure API Management tillhandahåller en enda plats där du kan hantera alla dina API:er.
  • Med Azure Web Apps kan du distribuera webbprogram som skalas med din organisation.
  • Mobile Apps kan du skapa plattformsoberoende och interna appar för iOs, Android, Windows eller Mac.
  • Dynamics 365 kombinerar CRM (hantering av kundrelationer) och ERP (resursplanering för företag) i molnet.
  • Microsoft Flow är ett SaaS-erbjudande för automatisering av arbetsflöden mellan program och andra SaaS-tjänster.
  • Azure Logic Apps är ett molnbaserat PaaS-erbjudande som används för att skapa och automatisera arbetsflöden som integrerar dina appar, data, tjänster och system.

Det finns också flera tjänster som tillhandahålls av Azure som hjälper dig att övervaka hela din IoT-lösning och skydda den. Diagnostiktjänster omfattar Azure Monitor. Säkerhetstjänster som Azure Active Directory och Azure Defender for IoT hjälper dig att kontrollera, visa och hantera dina säkerhetsinställningar, hotidentifiering och svar.

Digital Twins

Kunder utforskar Digital Twins en mekanism för att kontrollera och övervaka anslutna miljöer. En digital tvilling är en virtuell modell av en verklig miljö som drivs med data från affärssystem och IoT-enheter. Den används för att möjliggöra insikter och åtgärder för ett företag eller en organisation. Utvecklare och arkitekter vill använda digitala tvillingar som en lösning som möjliggör intelligenta och anslutna miljöer, till exempel följande:

  • Förutsägande underhåll inom tillverkning
  • Synlighet för leveranskedjan
  • Smarta hyllor för realtidsinventering
  • Anslutna hem och smarta byggnader

Distribution i stor skala

Skapa din lösning för distribution i global skala. För optimal skalbarhet kan du skapa ditt IoT-program som diskreta tjänster som kan skalas oberoende av varandra. Det här avsnittet innehåller skalbarhetsöverväganden för olika Azure-tjänster.

Functions. Vid läsning från Event Hubs-slutpunkten finns det ett maximum för funktionsinstans per händelsehubbpartition. Maximal bearbetningsfrekvens avgörs av hur snabbt en funktionsinstans kan bearbeta händelserna från en enskild partition. Funktionen bör bearbeta meddelanden i batchar.

IoT Hub. För IoT Hub bör du tänka på följande skalningsfaktorer:

  • Maximal dagskvot för meddelanden till IoT Hub.
  • Kvot för anslutna enheter i en IoT Hub-instans.
  • Inmatningsdataflöde — hur snabbt IoT Hub kan mata in meddelanden.
  • Bearbetningsdataflöde — hur snabbt inkommande meddelanden bearbetas.

Varje IoT-hubb etableras med ett visst antal enheter i en specifik pris- och skalningsnivå. Nivå och antal enheter avgör den maximala dagskvoten för meddelanden som enheter kan skicka till hubben. Mer information finns i IoT Hub och begränsning. Du kan skala upp en hubb utan att avbryta befintliga åtgärder.

Stream Analytics. Stream Analytics-jobb skalas bäst om de är parallella vid alla punkter i Stream Analytics-pipelinen, från indata till fråga till utdata. Ett fullständigt parallellt jobb gör det möjligt för Stream Analytics att dela upp arbetet på flera beräkningsnoder. Mer information finns i Utnyttja frågeparallellisering i Azure Stream Analytics.

IoT Hub partitionerar automatiskt enhetsmeddelanden baserat på enhets-ID. Alla meddelanden från en viss enhet anländer alltid på samma partition, men en enskild partition har meddelanden från flera enheter. Därför är enheten för parallellisering partitions-ID.

Säkerhet

Det här avsnittet innehåller överväganden för att skapa säkra lösningar.

Noll förtroende säkerhetsmodell

Noll förtroende är en säkerhetsmodell som förutsätter att överträdelser sker och behandlar varje åtkomstförsök som om det kommer från ett öppet nätverk. Noll förtroende förutsätter att du har implementerat grunderna, till exempel att skydda identiteter och begränsa åtkomsten. Detta omfattar att uttryckligen verifiera användare, ha insyn i sina enheter och att kunna fatta dynamiska åtkomstbeslut med hjälp av riskidentifiering i realtid. När grunderna är uppfyllda kan du flytta fokus till följande Noll förtroende för IoT-lösningar:

  • Använd stark identitet för att autentisera enheter.
  • Använd minst privilegierad åtkomst för att minimera radien.
  • Övervaka enhetens hälsotillstånd för att övervaka åtkomst eller flagga enheter för reparation.
  • Utför uppdateringar för att hålla enheterna felfria.
  • Övervaka för att identifiera och svara på nya hot.

Läs Noll förtroende cybersäkerhet för Sakernas Internet för fullständig information.

Tillförlitlig och säker kommunikation

All information som tas emot från och skickas till en enhet måste vara tillförlitlig. Om en enhet inte kan hantera följande kryptografifunktioner bör den begränsas till lokala nätverk och all internätverkskommunikation bör gå via en fältgateway:

  • Datakryptering och digitala signaturer med en bevisbart säker, offentligt analyserad och brett implementerad krypteringsalgoritm med symmetrisk nyckel.
  • Stöd för antingen TLS 1.2 för TCP eller andra strömbaserade kommunikationsvägar eller DTLS 1.2 för datagrambaserade kommunikationsvägar. Stöd för hantering av X.509-certifikat är valfritt och kan ersättas med det beräknings- och överföringseffektivare läget med i förväg delade nycklar för TLS, som kan implementeras med stöd för AES- och SHA-2-algoritmerna.
  • Uppdateringsbart nyckellager och nycklar per enhet. Varje enhet måste ha unikt nyckelmaterial eller token som identifierar den för systemet. Enheterna bör lagra nyckeln på ett säkert sätt på enheten (till exempel med hjälp av ett säkert nyckellager). Enheten bör kunna uppdatera nycklar eller token med jämna mellanrum eller reaktivt i nödsituationer, till exempel ett systemintrång.
  • Inbyggd programvara och program på enheten måste tillåta uppdateringar för att möjliggöra reparation av identifierade säkerhetsrisker.

Många enheter är för begränsade för att stödja dessa krav. I så fall bör en fältgateway användas. Enheter ansluter på ett säkert sätt till fältgatewayen via ett lokalt nätverk och gatewayen möjliggör säker kommunikation till molnet.

Fysiskt manipuleringsskydd

Vi rekommenderar starkt att enhetens design har funktioner som skyddar mot försök till fysisk manipulering, för att säkerställa säkerhet, integritet och tillförlitlighet för hela systemet.

Ett exempel:

  • Välj mikrostyrenheter/mikroprocessorer eller extra maskinvara som ger säker lagring och användning av kryptografiskt nyckelmaterial, till exempel TPM-integrering (Trusted Platform Module).
  • Säker startinläsare och säker programvaruinläsning fäst i TPM.
  • Använd sensorer för att identifiera intrångsförsök och försök att manipulera enhetsmiljön med aviseringar och potentiell "digital självdestruktion" av enheten.

Ytterligare säkerhetsöverväganden finns i Säkerhetsarkitektur för Sakernas Internet (IoT).

Tillförlitlighet och prestanda

Ett viktigt övervägande för motståndskraftiga IoT-lösningar är affärskontinui och haveriberedskap. Genom att designa för hög tillgänglighet (HA) och haveriberedskap (DR) kan du definiera och uppnå nödvändiga drifttidsmål för din lösning.

Olika Azure-tjänster erbjuder olika alternativ för redundans och redundans för att hjälpa dig att uppnå de drifttidsmål som bäst passar dina affärsmål. Att införliva något av dessa HA/DR-alternativ i din IoT-lösning kräver en noggrann utvärdering av avvägningarna mellan:

  • Återhämtningsnivå som du behöver
  • Implementerings- och underhållskomplexitet
  • Påverkan på kostnader för sålda varor (KSV)

Den tekniska vägledningen för affärskontinuii Azure beskriver ett allmänt ramverk som hjälper dig   att tänka på affärskontinuui och haveriberedskap. Dokumentet Haveriberedskap ochhög tillgänglighet för Azure-program ger arkitekturdesignvägledning för strategier för Azure-program för att uppnå hög tillgänglighet   (HA) och haveriberedskap (DR).

Du hittar även tjänstspecifik prestandainformation i dokumentationen för varje Azure IoT-tjänst.

Kostnadsöverväganden

I allmänhet använder du Priskalkylatorn för Azure för att beräkna kostnader. Andra överväganden beskrivs i avsnittet Kostnad i Microsoft Azure Well-Architected Framework.

Nästa steg

Mer information om enskilda delar av en lösningsarkitektur finns i följande avsnitt: