Zuverlässigkeit in Ihrer IoT-Workload
IoT-Workloads haben, wie alle Workloads, das Potenzial zu Fehlfunktionen. Die wichtigsten Zuverlässigkeitsüberlegungen für gut entworfene IoT-Lösungen sind, wie schnell Sie Änderungen erkennen können und wie schnell Sie Den Betrieb fortsetzen können.
IoT-Anwendungen sind häufig in großem Umfang verteilt und funktionieren möglicherweise über unzuverlässige Netzwerke ohne permanenten Zugriff oder Einblick in End-to-End-Datenflüsse. Aufgrund dieser Faktoren sollten Sie Ihre IoT-Architektur mit Blick auf Verfügbarkeit und Resilienz entwerfen.
Die Erstellung einer zuverlässigen IoT-Lösung erfordert eine sorgfältige Berücksichtigung von Geräten, Clouddiensten und deren Interaktion. Die Entscheidungen, die Sie für Gerätehardware, Konnektivität und Protokolle sowie Clouddienste treffen, wirken sich auf die Zuverlässigkeitsanforderungen und -funktionen Ihrer Lösung aus.
Bewerten der Zuverlässigkeit ihrer IoT-Workload
Um Ihre IoT-Workload mithilfe der Well-Architected Framework-Säule Zuverlässigkeit zu bewerten, füllen Sie die Zuverlässigkeitsfragen für IoT-Workloads in der Azure Well-Architected Review aus. Nachdem die Bewertung die wichtigsten Zuverlässigkeitsempfehlungen für Ihre IoT-Lösung ermittelt hat, verwenden Sie den folgenden Inhalt, um die Empfehlungen zu implementieren.
Entwurfsprinzipien
Fünf Säulen architektonischer Exzellenz untermauern die Entwurfsmethodik für IoT-Workloads. Diese Säulen dienen als Kompass für nachfolgende Entwurfsentscheidungen in den wichtigsten IoT-Designbereichen. Die folgenden Entwurfsprinzipien erweitern die Qualitätssäule des Azure Well-Architected Frameworks – Zuverlässigkeit.
Entwurfsprinzip | Überlegungen |
---|---|
Entwerfen von Geräten für Resilienz | Entwerfen Sie Ihre Geräte so, dass sie die Verfügbarkeits- und Verfügbarkeitsanforderungen Ihrer End-to-End-Lösung erfüllen. Stellen Sie sicher, dass Ihr IoT-Gerät effizient mit zeitweiliger Konnektivität mit der Cloud arbeiten kann. |
Entwurf mit Blick auf geschäftliche Anforderungen | Kostenauswirkungen sind bei der Einführung von Architekturänderungen zur Erfüllung von Vereinbarungen zum Servicelevel (Service Level Agreements, SLAs) unvermeidlich. Um beispielsweise mehr Zuverlässigkeit und Hochverfügbarkeit zu erzielen, können Sie regionsübergreifende Redundanzen und ein automatisiertes System für die automatische Skalierung implementieren. Dieser Kompromiss sollte sorgfältig bedacht werden. |
Sichere, einfache Aktualisierungsverfahren | Eine IoT-Unternehmenslösung sollte eine Strategie für die Verwaltung von Geräten durch Operatoren bieten. IoT-Operatoren erfordern einfache und zuverlässige Updatetools und -methoden. |
Beobachten der Anwendungsintegrität | Definieren Sie Service Level Indicators (SLIs) und Service Level Objectives (SLOs) basierend auf der Beobachtbarkeit. Fügen Sie Prozesse für Überwachung, Überwachung und Warnungen hinzu, die über cloudbasierte Dienste hinausgehen. |
Hochverfügbarkeit und Notfallwiederherstellung (HA/DR) für kritische Komponenten. | Robuste Hardware- und Softwarekomponenten, die redundanzen, einschließlich regionsübergreifender Redundanzen. |
Planen im Hinblick auf Kapazität | Planen Sie Dienstkontingente und Drosselungen, Wartezeiten zwischen der Erkennungsaktion und richten Sie Benchmarks im Produktionsmaßstab ein, um einen unterbrechungsfreien Datenfluss zu unterstützen. |
IoT-Architekturebenen
Zuverlässigkeitsentwurfsprinzipien helfen, Überlegungen zu klären, um sicherzustellen, dass Ihre IoT-Workload die Anforderungen auf den grundlegenden IoT-Architekturebenen erfüllt. Um die Gesamtzulässigkeit der Lösung zu erreichen, sollte jede Schicht über ein akzeptables Maß an Zuverlässigkeit verfügen.
Geräte- und Gatewayebene
Entwerfen Sie als Teil Ihrer IoT-Gesamtlösung Ihre Geräte so, dass sie die End-to-End-Verfügbarkeits- und Verfügbarkeitsanforderungen Ihrer Lösung erfüllen. Geräte und Gateways gibt es in vielen Formen. IoT-Geräte und -Gateways können Datensammlung, Aufsichtssteuerung und Edgeanalyse durchführen.
Die Datensammlung verbindet Geräte mit Sensoren oder abonniert sie mit Telemetriedaten aus nachgeschalteten Systemen und pusht gesammelte Daten in die Cloud. IoT-Lösungsentwurf sollte eine zuverlässige Geräteverwaltung und zuverlässige Kommunikation vom Gerät zur Cloud gewährleisten.
Geräte, die aufsichtsrechtliche Kontrolle bieten, sammeln nicht nur Daten, die an die Cloud gesendet werden, sondern ergreifen auch Aktionen, die auf diesen Daten basieren. Geräte senden Daten zurück an die Computer oder umgebung, um Aufsichtsmaßnahmen zu ergreifen. Die Zuverlässigkeit von Überwachungskontrollanwendungen ist von entscheidender Bedeutung.
Geräteentwurf
Entwerfen und Auswählen von IoT-Geräten, die unter den erwarteten Betriebsbedingungen über die erwartete Lebensdauer zuverlässig funktionieren. Ein zuverlässiges Gerät sollte gemäß seinen Hardware- und Softwarespezifikationen funktionieren, und jeder Fehler sollte durch Entschärfung, Reparatur oder Austausch erkannt und verwaltet werden. Entwerfen Sie Geräte für zuverlässigkeit, aber planen Sie auch Fehler.
Gerätelebenszyklus
Begrenzte Dienstlebensdauer wirkt sich auf die Zuverlässigkeit der Lösung aus. Bewerten Sie die Folgen eines Geräteausfalls für die Lösung, und definieren Sie eine Gerätelebenszyklusstrategie gemäß den Lösungsanforderungen.
Die Bewertung der Auswirkungen auf Gerätefehler umfasst Folgendes:
- Schweregrad, z. B. Einzelne Fehlerpunkte.
- Wahrscheinlichkeit, z. B. mittlere Zeit zwischen Fehlern.
- Erkennbarkeit, z. B. Fehlermodus- und Effektanalyse.
- Akzeptable Ausfallzeit.
Die akzeptable Betriebsunterbrechung bestimmt die Geschwindigkeit und den Umfang der Gerätewartung. Die Verfügbarkeit oder Langlebigkeit des Geräts und der Teilebereitstellung ist ein wichtiger Aspekt für den Gerätelebenszyklus.
Je modularer das Design ist, desto einfacher ist es, Teile des Systems auszutauschen, insbesondere wenn einige Teile früher veraltet sind als andere. Alternative oder Multisourcing von Komponenten- und Modullieferketten sind entscheidend für zuverlässige Lösungen.
Umgebungsanforderungen
Die Bedingungen, unter denen ein Gerät arbeitet, wirken sich auf seine Zuverlässigkeit aus. Definieren Sie Ihre Umgebungsanforderungen, und verwenden Sie Geräte mit entsprechenden Featurespezifikationen. Diese Spezifikationen umfassen Parameter wie Betriebstemperaturbereich, Luftfeuchtigkeit, Eingangsschutz (IP), Elektromagnetische Interferenz (EMI) Immunität sowie Stoß- und Schwingungsfestigkeit.
Betriebsprofil
Leistungsstress wirkt sich auf das Betriebsverhalten von Geräten und damit auf ihre Zuverlässigkeit aus. Definieren Sie Betriebsprofile, die das Verhalten über die Gerätelebensdauer schätzen, und bewerten Sie die Gerätesicherheit entsprechend. Zu solchen Profilen gehören Betriebsmodi wie drahtlose Übertragung oder Energiesparmodus sowie Umgebungsbedingungen wie Temperatur über die Gerätelebensdauer.
Unter normalen Betriebsbedingungen sollten Das Gerät und die Software innerhalb der angegebenen Betriebsprofile sicher ausgeführt werden. Geräte müssen in der Lage sein, alle externen Sensoren und Datenverarbeitungen zu verwalten und zu verarbeiten, die für die Lösung erforderlich sind. Vermeiden Sie die Ausführung an der Grenze der Gerätefunktionen.
Vorschriften und Normen
Geräte für bestimmte Branchen unterliegen den geltenden Vorschriften und Standards. Definieren Sie Vorschriften und Standards, und stellen Sie sicher, dass die Geräte Compliance- und Konformitätsanforderungen erfüllen. Zu den Vorschriften gehören Zertifizierungen und Kennzeichnungen, z. B. FCC oder CE. Standards umfassen Industrie- oder Behördenanwendungen wie ATEX und MIL-SPEC sowie Sicherheitskonformität, z. B. IEC 61508.
Ebene der Geräteverwaltung und -modellierung
Clouddienste stellen jedem Gerät eine Identität zur Verfügung und verwalten Geräte im großen Stil. Die Cloud ist häufig der letzte Dateneingangspunkt für alle Nachrichten, die von den Geräten fließen. In IoT-Lösungen müssen die Clouddienste Zuverlässigkeit bieten, damit die IoT-Geräte Daten integrieren und übertragen können.
Gerätekonnektivitätsbedingungen, einschließlich Upstream in die Cloud und nachgelagert zu lokalen Netzwerken, sollten Teil des Entwurfs der Zuverlässigkeit von IoT-Lösungen sein. Bewerten Sie die potenziellen Auswirkungen von Verbindungsunterbrechungen oder Störungen, und definieren Sie entsprechend eine Konnektivitätsstrategie.
Die Konnektivitätsstrategie sollte Robustheit umfassen, z. B. Fallbackfunktionen und Trennungsverwaltung, und Puffersicherung, um die Cloudabhängigkeit für kritische Funktionen oder Sicherheitsfunktionen zu verringern.
Die folgenden Entwurfs-, Fehlerbehandlungs- und Überwachungspraktiken beziehen sich auf die Konnektivität.
Konnektivitätsentwurf
Eine IoT-Lösung sollte den Informationsfluss zwischen zeitweilig verbundenen Geräten und cloudbasierten Diensten ermöglichen. Stellen Sie sicher, dass Ihre IoT-Geräte effizient mit zeitweiliger Konnektivität mit der Cloud arbeiten können.
Zu den bewährten Methoden gehören die folgenden Empfehlungen:
- Implementieren Sie Wiederholungs- und Backofflogik in Gerätesoftware.
- Synchronisieren Sie den Gerätestatus mit der Cloud.
- Stellen Sie sicher, dass Sie Daten auf Geräten speichern können, wenn Ihre Lösung Datenverlust nicht tolerieren kann.
- Verwenden Sie Stichprobenentnahmen und Simulationen zum Messen von Netzwerkkapazität und Speicherbedarfsbaselines.
Konnektivitätsimplementierung
Die Azure IoT-Geräte-SDKs bieten Clientbibliotheken, die Sie auf Geräten oder Gateways verwenden können, um die Konnektivität mit Azure IoT-Diensten zu vereinfachen. Sie können die SDKs verwenden, um IoT-Geräteclients zu instrumentieren, die:
- Stellen Sie eine Verbindung mit der Cloud her.
- Bereitstellen einer konsistenten Cliententwicklung auf verschiedenen Plattformen.
- Vereinfachen Sie allgemeine Konnektivitätsaufgaben, indem Sie Details der zugrunde liegenden Protokolle und Nachrichtenverarbeitungsmuster abstrahieren, z. B. exponentielles Backoff mit Jitter- und Wiederholungslogik.
Konnektivitätsüberwachung
Konnektivitätsprobleme für IoT-Geräte können aufgrund der vielen möglichen Fehlerpunkte schwierig zu behandeln sein. Anwendungslogik, physische Netzwerke, Protokolle, Hardware, Azure IoT Hub und andere Clouddienste können Probleme haben.
Die Möglichkeit zum Erkennen und Ermitteln der Ursache eines Problems ist wichtig. Eine IoT-Lösung im großen Stil könnte jedoch Tausende von Geräten enthalten, sodass es nicht sinnvoll ist, einzelne Geräte manuell zu überprüfen. Mit Azure Monitor und Azure Event Grid können Sie Konnektivitätsprobleme in IoT Hub diagnostizieren.
Konnektivitätsressourcen
- Verwalten von Konnektivität und zuverlässigem Messaging mithilfe von Azure IoT Hub-Geräte-SDKs
- Überwachen, Diagnostizieren und Behandeln von Problemen bei der Gerätekonnektivität mit Azure IoT Hub
- Behandeln vorübergehender Fehler
- Fehlerbehandlung für resiliente Anwendungen in Azure
- Trennschaltermuster – Cloudentwurfsmuster
- Kompensierendes Transaktionsmuster : Cloudentwurfsmuster
- Drosselungsmuster – Cloudentwurfsmuster
Erfassungs- und Kommunikationsebene
Die IoT-Erfassungs- und Kommunikationsebene umfasst Dienstkontingente und -grenzwerte, Kapazität, Drosselung und Autoskalierung.
Entwurf für redundante Kapazität
Berücksichtigen Sie bei der Planung von Schwellenwerten und Warnungen die Latenz zwischen Erkennung und durchgeführten Aktionen. Stellen Sie sicher, dass das System und die Operatoren genügend Zeit haben, um auf Änderungsanforderungen zu reagieren. Andernfalls könnten Sie z. B. feststellen, dass die Anzahl der Einheiten erhöht werden muss, aber das System kann fehlschlagen, indem Nachrichten verloren gehen, bevor die Erhöhung wirksam werden kann.
Dienstkontingentplanung
Wie bei allen Plattformdiensten erzwingen IoT Hub und der IoT Hub Device Provisioning Service (DPS) Kontingente und Drosselungen für bestimmte Vorgänge, sodass Azure vorhersagbare ServiceLevels und Kosten für seine Dienste bereitstellen kann. Kontingente und Drosselungen sind an die Dienstebene und die Anzahl der von Ihnen bereitgestellten Einheiten gebunden, sodass Sie Ihre Lösung mit der richtigen Anzahl von Ressourcen entwerfen können. Überprüfen Sie Kontingente und Drosselungen im Voraus, und entwerfen Sie Ihre IoT Hub- und DPS-Ressourcen entsprechend.
Benchmarks im Produktionsmaßstab
Wenn die Anzahl der Geräte oder das Datenvolumen zunimmt, muss das Cloudgateway skaliert werden, um einen unterbrechungsfreien Datenfluss zu unterstützen. Aufgrund der verteilten Art von IoT-Lösungen, der Anzahl der Geräte und des Datenvolumens ist es wichtig, Skalierungsbenchmarks für die Gesamtlösung festzulegen. Diese Benchmarks helfen bei der Planung von Kapazitätsrisiken. Verwenden Sie den Azure IoT-Gerätetelemetriesimulator , um Produktionsskalierungsvolumen zu simulieren.
Automatische Skalierung zur dynamischen Anpassung an Kontingente
Ein Vorteil der Verwendung von PaaS-Komponenten (Platform-as-a-Service) ist die Möglichkeit, mit wenig Aufwand entsprechend Ihren Anforderungen hoch- und herunterzuskalieren. Erwägen Sie die Implementierung eines automatisierten Systems, um Ihre Ressourcen mit den unterschiedlichen Anforderungen Ihrer Lösung hoch- und herunterzuskalieren, um möglichst geringe Kosten und Betriebsaufwand zu erzielen.
Kontingent- und Drosselungsverwaltung
Um die Zuverlässigkeit der Lösung zu gewährleisten, überwachen Sie die Ressourcennutzung kontinuierlich anhand von Kontingenten und Drosselungen, um Nutzungssteigerungen zu erkennen, die auf die Notwendigkeit einer Skalierung hinweisen. Abhängig von Ihren Geschäftlichen Anforderungen können Sie die Ressourcennutzung kontinuierlich überwachen und den Operator benachrichtigen, wenn Schwellenwerte erreicht werden, oder ein automatisiertes System für die autoskalierte Skalierung implementieren.
Kapazität und Skalierung von Ressourcen
- Informationen zu Kontingenten und Drosselung bei Azure IoT Hub
- Kontingente und Grenzwerte im Azure IoT Hub Device Provisioning Service
- Automatisches Skalieren Ihrer Azure IoT Hub – Codebeispiele
- Azure IoT-Gerätetelemetriesimulator – Codebeispiele
- IP-Adressen von IoT Hub
- Bewährte Methoden für die Gerätekonfiguration innerhalb einer IoT-Lösung
- Wählen des richtigen IoT Hub-Tarifs für Ihre Lösung
- Azure IoT Central-Kontingente und -Grenzwerte
- IoT Hub Kontingente und Drosselung: Vorgangsdrosselungen
- IoT Hub Kontingente und Drosselung: Weitere Grenzwerte
Transportschicht
Zum Herstellen einer Verbindung mit dem Clouddienst für Daten, Steuerung und Verwaltung benötigen Geräte Zugriff auf ein Netzwerk. Abhängig vom Typ der IoT-Lösung kann die Zuverlässigkeit der Konnektivität in Ihrer Verantwortung oder in der Verantwortung des Netzwerkdienstanbieters sein. Bei Netzwerken treten möglicherweise zeitweilige Konnektivitätsprobleme auf, und Geräte müssen ihr Verhalten entsprechend verwalten.
DevOps-Ebene
Eine IoT-Lösung für Unternehmen sollte eine Strategie für Operator*innen zur Verwaltung des Systems beinhalten. Um die Zuverlässigkeit zu gewährleisten, sollten Die IoT-Verwaltung und -Vorgänge DevOps-Prozesse verwenden, um Updates, Beobachtbarkeit und Überwachung sowie die Implementierung von Hochverfügbarkeit/Notfallwiederherstellung zu verarbeiten.
Updates
Der Geräteaspekt von IoT-Lösungen stellt im Vergleich zu cloudbasierten Lösungen Herausforderungen dar. Beispielsweise muss es eine Möglichkeit geben, Geräte kontinuierlich zu aktualisieren, um Sicherheitsrisiken und Anwendungsänderungen zu beheben.
Aufgrund des verteilten Charakters von IoT-Lösungen ist es wichtig, sichere Richtlinien für die Bereitstellung von Updates zu übernehmen. IoT-Operatoren benötigen einfache und zuverlässige Updatetools und -methoden.
Eine Geräteupdatelösung muss Folgendes unterstützen:
- Schrittweiser Updaterollout durch Gerätegruppierungs- und Zeitplanungssteuerelemente.
- Unterstützung für resiliente A/B-Geräteupdates für ein nahtloses Rollback.
- Detaillierte Tools für die Updateverwaltung und -berichterstellung.
- Netzwerkoptimierung basierend auf der verfügbaren Bandbreite.
Device Update für IoT Hub ist ein Dienst, der sichere und zuverlässige OTA-Geräteupdates (Over-the-Air) für IoT-Geräte ermöglicht. Device Update für IoT Hub können Geräte gruppierung und angeben, welche Geräte ein Update erhalten sollen. Operatoren können die status von Updatebereitstellungen anzeigen und anzeigen, ob jedes Gerät die erforderlichen Updates erfolgreich anwendet.
Wenn ein Update fehlschlägt, hilft Device Update Bedienern, die ausgefallenen Geräte zu identifizieren und die Fehlerdetails anzuzeigen. Die Möglichkeit, zu identifizieren, welche Geräte ausgefallen sind, kann dazu führen, dass stundenlang versucht wird, die Fehlerquelle manuell zu ermitteln.
Device Update überwacht die status von Gerätebereitstellungen und -updates und meldet, wie viele Geräte mit dem höchsten verfügbaren kompatiblen Update kompatibel sind.
Einblick und Überwachung
Um die Zuverlässigkeit der Gesamtlösung zu verwalten und Warnungsverfahren zu definieren, sollten Sie jede Komponente Ihrer IoT-Lösung überwachen. Alle Azure IoT-Dienste veröffentlichen Metriken, die dienstliche Integrität und Verfügbarkeit beschreiben. Um die End-to-End-Beobachtbarkeit herzustellen, sollten Sie auch die Metriken berücksichtigen, die Sie auf der Geräteseite benötigen. Verwenden Sie diese Metriken als Teil ihrer gesamten Zuverlässigkeitsüberwachung für Ihre Lösung.
Die Überwachung und Diagnose von IoT-Anwendungen sind für Verfügbarkeit und Resilienz von entscheidender Bedeutung. Im Bedarfsfall müssen Sie feststellen können, ob, wann und warum ein Fehler aufgetreten ist. Durch die Überwachung des Betriebs einer IoT-Anwendung und von Geräten im fehlerfreien Zustand können Sie Zuverlässigkeitsprobleme erkennen und beheben.
Um Probleme zu beheben, die sich auf die Zuverlässigkeit von IoT-Anwendungen auswirken, müssen Sie Protokolle und Signale erfassen können, die Ihnen helfen, Probleme bei End-to-End-Vorgängen zu erkennen. Verwenden Sie Protokollierung und Überwachung, um zu bestimmen, ob eine IoT-Lösung wie erwartet funktioniert, und um Probleme mit Lösungskomponenten zu beheben.
Die folgenden Aktionen unterstützen die Beobachtbarkeit für IoT-Lösungen:
- Richten Sie einen Mechanismus zum Sammeln und Analysieren von Leistungsmetriken und Warnungen ein.
- Konfigurieren Sie Geräte, Clouddienste und Anwendungen zum Sammeln und Herstellen einer Verbindung mit Azure Monitor.
- Verwenden Sie Echtzeitdashboards und Warnungen, um Azure-Back-End-Dienste zu überwachen.
- Definieren Sie Rollen und Zuständigkeiten für die Überwachung und Das Reagieren auf Ereignisse und Warnungen. Weitere Informationen finden Sie unter Rollen, Zuständigkeiten und Berechtigungen.
- Implementieren Sie eine kontinuierliche Überwachung.
Azure Monitor
Azure Monitor ist die empfohlene Überwachungs- und Visualisierungsplattform für Azure IoT-Lösungen. Sie können Geräte, Clouddienste und Anwendungen unabhängig vom Bereitstellungsstandort konfigurieren, um Protokollnachrichten direkt oder über integrierte Connectors in Azure Monitor zu pushen.
Verwenden Sie die integrierte Integration von Azure Monitor-Metriken für die Remoteüberwachung von IoT Edge Geräten. Um diese Funktion auf Ihren Geräten zu aktivieren, fügen Sie ihrer Bereitstellung das Modul IoT Edge Metrics Collector hinzu, und konfigurieren Sie es so, dass Modulmetriken gesammelt und an Azure Monitor übertragen werden.
Mit Azure Monitor können Sie den Status Ihrer IoT Hub-Umgebung überwachen, sicherstellen, dass sie ordnungsgemäß ausgeführt wird, und sicherstellen, dass Ihre Geräte nicht gedrosselt werden oder Verbindungsprobleme auftreten. IoT Hub stellt Nutzungsmetriken bereit, z. B. die Anzahl der verwendeten Nachrichten und die Anzahl der verbundenen Geräte. Sie können diese Daten zur Analyse an Azure Monitor weiterleiten und andere Dienste benachrichtigen.
Wenn Ihre Lösung Azure IoT Central verwendet, können Sie die Metriken von IoT Central verwenden, um die Integrität verbundener Geräte und aktiver Datenexporte zu bewerten. IoT Central-Anwendungen aktivieren standardmäßig Metriken, auf die Sie über die Azure-Portal zugreifen können. Azure Monitor stellt mehrere Möglichkeiten zur Interaktion mit diesen Metriken bereit.
Azure Monitor bietet eine benutzerdefinierte Protokollanalyse, um die Aufschlüsselung von Ereignissen und Datensätzen in einzelne Felder für die Indizierung und Suche zu vereinfachen.
Implementieren Sie Echtzeitdashboards und Azure Monitor-Warnungen, um Azure-Back-End-Dienste zu überwachen. Warnungen benachrichtigen Sie proaktiv über bestimmte Bedingungen in Ihren Überwachungsdaten, damit Sie Probleme identifizieren und beheben können, bevor Kunden auf sie stoßen. Sie können Warnungen für Metriken, Protokolle und das Aktivitätsprotokoll festlegen.
Application Insights ist ein Feature von Azure Monitor, das eine erweiterbare Verwaltung der Anwendungsleistung (Application Performance Management, APM) und Überwachung für Live-Web-Apps ermöglicht. Wenn Ihre IoT-Lösung benutzerdefinierte Azure App Service, Azure Kubernetes Service oder Azure Functions Anwendungen verwendet, können Sie Application Insights für die App-Überwachung und -Analyse verwenden.
Application Insights kann:
- Automatisches Erkennen von Leistungsanomalien
- Unterstützung bei der Diagnose von Problemen mithilfe leistungsstarker Analysetools
- Zeigen Sie, was Benutzer tatsächlich mit Ihren Apps tun.
- Helfen Sie Ihnen, die Leistung und Benutzerfreundlichkeit von Apps kontinuierlich zu verbessern.
Kontinuierliche Überwachung
Continuous Integration und Continuous Deployment (CI/CD) ist eine DevOps-Praxis, die Software schneller und zuverlässiger bereitstellt, um benutzern einen kontinuierlichen Nutzen zu bieten. Continuous Monitoring (CM) ist ein ähnliches Konzept, das die Überwachung über alle Phasen und Komponenten eines DevOps-Zyklus hinweg umfasst.
CM stellt kontinuierlich die Integrität, Leistung und Zuverlässigkeit Ihrer Apps und Infrastruktur sicher, während sie durch Entwicklung, Produktion und Freigabe für Kunden fließen. Weitere Informationen finden Sie unter
- Sieben bewährte Methoden für die kontinuierliche Überwachung mit Azure Monitor
- Continuous Integration und Continuous Deployment für Azure IoT Edge-Geräte
Überwachen von Ressourcen
- Überwachen von Azure IoT Hub
- Referenz zu Überwachungsdaten Azure IoT Hub
- Nachverfolgen von Azure IoT-Geräte-zu-Cloud-Nachrichten mit verteilter Ablaufverfolgung
- Überprüfen der Integrität des Azure IoT Hub-Diensts und der -Ressourcen
- Sammeln und Transportieren von Metriken - Azure IoT Edge
Hochverfügbarkeit/Notfallwiederherstellung für kritische Komponenten
Beim Entwerfen und Erstellen Ihrer IoT-Lösung müssen Sie die SLA für die Fehlerwiederherstellung im gesamten Lösungsstapel erfüllen. Ihre SLA sollte Sie bei der Frage unterstützen, welche kritischen Systemkomponenten Hochverfügbarkeit/Notfallwiederherstellung benötigen. Es gibt mehrere Ansätze, von der Redundanz im gesamten IoT-Lösungsstapel bis hin zur Redundanz für bestimmte Ebenen. Die Kosten sind auch ein wichtiger Aspekt, um die Bedeutung der Erfüllung von SLAs abzuwägen.
Azure IoT-Dienste verfügen über definierte Betriebszeit- und Verfügbarkeitsziele. Überprüfen Sie die SLAs für Azure IoT-Dienste, die Teil Ihrer Lösung sind, um festzustellen, ob sie Ihre Betriebszeitziele erfüllen. Beispielsweise verfügt Azure IoT Hub über eine SLA von 99,9 %, was bedeutet, dass Sie eine Minute und 36 Sekunden potenzielle Ausfallzeit pro Tag einplanen sollten. Das Azure IoT Hub SDK bietet integrierte, konfigurierbare Logik zum Verarbeiten von Wiederholungsversuchen und Backoffs.
Erwägen Sie, Ihre Uptimeziele in zwei Kategorien aufzuteilen: Geräteverwaltung und Datenerfassungsvorgänge. Beispielsweise kann es für ein Gerät wichtig sein, Daten erfolgreich an einen IoT Hub zu senden, auch wenn geräteverwaltungsdienste nicht verfügbar sind. Weitere Informationen finden Sie unter Azure IoT Hub SDK-Zuverlässigkeitsfeatures.
Erwägen Sie die Verwendung redundanter Hardware für Sensoren, Energie und Speicher. Mit redundanter Hardware können Geräte funktionieren, wenn keine kritische Komponente verfügbar ist. Hardware kann auch bei Konnektivitätsproblemen helfen. Sie können beispielsweise einen Speicher- und Forward-Ansatz für Daten verwenden, wenn keine Konnektivität verfügbar ist. Dieses Feature ist in Azure IoT Edge integriert.
Geräte müssen auch Cloudausfälle verarbeiten können. Die Azure-Regionskopplung bietet eine Hochverfügbarkeits-/Notfallwiederherstellungsstrategie für IoT Hub, die viele SLA-Anforderungen erfüllt. Wenn die Regionskopplung nicht ausreicht, sollten Sie eine sekundäre IoT Hub-Instanz implementieren. Sie können DPS auch verwenden, um hartcodierte IoT Hub Konfigurationen auf Ihren Geräten zu vermeiden. Wenn Ihr primärer IoT Hub ausfällt, kann DPS Ihre Geräte einem anderen Hub zuweisen.
Erwägen Sie die Implementierung eines Heartbeat-Nachrichtenmusters für Geräte, von dem Sie erwarten, dass sie die meiste Zeit online sind. Dieses Muster verwendet eine benutzerdefinierte IoT Hub Route mit Azure Stream Analytics, Azure Logic Apps oder Azure Functions, um zu ermitteln, ob ein Heartbeat fehlgeschlagen ist. Sie können den Heartbeat verwenden, um Azure Monitor-Warnungen zu definieren, die bei Bedarf Aktionen ausführen.
Ha/DR-Ressourcen
- Verwalten von Konnektivität und zuverlässigem Messaging mithilfe von Azure IoT Hub-Geräte-SDKs
- Hochverfügbarkeit und Notfallwiederherstellung von IoT Hub
- IoT Hub regionsinterne Hochverfügbarkeit/Notfallwiederherstellung
- IoT Hub regionsübergreifende Hochverfügbarkeit/Notfallwiederherstellung
- Klonen eines Azure IoT Hubs in eine andere Region
- Testen von Anwendungen auf Verfügbarkeit und Resilienz