Overzicht van de verbetering voor de externe bewakingsoplossing

De accelerator voor de externe bewakingsoplossing implementeert een end-to-end bewakingsoplossing voor meerdere machines op externe locaties. De oplossing combineert belangrijke Azure-services voor een algemene implementatie van het bedrijfsscenario. U kunt de oplossing gebruiken als uitgangspunt voor uw eigen implementatie en u kunt deze aanpassen aan uw eigen specifieke zakelijke vereisten.

In dit artikel worden enkele van de belangrijkste elementen van de externe bewakingsoplossing beschreven, zodat u begrijpt hoe het werkt. Deze kennis helpt u bij:

  • Het oplossen van problemen met de oplossing.
  • Het plannen van een aanpassing van de oplossing zodat deze voldoet aan uw eigen specifieke vereisten.
  • Het ontwerpen van uw eigen IoT-oplossing die gebruikmaakt van Azure-services.

De code voor de oplossingsversneller voor externe bewaking is beschikbaar op GitHub:

Logische architectuur

In het volgende diagram ziet u een overzicht van de logische onderdelen van de accelerator voor de externe bewakingsoplossing die in de IoT-architectuur wordt weergegeven:

Logische architectuur

Waarom microservices?

Cloudarchitectuur is ontwikkeld sinds Microsoft de eerste oplossingsversnellers heeft uitgebracht. Microservices zijn gebleken als een bewezen praktijk om schaal en flexibiliteit te bereiken zonder de ontwikkelingssnelheid op te offeren. Verschillende Microsoft-services gebruiken dit architectuurpatroon intern met geweldige betrouwbaarheids- en schaalbaarheidsresultaten. De bijgewerkte oplossingsversnellers brengen deze lessen in de praktijk, zodat u er ook van kunt profiteren.

Tip

Zie .NET Application Architecture (.NET-toepassingsarchitectuur) en Microservices: An application revolution powered by the cloud (Microservices: een toepassingsrevolutie aangedreven door de cloud) voor meer informatie over microservicearchitectuur.

Connectiviteit van apparaten

De oplossing bevat de volgende onderdelen in het onderdeel apparaatconnectiviteit van de logische architectuur:

Echte apparaten

U kunt echte apparaten verbinden met de oplossing. U kunt het gedrag van uw gesimuleerde apparaten implementeren met behulp van de Azure IoT-apparaat-SDK's.

U kunt echte apparaten inrichten vanuit het dashboard in de oplossingsportal.

Microservice voor apparaatsimulatie

De oplossing bevat de microservice voor apparaatsimulatie waarmee u een groep gesimuleerde apparaten vanuit de oplossingsportal kunt beheren om de end-to-endstroom in de oplossing te testen. De gesimuleerde apparaten:

  • Genereer apparaat-naar-cloud-telemetrie.
  • Reageren op cloud-naar-apparaat-methode-aanroepen vanuit IoT Hub.

De microservice biedt een RESTful-eindpunt voor het maken, starten en stoppen van simulaties. Elke simulatie bestaat uit een set virtuele apparaten van verschillende typen, die telemetrie verzenden en reageren op methode-aanroepen.

U kunt gesimuleerde apparaten inrichten vanuit het dashboard in de oplossingsportal.

IoT Hub

De IoT-hub neemt telemetrie op die wordt verzonden van zowel de echte als gesimuleerde apparaten in de cloud. De IoT-hub maakt de telemetrie beschikbaar voor de services in de back-end van de IoT-oplossing voor verwerking.

De IoT Hub in de oplossing doet ook het volgende:

  • Onderhoudt een identiteitsregister waarin de id's en verificatiesleutels worden opgeslagen van alle apparaten die verbinding mogen maken met de portal.
  • Roept methoden op uw apparaten aan namens de oplossingsversneller.
  • Onderhoudt apparaatdubbels voor alle geregistreerde apparaten. Een apparaatdubbel slaat de eigenschapswaarden op die door een apparaat worden gerapporteerd. Een apparaatdubbel slaat ook gewenste eigenschappen op die in de oplossingsportal zijn ingesteld, zodat het apparaat deze kan ophalen wanneer opnieuw verbinding wordt maakt.
  • Plant taken voor het instellen van eigenschappen voor meerdere apparaten of voor het aanroepen van methoden op meerdere apparaten.

Gegevensverwerking en -analyse

De oplossing bevat de volgende onderdelen in het gegevensverwerkings- en analysegedeelte van de logische architectuur:

IoT Hub manager microservice

De oplossing bevat de microservice van IoT Hub manager voor het afhandelen van interacties met uw IoT-hub, zoals:

  • IoT-apparaten maken en beheren.
  • Apparaatdubbels beheren.
  • Methoden aanroepen op apparaten.
  • IoT-referenties beheren.

Deze service voert ook IoT Hub query's uit om apparaten op te halen die behoren tot door de gebruiker gedefinieerde groepen.

De microservice biedt een RESTful-eindpunt voor het beheren van apparaten en apparaatdubbels, het aanroepen van methoden en het uitvoeren van IoT Hub query's.

Microservice apparaattelemetrie

De microservice voor apparaattelemetrie biedt een RESTful-eindpunt voor leestoegang tot apparaattelemetrie die is opgeslagen in Time Series Insights. Het RESTful-eindpunt maakt ook CRUD-bewerkingen mogelijk voor regels en lees-/schrijftoegang voor alarmdefinities vanuit de opslag.

Microservice van opslagadapter

De microservice van de opslagadapter beheert sleutel-waardeparen, abstractie van de semantiek van de opslagservice en presenteert een eenvoudige interface voor het opslaan van gegevens van elke indeling met behulp van Azure Cosmos DB.

Waarden worden ingedeeld in verzamelingen. U kunt aan afzonderlijke waarden werken of volledige verzamelingen ophalen. Complexe gegevensstructuren worden geserialiseerd door de clients en worden beheerd als eenvoudige tekstpayload.

De service biedt een RESTful-eindpunt voor CRUD-bewerkingen op sleutel-waardeparen. values

Azure Cosmos DB

Implementaties van oplossingsversnellers gebruiken Azure Cosmos DB om regels, waarschuwingen, configuratie-instellingen en alle andere koude opslag op te slaan.

Microservice voor Azure Stream Analytics-manager

De microservice van Azure Stream Analytics-manager beheert Azure Stream Analytics-taken (ASA), waaronder het instellen van hun configuratie, het starten en stoppen ervan, en het bewaken van hun status.

De ASA-taak wordt ondersteund door twee referentiegegevenssets. Eén gegevensset definieert regels en één definieert apparaatgroepen. De regels verwijzen naar gegevens die worden gegenereerd op basis van de informatie die wordt beheerd door de telemetriemicroservice van het apparaat. De microservice van Azure Stream Analytics-manager transformeert telemetrieregels in stroomverwerkingslogica.

De referentiegegevens van de apparaatgroepen worden gebruikt om te bepalen welke groep regels moet worden toegepast op een binnenkomend telemetriebericht. De apparaatgroepen worden beheerd door de configuratiemicroservice en gebruiken Azure IoT Hub query's voor apparaatdubbels.

De ASA-taken leveren de telemetrie van de verbonden apparaten naar Time Series Insights voor opslag en analyse.

Azure Stream Analytics

Azure Stream Analytics is een engine voor gebeurtenisverwerking waarmee u grote hoeveelheden gegevensstreaming vanaf apparaten kunt onderzoeken.

Azure Time Series Insights

Azure Time Series Insights slaat de telemetrie op van de apparaten die zijn verbonden met de oplossingsversneller. Het maakt ook het visualiseren en opvragen van apparaattelemetrie mogelijk in de webgebruikersinterface van de oplossing.

Microservice voor configuratie

De microservice voor configuratie biedt een RESTful-eindpunt voor CRUD-bewerkingen op apparaatgroepen, oplossingsinstellingen en gebruikersinstellingen in de oplossingsversneller. Het werkt met de microservice van de opslagadapter om de configuratiegegevens te behouden.

Microservice voor verificatie en autorisatie

De verificatie- en autorisatiemicroservice beheert de gebruikers die gemachtigd zijn om toegang te krijgen tot de oplossingsversneller. Gebruikersbeheer kan worden uitgevoerd met behulp van elke id-serviceprovider die OpenId Connect ondersteunt.

Azure Active Directory

Implementaties van oplossingsversnellers gebruiken Azure Active Directory als een OpenID Connect-provider. Azure Active Directory slaat gebruikersgegevens op en biedt certificaten voor het valideren van JWT-tokenhandtekeningen.

Stijl

De oplossing bevat de volgende onderdelen in het presentatiegedeelte van de logische architectuur:

De webgebruikersinterface is een React Javascript-toepassing. De toepassing:

  • Maakt alleen gebruik van Javascript React en wordt volledig uitgevoerd in de browser.
  • Is gestijld met CSS.
  • Communiceert met openbare microservices via AJAX-aanroepen.

De gebruikersinterface biedt alle functionaliteit van de oplossingsversneller en communiceert met andere microservices, zoals:

  • De microservice voor verificatie en autorisatie om gebruikersgegevens te beveiligen.
  • De microservice van IoT Hub manager om de IoT-apparaten weer te geven en te beheren.

De gebruikersinterface integreert de Azure Time Series Insights Explorer om het uitvoeren van query's en analyses van telemetriegegevens van apparaten mogelijk te maken.

Met de microservice voor configuratie kan de gebruikersinterface configuratie-instellingen opslaan en ophalen.

Volgende stappen

Als u de broncode en documentatie voor ontwikkelaars wilt verkennen, begint u met een van de twee GitHub-opslagplaatsen:

Gedetailleerde diagrammen voor oplossingsarchitectuur:

Zie De oplossingsversneller aanpassen voor meer conceptuele informatie over de accelerator voor de externe bewakingsoplossing.