Azure IoT-referensarkitektur

Functions
IoT Hub
IoT-enhetetableringstjänst
Stream Analytics
Digital Twins

Du kan skapa anpassade IoT-lösningar genom att montera Azure PaaS-komponenter (plattform som en tjänst) som beskrivs i den här artikeln. Artikeln och det här diagrammet beskriver Azure-komponenter och -tjänster som IoT-lösningar ofta använder, men ingen enskild lösning använder alla dessa komponenter.

Arkitektur

Diagram som visar arkitektur för IoT-program som använder Azure PaaS-komponenter.

Ladda ned en Visio-fil med den här arkitekturen.

Arbetsflöde

Azure IoT-lösningar omfattar:

  • Saker, vanligtvis enheter som genererar data.
  • Insikter som du skapar om data.
  • Åtgärder som du vidtar baserat på insikter.

En motor skickar till exempel temperaturdata. Du använder dessa data för att utvärdera om motorn fungerar som förväntat. Du använder insikten om motorns prestanda för att prioritera underhållsschemat.

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 även 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 dig att mata in data. Azure IoT Hub är en molngatewaytjänst som på ett säkert sätt kan ansluta och hantera enheter. Azure IoT Hub Device Provisioning Service (DPS) möjliggör zero-touch, 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 är anslutna till molnet kan du bearbeta och utforska deras data för att få anpassade insikter om deras miljö. På hög nivå finns det tre sätt att bearbeta data: frekvent sökväg, varm sökväg och kall sökväg. Sökvägarna skiljer sig åt i sina krav för svarstid och dataåtkomst.

  • Den heta sökvägen analyserar data nästan i realtid när den tas emot. Telemetri för frekvent sökväg måste bearbetas med mycket låg svarstid. Den frekventa sökvägen använder vanligtvis en strömbearbetningsmotor. Överväg att använda tjänster som Azure Stream Analytics eller Azure HDInsight. Utdata kan utlösa en avisering eller skrivas till ett strukturerat format som kan efterfrågas med hjälp av 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 för att lagra och analysera stora mängder data.
  • Den kalla sökvägen utför batchbearbetning med längre intervall, till exempel varje timme eller varje dag. Den kalla sökvägen körs vanligtvis över stora mängder data, som kan lagras i Azure Data Lake Storage. Resultaten behöver inte vara lika lägliga som i de varma eller varma sökvägarna. Överväg att använda Azure Machine Learning eller Azure Databricks för att analysera kalla data.

Åtgärder

Du kan använda de insikter du samlar in om dina data för att hantera och kontrollera din miljö. Affärsintegreringsåtgärder kan omfatta:

  • Lagra informationsmeddelanden.
  • Larma.
  • Skicka e-post eller SMS.
  • Integrera med affärsprogram som hantering av kundrelationer (CRM) och företagsresursplanering (ERP).

Du kan använda följande tjänster för hantering och affärsintegrering:

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

Azure tillhandahåller också flera tjänster som hjälper dig att övervaka hela IoT-lösningen och skydda den. Diagnostiktjänster omfattar Azure Monitor. Säkerhetstjänster som Azure Active Directory (Azure AD) och Microsoft Defender för IoT hjälper dig att kontrollera, visa och hantera säkerhetsinställningar samt hotidentifiering och svar.

Komponenter

Överväganden

Dessa överväganden implementerar grundpelarna i Azure Well-Architected Framework, som är en uppsättning vägledande grundsatser som kan användas för att förbättra kvaliteten på en arbetsbelastning. Mer information finns i Microsoft Azure Well-Architected Framework.

Hanterbarhet

Du kan använda Azure Digital Twins för att styra 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. Företag och organisationer använder digitala tvillingar för att möjliggöra insikter och åtgärder. Utvecklare och arkitekter använder digitala tvillinglösningar för att implementera intelligenta och anslutna miljöer som:

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

Tillförlitlighet

Tillförlitlighet säkerställer att ditt program kan uppfylla de åtaganden du gör för dina kunder. Mer information finns i Översikt över grundpelare för tillförlitlighet."

Ett viktigt område för motståndskraftiga IoT-lösningar är affärskontinuitet och haveriberedskap. Design för hög tillgänglighet (HA) och haveriberedskap (DR) kan hjälpa dig att 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. För att införliva något av dessa alternativ för hög tillgänglighet/dr i din IoT-lösning krävs en noggrann utvärdering av kompromisserna mellan:

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

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

Säkerhet

Säkerhet ger garantier mot avsiktliga attacker och missbruk av värdefulla data och system. Mer information finns i Översikt över säkerhetspelare. Det här avsnittet innehåller överväganden för att skapa säkra lösningar.

Säkerhetsmodell utan förtroende

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.

Grundläggande säkerhetsimplementering omfattar att uttryckligen verifiera användare, ha insyn i sina enheter och att kunna fatta beslut om dynamisk åtkomst med hjälp av realtidsriskidentifiering. När du har använt grunderna kan du flytta fokus till följande noll förtroendekrav för IoT-lösningar:

  • Använd stark identitet för att autentisera enheter.
  • Använd minst privilegierad åtkomst för att minimera explosionsradien.
  • Övervaka enhetens hälsotillstånd för gateå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.

Tillförlitlig och säker kommunikation

All information som tas emot från och skickas till en enhet måste vara tillförlitlig. Om inte en enhet har stöd för följande kryptografiska funktioner bör den begränsas till lokala nätverk och all kommunikation mellan nätverk 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 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 X.509-certifikathantering är valfritt. Du kan ersätta X.509-certifikathantering med det mer beräkningseffektiva och trådeffektiva fördelade nyckelläget för TLS, som du kan implementera 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 nyckelarkiv). 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 du använda en fältgateway. 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

Rekommenderad enhetsdesign innehåller funktioner som skyddar mot fysiska manipuleringsförsök för att säkerställa säkerheten, integriteten och pålitligheten i det övergripande 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).
  • Fäst säker startinläsare och säker programinläsning 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älvförstörelse" av enheten.

Kostnadsoptimering

Kostnadsoptimering handlar om att titta på sätt att minska onödiga utgifter och förbättra driftseffektiviteten. Mer information finns i Översikt över grundpelare för kostnadsoptimering.

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.

Prestandaeffektivitet

Prestandaeffektivitet handlar om att effektivt skala arbetsbelastningen baserat på användarnas behov. Mer information finns i Översikt över pelare för prestandaeffektivitet.

Skapa din lösning för att distribuera i global skala. För optimal skalbarhet skapar du ditt IoT-program med diskreta tjänster som kan skalas oberoende av varandra. I det här avsnittet beskrivs skalbarhetsöverväganden för flera Azure-tjänster.

IoT Hub

Varje IoT-hubb etableras med ett visst antal enheter på 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 kvoter och begränsning. Du kan skala upp en hubb utan att avbryta befintliga åtgärder.

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.
  • Dataflöde för inmatning: Hur snabbt IoT Hub kan mata in meddelanden.
  • Bearbetning av dataflöde: Hur snabbt inkommande meddelanden bearbetas.

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.

Azure Functions

När Azure Functions läser från en Azure Event Hubs slutpunkt finns det ett maximalt antal funktionsinstanser 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.

Stream Analytics

Stream Analytics-jobb skalas bäst om de är parallella på 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.

Deltagare

Den här artikeln underhålls av Microsoft. Den skrevs ursprungligen av följande deltagare.

Huvudförfattare:

Annan deltagare:

Om du vill se icke-offentliga LinkedIn-profiler loggar du in på LinkedIn.

Nästa steg