Översikt över acceleratorn för fjärrövervakningslösning

Acceleratorn Fjärrövervakningslösning implementerar en övervakningslösning från slutpunkt till slutpunkt för flera datorer på fjärrplatser. I lösningen kombineras viktiga Azure-tjänster till en allmän implementering av affärsscenariot. Du kan använda lösningen som startpunkt för en egen implementering och anpassa den efter dina egna affärsbehov.

Den här artikeln vägleder dig genom några av de viktigaste elementen i fjärrövervakningslösningen så att du kan förstå hur den fungerar. Med den här kunskapen kan du sedan:

  • Felsöka problem i lösningen.
  • Planera hur lösningen kan anpassas för att uppfylla dina behov.
  • Utforma en egen IoT-lösning som använder Azure-tjänster.

Acceleratorkoden för fjärrövervakningslösningen är tillgänglig på GitHub:

Logisk arkitektur

I följande diagram beskrivs de logiska komponenterna i acceleratorn Fjärrövervakningslösning överlagrad i IoT-arkitekturen:

Logisk arkitektur

Varför mikrotjänster?

Molnarkitekturen har utvecklats sedan Microsoft släppte de första lösningsacceleratorerna. Mikrotjänster har vuxit fram som en beprövad metod för att uppnå skala och flexibilitet utan att offra utvecklingshastigheten. Flera Microsoft-tjänster använder det här arkitekturmönstret internt med bra tillförlitlighet och skalbarhetsresultat. De uppdaterade lösningsacceleratorerna omsätter dessa lärdomar i praktiken så att du också kan dra nytta av dem.

Tips

Läs mer om arkitekturer för mikrotjänster i .NET Application Architecture (.NET-programarkitektur) och Microservices: An application revolution powered by the cloud (Mikrotjänster: En programrevolution som drivs av molnet).

Enhetsanslutning

Lösningen innehåller följande komponenter i enhetsanslutningsdelen av den logiska arkitekturen:

Verkliga enheter

Du kan ansluta verkliga enheter till lösningen. Du kan implementera beteendet för dina simulerade enheter med hjälp av Azure IoT-enhets-SDK:er.

Du kan etablera verkliga enheter från instrumentpanelen i lösningsportalen.

Mikrotjänst för enhetssimulering

Lösningen innehåller mikrotjänsten för enhetssimulering som gör att du kan hantera en pool med simulerade enheter från lösningsportalen för att testa flödet från slutpunkt till slutpunkt i lösningen. De simulerade enheterna:

  • Generera enhet-till-moln-telemetri.
  • Svara på metodanrop från moln till enhet från IoT Hub.

Mikrotjänsten tillhandahåller en RESTful-slutpunkt där du kan skapa, starta och stoppa simuleringar. Varje simulering består av en uppsättning virtuella enheter av olika typer som skickar telemetri och svarar på metodanrop.

Du kan etablera simulerade enheter från instrumentpanelen i lösningsportalen.

IoT Hub

IoT-hubben matar in telemetri som skickas från både de verkliga och simulerade enheterna till molnet. IoT-hubben gör telemetrin tillgänglig för tjänsterna i IoT-lösningens serverdel för bearbetning.

IoT Hub ansvarar även för följande uppgifter i lösningen:

  • Underhåller ett identitetsregister som lagrar ID:t och autentiseringsnycklarna för alla enheter som tillåts ansluta till portalen.
  • Anropar metoder på dina enheter för lösningsacceleratorns räkning.
  • Att underhålla enhetstvillingar för alla registrerade enheter. De egenskapsvärden som rapporteras av en enhet lagras i enhetstvillingen. De önskade egenskaper som anges i lösningsportalen och som enheten ska hämta vid nästa anslutning lagras också där.
  • Att schemalägga jobb där egenskaper ska anges för flera enheter eller där metoder ska anropas på flera enheter.

Databearbetning och analys

Lösningen innehåller följande komponenter i databearbetnings- och analysdelen av den logiska arkitekturen:

mikrotjänst för IoT Hub chef

Lösningen innehåller mikrotjänsten IoT Hub manager för att hantera interaktioner med din IoT-hubb, till exempel:

  • Skapa och hantera IoT-enheter.
  • Hantera enhetstvillingar.
  • Anropa metoder på enheter.
  • Hantera IoT-autentiseringsuppgifter.

Den här tjänsten kör också IoT Hub frågor för att hämta enheter som tillhör användardefinierade grupper.

Mikrotjänsten tillhandahåller en RESTful-slutpunkt för att hantera enheter och enhetstvillingar, anropa metoder och köra IoT Hub frågor.

Mikrotjänst för enhetstelemetri

Mikrotjänsten för enhetstelemetri tillhandahåller en RESTful-slutpunkt för läsåtkomst till enhetstelemetri som lagras i Time Series Insights. RESTful-slutpunkten möjliggör även CRUD-åtgärder för regler och läs-/skrivåtkomst för larmdefinitioner från lagring.

Mikrotjänst för lagringskort

Mikrotjänsten för lagringskort hanterar nyckel/värde-par, abstraherar lagringstjänstsemantiken och presenterar ett enkelt gränssnitt för att lagra data i valfritt format med hjälp av Azure Cosmos DB.

Värden ordnas i samlingar. Du kan arbeta med enskilda värden eller hämta hela samlingar. Komplexa datastrukturer serialiseras av klienterna och hanteras som enkel textnyttolast.

Tjänsten tillhandahåller en RESTful-slutpunkt för CRUD-åtgärder på nyckel/värde-par. values

Azure Cosmos DB

Distributioner av lösningsacceleratorer använder Azure Cosmos DB för att lagra regler, aviseringar, konfigurationsinställningar och all annan kall lagring.

Azure Stream Analytics Manager-mikrotjänst

Azure Stream Analytics Manager-mikrotjänsten hanterar Azure Stream Analytics-jobb (ASA), inklusive att ange deras konfiguration, starta och stoppa dem och övervaka deras status.

ASA-jobbet stöds av två referensdatauppsättningar. En datauppsättning definierar regler och en definierar enhetsgrupper. Regelreferensdata genereras från den information som hanteras av enhetens telemetrimikrotjänst. Azure Stream Analytics Manager-mikrotjänsten omvandlar telemetriregler till dataströmbearbetningslogik.

Referensdata för enhetsgrupper används för att identifiera vilken grupp av regler som ska tillämpas på ett inkommande telemetrimeddelande. Enhetsgrupperna hanteras av konfigurationsmikrotjänsten och använder Azure IoT Hub frågor för enhetstvillingar.

ASA-jobben levererar telemetrin från de anslutna enheterna till Time Series Insights för lagring och analys.

Azure Stream Analytics

Azure Stream Analytics är en motor för händelsebearbetning som gör att du kan undersöka stora mängder data som strömmas från enheter.

Azure Time Series Insights

Azure Time Series Insights lagrar telemetrin från de enheter som är anslutna till lösningsacceleratorn. Det möjliggör även visualisering och frågekörning mot enhetstelemetri i lösningens webbgränssnitt.

Konfigurationsmikrotjänst

Mikrotjänsten configuration tillhandahåller en RESTful-slutpunkt för CRUD-åtgärder på enhetsgrupper, lösningsinställningar och användarinställningar i lösningsacceleratorn. Det fungerar med lagringskortets mikrotjänst för att bevara konfigurationsdata.

Mikrotjänst för autentisering och auktorisering

Mikrotjänsten för autentisering och auktorisering hanterar de användare som har behörighet att komma åt lösningsacceleratorn. Användarhantering kan utföras med valfri identitetstjänstleverantör som stöder OpenId Connect.

Azure Active Directory

Distributioner av lösningsacceleratorer använder Azure Active Directory som OpenID Connect-provider. Azure Active Directory lagrar användarinformation och tillhandahåller certifikat för att verifiera JWT-tokensignaturer.

Presentation

Lösningen innehåller följande komponenter i presentationsdelen av den logiska arkitekturen:

Webbanvändargränssnittet är ett React Javascript-program. Programmet:

  • Använder endast Javascript React och körs helt i webbläsaren.
  • Är formaterad med CSS.
  • Interagerar med offentliga mikrotjänster via AJAX-anrop.

Användargränssnittet visar alla funktioner för lösningsacceleratorn och interagerar med andra mikrotjänster, till exempel:

  • Mikrotjänsten för autentisering och auktorisering för att skydda användardata.
  • Mikrotjänsten IoT Hub manager för att lista och hantera IoT-enheter.

Användargränssnittet integrerar Azure Time Series Insights explorer för att aktivera frågor och analys av enhetens telemetri.

Med konfigurationsmikrotjänsten kan användargränssnittet lagra och hämta konfigurationsinställningar.

Nästa steg

Om du vill utforska källkoden och utvecklardokumentationen börjar du med någon av de två GitHub-lagringsplatserna:

Detaljerade lösningsarkitekturdiagram:

Mer konceptuell information om acceleratorn fjärrövervakningslösning finns i Anpassa lösningsacceleratorn.