Du kan skapa anpassade IoT-lösningar genom att montera PaaS-komponenter (Plattform som en tjänst) i Azure 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
Ladda ned en Visio-fil med den här arkitekturen.
Arbetsflöde
Följande arbetsflöde motsvarar föregående diagram:
- 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 Sphere till utvecklarkort som MXCHIP 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 kan ansluta och hantera enheter på ett säkert sätt. Azure IoT Hub Device Provisioning Service möjliggör nolltouch- och just-in-time-etablering som hjälper dig 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 låg svarstid. Den heta 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 Mašinsko učenje 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ö. Åtgärder för affärsintegrering kan omfatta:
- Lagra informationsmeddelanden
- Larma
- Skicka e-post eller SMS
- Integrera med affärsprogram som kundrelationshantering (CRM) och erp-programvarulösningar (Enterprise Resource Planning)
Du kan använda följande tjänster för hantering och affärsintegrering:
- Power BI ansluter till, modellerar och visualiserar dina data. Du kan använda Power BI för att 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 AI Search ger säker informationshämtning i stor skala över användarägt innehåll i traditionella och generativa AI-sökprogram. AI Search har 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 macOS.
- Dynamics 365 kombinerar CRM- och ERP-programvarulösningar i molnet.
- Microsoft Power Automate är ett Saas-erbjudande (programvara som en tjänst) för att automatisera 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 Microsoft Entra ID och Microsoft Defender for IoT hjälper dig att kontrollera, visa och hantera säkerhetsinställningar samt hotidentifiering och svar.
Komponenter
- API Management
- Azure AI Search
- Azure App Service
- Azure-datautforskaren
- Azure Data Lake
- Azure Databricks
- Azure Digital Twins
- Azure Event Hubs
- Azure Functions
- Azure HDInsight
- Azure IoT Edge
- Azure IoT Hub Device Provisioning-tjänst
- Azure IoT Hub
- Azure Logic App-appar
- Azure Machine Learning
- Azure Maps
- Azure Mobile Apps
- Azure Monitor
- Azure Sphere
- Azure Stream Analytics
- Dynamics 365
- Microsoft Defender för IoT
- Microsoft Entra ID
- Microsoft Power Automate
- Power BI
Att tänka på
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 aktivera 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 tillverkning.
- 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 gentemot dina kunder. Mer information finns i Checklista för designgranskning för tillförlitlighet.
Ett viktigt område att tänka på 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å de nödvändiga drifttidsmålen 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 och tillgänglighet i din IoT-lösning krävs en noggrann utvärdering av kompromisserna mellan:
- Återhämtningsnivå som du behöver.
- Implementerings- och underhållskomplexitet.
- Kostnaden för 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 dina värdefulla data och system. Mer information finns i Checklista för designgranskning för säkerhet.
Säkerhetsmodell med noll 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 riskidentifiering i realtid. När du har använt grunderna kan du flytta fokus till följande krav på 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 explosionsradien.
- Övervaka enhetens hälsa för att få åtkomst till 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.
Till exempel:
- Välj mikrostyrenheter/mikroprocessorer eller extra maskinvara som tillhandahåller säker lagring och användning av kryptografinyckelmaterial, till exempel TPM-integration (Trusted Platform Module).
- Fäst säker startinläsare och säker programvaruinlä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 drifteffektiviteten. Mer information finns i Checklista för designgranskning för kostnadsoptimering.
Normalt beräknar du kostnader med hjälp av Azures priskalkylator. 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 Checklista för designgranskning 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 separat. 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. Det har ursprungligen skrivits av följande medarbetare.
Huvudförfattare:
- Matthew Cosner | Principal Software Engineering Manager
Annan deltagare:
- Armando Blanco Garcia | Senior Program Manager
Om du vill se icke-offentliga LinkedIn-profiler loggar du in på LinkedIn.
Nästa steg
- Microsoft Azure IoT-referensarkitektur
- IoT-säkerhetsarkitektur (Internet of Things)
- Nulta pouzdanost Cybersäkerhet för Sakernas Internet
- Teknisk vägledning för Azure Business Continuity
- Haveriberedskap och hög tillgänglighet för Azure-program