Azure IoT-referentiearchitectuur

Blob Storage
Functions
IoT Hub
IoT Device Provisioning Service
Logic Apps
Stream Analytics

In dit artikel wordt een aanbevolen architectuur besproken voor IoT-toepassingen die gebruikmaken van Azure PaaS-onderdelen (platform-as-a-service). In het volgende diagram worden verschillende Azure-onderdelen weergegeven die kunnen worden gebruikt om een IoT-oplossing te ontwerpen. In het diagram worden de meeste veelgebruikte services weergegeven en worden deze in het artikel beschreven, maar voor geen enkele oplossing zijn ze allemaal vereist. Als u net begint met Azure IoT of op zoek bent naar uw eerste proof-of-concept-oplossing, begint u hier:

Diagram van de architectuur

Deze referentiearchitectuur maakt gebruik van Azure PaaS-componenten (Platform-as-a-Service). Microsoft raadt aan om aan de slag te Azure IoT Central,een IoT-oplossingsplatform (application platform-as-a-service) van aPaaS. Het is ontworpen om de assembly en bewerkingen van de IoT-oplossing te vereenvoudigen en te versnellen door veel van dezelfde PaaS-services die in deze referentiearchitectuur worden beschreven vooraf teassembleren, schalen en beheren. Het resultaat is een kant-en-klaar en gebruiksklaar UX- en API-surface area, compleet met de mogelijkheden die nodig zijn om apparaten op schaal te verbinden, beheren en gebruiken. Meer informatie over het vergelijken van IoT Central (aPaaS) met een PaaS-oplossingsbenadering op basis van uw oplossingsbehoeften.

Azure IoT-oplossingen hebben betrekking op zaken (meestal apparaten ) die gegevens genereren, inzichten die u over de gegevens formuliert en acties die u ondernomen op basis van de inzichten. Denk aan een motor die temperatuurgegevens verzendt. Deze gegevens worden gebruikt om te evalueren of de motor presteert zoals verwacht. Het inzicht in de prestaties wordt gebruikt om prioriteit te geven aan een onderhoudsschema voor de motor.

Apparaten

Azure IoT ondersteunt een groot aantal apparaten, van microcontrollers met Azure RTOS en Azure Sphere tot ontwikkelaarsborden zoals MX Chip en Raspberry Pi. Azure IoT ondersteunt ook slimme servergateways die aangepaste code kunnen uitvoeren. Apparaten kunnen lokale verwerking uitvoeren via een service zoals Azure IoT Edge of alleen rechtstreeks verbinding maken met Azure, zodat ze gegevens kunnen verzenden naar en ontvangen van de IoT-oplossing.

Wanneer apparaten zijn verbonden met de cloud, zijn er verschillende services die helpen bij het opnemen van gegevens. Azure IoT Hub is een cloudgatewayservice die apparaten veilig kan verbinden en beheren. IoT Hub Device Provisioning Service (DPS) is zero-touch, Just-In-Time-inrichting mogelijk, waarmee een groot aantal apparaten op een veilige en schaalbare manier kan worden geregistreerd. Azure Digital Twins maakt virtuele modellen van echte systemen mogelijk.

Inzichten

Zodra apparaten zijn verbonden in de cloud, kunnen hun gegevens worden verwerkt en verkend om aangepaste inzichten over hun omgeving te verkrijgen. Op hoog niveau zijn er drie manieren om gegevens — hot-pad, warm pad en niet-pad te verwerken. Het verschil tussen deze twee heeft te maken met vereisten voor latentie en gegevenstoegang.

  • Het hotpad analyseert gegevens bijna in realtime wanneer deze binnenkomen. In dit geval moet de telemetrie worden verwerkt met een zeer lage latentie. De dynamische aanpak wordt meestal geïmplementeerd met behulp van een engine voor de verwerking van gegevensstromen. Overweeg het gebruik van services zoals Azure Stream Analytics of HDInsight. De uitvoer kan een waarschuwing activeren of worden weggeschreven naar een gestructureerde indeling die kan worden bevraagd met analytische tools.
  • Het warme pad analyseert gegevens die langere vertragingen kunnen opvangen voor gedetailleerdere verwerking. Overweeg Azure Data Explorer Azure Time Series-Insights voor het opslaan en analyseren van grote hoeveelheden gegevens.
  • Bij de niet-dynamische aanpak worden batches verwerkt met langere intervallen (elk uur of dagelijks). Het koude pad werkt doorgaans voor grote hoeveelheden gegevens die kunnen worden opgeslagen in Azure Data Lake en de resultaten hoeven niet zo tijdig te zijn als de hete of warme paden. Overweeg het gebruik Azure Machine Learning of Azure Databricks om koude gegevens te analyseren.

Acties

U kunt de inzichten die zijn verzameld over uw gegevens gebruiken om uw omgeving te beheren en te beheren. Bedrijfsintegratieacties kunnen bestaan uit het opslaan van informatieberichten, het verzenden van alarmmeldingen, het verzenden van e-mailberichten of sms-berichten, of het integreren met zakelijke toepassingen zoals CRM en ERP. De volgende services zijn beschikbaar voor beheer en bedrijfsintegratie:

  • Power BI maakt verbinding met, modellen en visualiseert uw gegevens. Power BI kunt u samenwerken aan gegevens en kunstmatige intelligentie gebruiken om gegevensgestuurde beslissingen te nemen.
  • Met Azure Kaarten kunt u locatiebewuste web- en mobiele toepassingen maken met behulp van georuimtelijke services (zoeken, kaarten, routering, tracering en verkeer), API's en SDK's.
  • Azure Cognitive Search biedt een zoekservice voor uiteenlopende typen inhoud. Dit omvat indexering, AI-verrijking en querymogelijkheden.
  • Azure API Management biedt één plek voor het beheren van al uw API's.
  • Met Azure Web Apps kunt u webtoepassingen implementeren die met uw organisatie kunnen worden geschaald.
  • Mobile Apps kunt u platformoverschrijdende en systeemeigen apps bouwen voor iOs, Android, Windows of Mac.
  • Dynamics 365 combineert CRM (klantrelatiebeheer) en ERP (enterprise resource planning) in de cloud.
  • Microsoft Flow is een SaaS-aanbieding voor het automatiseren van werkstromen voor toepassingen en andere SaaS-services.
  • Azure Logic Apps is een PaaS-cloudaanbieding die wordt gebruikt voor het maken en automatiseren van werkstromen waarmee uw apps, gegevens, services en systemen worden geïntegreerd.

Azure biedt ook verschillende services om u te helpen uw hele IoT-oplossing te bewaken en veilig te houden. Diagnostische services omvatten Azure Monitor. Beveiligingsservices zoals Azure Active Directory en Azure Defender for IoT helpen u uw beveiligingsinstellingen, bedreigingsdetectie en -respons te beheren, te controleren, weer te geven en te beheren.

Digital Twins

Klanten verkennen Digital Twins als mechanisme voor het beheren en bewaken van verbonden omgevingen. Een digitale tweeling is een virtueel model van een echte omgeving die wordt aangestuurd met gegevens van bedrijfssystemen en IoT-apparaten. Het wordt gebruikt om inzichten en acties mogelijk te maken voor een bedrijf of organisatie. Ontwikkelaars en architecten zijn op zoek naar digitale tweelingen als de oplossing die intelligente en verbonden omgevingen mogelijk maakt, zoals de volgende:

  • Voorspellend onderhoud in productie
  • Zichtbaarheid van toeleveringsketen
  • Slimme schappen voor realtime voorraad
  • Verbonden huizen en slimme gebouwen

Implementatie op schaal

Bouw uw oplossing voor implementatie op wereldwijde schaal. Voor optimale schaalbaarheid kunt u uw IoT-toepassing bouwen als afzonderlijke services die onafhankelijk van elkaar kunnen worden geschaald. Deze sectie bevat overwegingen voor schaalbaarheid voor verschillende Azure-services.

Functies. Bij het lezen van gegevens van het eindpunt van Event Hubs, geldt er een maximum voor het aantal exemplaren van de functie per Event Hub-partitie. De maximale verwerkingssnelheid wordt bepaald door hoe snel een functie-exemplaar de gebeurtenissen uit een enkele partitie kan verwerken. De functie moet berichten in batches verwerken.

IoT Hub. Houd rekening met de volgende schaalfactoren voor IoT Hub:

  • Het maximale dagelijkse quotum van berichten naar IoT Hub.
  • Het quotum van verbonden apparaten in een IoT Hub-instantie.
  • Opname-doorvoer — hoe snel IoT Hub berichten kan opnemen.
  • Verwerkingsdoorvoer — hoe snel de binnenkomende berichten worden verwerkt.

Elke IoT-hub is ingericht met een bepaald aantal eenheden in een specifieke prijs- en schaalcategorie. De laag en het aantal eenheden bepalen het maximale dagelijkse quotum voor berichten dat apparaten naar de hub kunnen verzenden. Zie quota en IoT Hub beperken voor meer informatie. U kunt een hub opschalen zonder dat bestaande bewerkingen worden onderbroken.

Stream Analytics. Voor een optimale schaling van Stream Analytics-taken moeten deze op alle punten in de pijplijn van Stream Analytics parallel zijn, van invoer tot query en uitvoer. Bij een volledig parallelle taak kan het werk door Stream Analytics worden verdeeld over meerdere rekenknooppunten. Zie Query-parallellisatie gebruiken in Azure Stream Analytics voor meer informatie.

Berichten van apparaten worden op basis van de apparaat-id automatisch in partities verdeeld door IoT Hub. Alle berichten vanaf een bepaald apparaat worden altijd in dezelfde partitie bezorgd, maar één partitie kan berichten van meerdere apparaten bevatten. De eenheid van parallellisering is daarom de partitie-id.

Beveiliging

Deze sectie bevat overwegingen voor het bouwen van veilige oplossingen.

Zero Trust beveiligingsmodel

Zero Trust is een beveiligingsmodel dat ervan uit gaat dat er schendingen plaatsvinden en elke toegangspoging behandelt alsof deze afkomstig is van een open netwerk. Zero Trust ervan uit dat u de basisprincipes hebt geïmplementeerd, zoals identiteiten beveiligen en toegang beperken. Dit omvat het expliciet controleren van gebruikers, het hebben van inzicht in hun apparaten en het kunnen nemen van dynamische toegangsbeslissingen met behulp van realtime risicodetectie. Nadat aan de basisprincipes is voldaan, kunt u zich richten op de volgende vereisten Zero Trust IoT-oplossingen:

  • Gebruik een sterke identiteit om apparaten te verifiëren.
  • Gebruik de minst bevoegde toegang om de radius van de radius te beperken.
  • Controleer de apparaat health to gate access or flag devices for remediation.
  • Voer updates uit om apparaten in orde te houden.
  • Bewaken om opkomende bedreigingen te detecteren en hierop te reageren.

Lees het Zero Trust Cyberbeveiliging voor het technische Internet of Things voor meer informatie.

Betrouwbare en veilige communicatie

Alle gegevens die worden ontvangen en verzonden naar een apparaat, moeten betrouwbaar zijn. Tenzij een apparaat de volgende cryptografische mogelijkheden kan ondersteunen, moet de reikwijdte van het apparaat worden beperkt tot lokale netwerken en moet alle communicatie tussen netwerken via een veldgateway verlopen:

  • Gegevensversleuteling en digitale handtekeningen met een veilig, openbaar geanalyseerd en breed geïmplementeerd versleutelingsalgoritme met symmetrische sleutels.
  • Ondersteuning voor TLS 1.2 voor TCP of andere op stromen gebaseerde communicatiepaden of DTLS 1.2 voor op datagrammen gebaseerde communicatiepaden. Ondersteuning voor de verwerking van x.509-certificaten is optioneel en kan worden vervangen door de modus met vooraf gedeelde sleutels voor TLS. Deze modus kan worden geïmplementeerd met ondersteuning voor AES- en SHA-2-algoritmen en is niet alleen efficiënter op het gebied van rekenkracht, maar ook voor verzending van gegevens via een bekabelde verbinding.
  • Archief met sleutels die kunnen worden bijgewerkt en apparaatsleutels. Elk apparaat moet uniek sleutelmateriaal of tokens hebben die het aan het systeem identificeren. De apparaten moeten de sleutel veilig opslaan op het apparaat (bijvoorbeeld met behulp van een beveiligd sleutelarchief). Het apparaat moet de sleutels of tokens periodiek kunnen bijwerken of reactief in noodsituaties, zoals bij een schending van het systeem.
  • De firmware en toepassingssoftware op het apparaat moeten updates toestaan om het herstellen van vastgestelde beveiligingsproblemen mogelijk te maken.

Veel apparaten zijn te beperkt om deze vereisten te ondersteunen. In dat geval moet een veldgateway worden gebruikt. Apparaten maken via een lokaal netwerk veilig verbinding met de veldgateway en de gateway zorgt voor beveiligde communicatie met de cloud.

Bescherming tegen fysieke manipulatie

Het wordt sterk aangeraden om een apparaat te gebruiken dat beschikt over ingebouwde functies voor bescherming tegen pogingen tot fysieke manipulatie, om de integriteit van de beveiliging en de betrouwbaarheid van het systeem als geheel te garanderen.

Bijvoorbeeld:

  • Kies microcontrollers/microprocessors of aanvullende hardware die veilige opslag en gebruik van cryptografische sleutelmateriaal biedt, zoals TPM-integratie (Trusted Platform Module).
  • Beveiligd opstartlaadprogramma en beveiligd laden van software die is verankerd in de TPM.
  • Gebruik sensoren om pogingen tot binnendringing te detecteren en pogingen om de omgeving van het apparaat te manipuleren met waarschuwingen en mogelijke 'digitale zelfredding' van het apparaat.

Zie Internet of Things-beveiligingsarchitectuur (IoT) voor aanvullende beveiligingsoverwegingen.

Betrouwbaarheid en prestaties

Een belangrijk aandachtspunt voor flexibele IoT-oplossingen is bedrijfscontinuïteit en herstel na noodherstel. Ontwerpen voor hoge beschikbaarheid (HA) en herstel na noodherstel (DR) kunnen u helpen bij het definiëren en bereiken van de vereiste uptimedoelen voor uw oplossing.

Verschillende Azure-services bieden verschillende opties voor redundantie en failover om u te helpen de uptimedoelen te bereiken die het beste bij uw bedrijfsdoelstellingen passen. Het opnemen van een van deze alternatieven voor ha/dr in uw IoT-oplossing vereist een zorgvuldige evaluatie van de balans tussen de:

  • Tolerantieniveau dat u nodig hebt
  • Complexiteit van implementatie en onderhoud
  • Impact van kosten van verkochte goederen (COGS)

In het artikel Azure Business Continuity Technical Guidance (Technischerichtlijnen voor Azure Business Continuity) wordt een algemeen framework beschreven om u te helpen nadenken over bedrijfscontinuïteit en herstel na   noodherstel. Het document Herstel na noodherstelen hoge beschikbaarheid voor Azure-toepassingen bevat richtlijnen voor architectuurontwerp voor strategieën voor Azure-toepassingen om hoge beschikbaarheid (HA) en herstel na noodherstel   (DR) te bereiken.

U kunt ook servicespecifieke prestatiegegevens vinden in de documentatie voor elke Azure IoT-service.

Kostenoverwegingen

Over het algemeen gebruikt u de Azure-prijscalculator om de kosten te schatten. Andere overwegingen worden beschreven in de sectie Kosten in Microsoft Azure Well-Architected Framework.

Volgende stappen

Zie de volgende onderwerpen voor meer informatie over de afzonderlijke onderdelen van een oplossingsarchitectuur: