Überwachen Sie Geräte in Echtzeit basierend auf IoT-Aktionen mit OCI Generative AI und Oracle E-Business Suite

In der heutigen Welt haben wir für jede Anwendung viele Geräte und Datenpunkte, die zur Datenverarbeitung mit einem zentralen Server verbunden sind. Diese Datenpunkte geben kontinuierlich Metriken aus, und wenn sie überwacht und berechnet werden, können wir einige sehr nützliche Erkenntnisse aus den Daten erhalten. Diese Erkenntnisse können dann verwendet werden, um Vorhersagen zu treffen, wie wenn ein Gerät abstürzt, und können schließlich in ein System wie Oracle E-Business Suite integriert werden, um eine Bestellung aufzugeben, um das fehlerhafte Gerät unterwegs zu ersetzen.

Die von uns vorgeschlagene Architektur - für das Gesundheitswesen - wird die Inputs aus den eingehenden Ereignissen übernehmen, die von Geräten ausgegeben werden. Diese Ereignisse enthalten die Daten über den Zustand des Geräts, z. B. Daten, die von einem in einem Krankenhaus laufenden Sauerstoffmonitor ausgegeben werden, enthalten die Daten darüber, wie alt es ist, Betriebssystem, eingespielte Sicherheitspatches, historische und aktuelle Informationen über seine Speicher- und Speicherauslastung und die ausgelieferte Last.

Wir werden diese Daten bereinigen und dann an unser ML-Modell weitergeben, das im Oracle Cloud Infrastructure Data Science-Service ausgeführt wird, und dann die Wahrscheinlichkeit berechnen, die uns die Chancen angibt, dass dieses Gerät nicht mehr funktioniert, und wann. Wir aggregieren alle diese Daten und gemäß dem Anforderungs-Push an Oracle Autonomous Data Warehouse für weitere Berichte. Außerdem können wir die Daten weiter in Oracle E-Business Suite integrieren, sodass eine Bestellung automatisch aufgegeben werden kann, sobald sie den angegebenen Kriterien für den Geräteausfall entspricht.

Architektur

Diese Referenzarchitektur zeigt, wie Sie Cloud-Funktionen in Oracle Cloud Infrastructure (OCI) verwenden, um eine auf OCI gehostete Geräteüberwachungslösung zu erstellen.

In dieser Architektur haben wir gezeigt, wie diese Geräteüberwachungslösung auf OCI gehostet wird und wie Admin-Benutzer sowohl für Geschäfts- als auch für Administrations- oder Betriebszwecke auf die Lösung zugreifen.

Das folgende Diagramm veranschaulicht diesen Datenfluss der Referenzarchitektur.



oci-genai-iot-ebs-arch-oracle.zip

Sobald die Daten auf dem Gerät generiert werden, greift die auf dem Gerät ausgeführte Clientanwendung auf OCI Streaming auf einem über API Gateway bereitgestellten Endpunkt zu. Diese Endpunkte werden durch einen High-End-Websicherheitsservice geschützt - WAF - steht für Web Application Firewall. Dieser Service stellt sicher, dass die Frontend-Sicherheit standardmäßig für die Anwendung gilt. Derselbe Streamingendpunkt ist über einen Service Connector Hub verbunden, der den Stream weiterhin überwacht. Sobald vom Gerät neue Daten erzeugt werden, konsumiert er die Daten und löst OCI Functions zur weiteren Verarbeitung der Daten aus.

OCI Functions übernimmt die konsumierten Daten und startet die Datenverarbeitung. Es wird Szenarien geben, in denen mehrere Datensätze in einem einzelnen Aufruf konsumiert werden, je nach eingehendem Datenverkehr, und die Funktion wird in der Lage sein, alle Datensätze separat zu verwalten. Für jeden Datensatz führt die Funktion die folgenden Aufgaben aus:

  1. Bereinigen Sie die Datensatzdaten, und erfassen Sie die erforderlichen Parameter.
  2. Erstellen Sie einen API-Anforderungsaufruf für das auf einem Endpunkt gehostete ML-Modell. Die Eingabe für diese Anforderung ist die erforderliche Parameter für das Modell, um eine Gerätefehlervorhersage zu erstellen. Die Antwort auf diese Anforderung ist die Vorhersage des Gerätefehlers (zwischen 0,00 und 10,00, wobei 0,00 die geringsten Chancen auf einen Geräteausfall und 10,00 die größten Chancen auf einen Geräteausfall bedeutet).
  3. Nachdem wir die Vorhersage erhalten haben, fügt die Funktion diese dem Eingabedatensatz hinzu und pusht sie für zukünftiges Reporting an Autonomous Data Warehouse und für kontinuierliches Umlernen des ML-Modells.
  4. Basierend auf dem Vorhersagewert löst OCI Functions die nächste Aufgabe aus. Wenn die Vorhersage nicht erfolgreich ist, beendet die Funktion die Ausführung für diesen Datensatz, da nichts anderes zu tun ist. Wenn die Vorhersage für einen Fehler erfolgt, führt die Funktion die folgenden Unteraufgaben aus:
    1. Greifen Sie auf die Autonomous Data Warehouse-Referenztabelle für alle Details für die neue Bestellung zu, wie Details zum Weiterleitenden und Genehmiger der Bestellung, Daten zum Gerät und zu allen anderen Stakeholdern.
    2. Generieren Sie mit OCI Generative AI die Zusammenfassung der Auftragsdetails.
    3. Übermitteln Sie die Auftragsdetails an Oracle E-Business Suite oder eine andere ERP-CRM-Software.
    4. Mit OCI Generative AI können Sie eine E-Mail für eine Stakeholderübersicht entwerfen.
    5. Senden Sie die Benachrichtigung an die entsprechenden Stakeholder, um über die Auftragserteilung zu informieren.
  5. Sobald dieser Ablauf abgeschlossen ist, markiert die Funktion den Datensatz als verarbeitet und wechselt zum nächsten Datensatz.

Die Lösung besteht aus einem selbstlernenden ML-Modell, das sich ständig mit den neuen Daten in Autonomous Data Warehouse aktualisiert. Alle drei Ebenen der Anwendung werden in verschiedenen Subnetzen gehostet, um sicherzustellen, dass wir die richtigen Sicherheitsports geöffnet haben, wie von der Anwendung gefordert. Die in den Datenbanken gespeicherten Daten werden aus einem anderen Subnetz abgerufen, um die richtige Sicherheit zu gewährleisten.

Das Architekturdiagramm veranschaulicht auch einen anderen Benutzerzugriffsablauf für Admin-Benutzer. Dies sind die Benutzer, die für den Betrieb der Geräteüberwachungsanwendung auf OCI verantwortlich sind. Sie greifen über SSH über Site-to-Site-VPN oder FastConnect auf die Anwendungsressourcen zu. Dadurch wird ein sicherer Tunnel erstellt, der das CPE-Gerät im Kunden-Data Center mit dem DRG auf OCI verbindet. Mit diesem Pfad greifen die Administratoren über die Rechenzentrumscomputer auf die Anwendungsressourcen auf OCI zu. Dieser Zugriff ist erforderlich, um sicherzustellen, dass alle Operationsjobs wie Patching, Anwendungsupgrade, Betriebssystemsicherheitsupgrades und andere Aufgaben sicher und pünktlich ausgeführt werden.

In dieser Architektur können wir auch die auf OCI implementierten Konzepte von High Availability und Disaster Recovery hinzufügen. High Availability bedeutet, dass die Anwendung in mehreren Availability-Domains in derselben Region bereitgestellt wird. Dadurch wird sichergestellt, dass die Anwendung auch dann immer verfügbar ist, wenn eine der Availability-Domains aufgrund von Problemen wie Feuer oder Strom ausfällt. Disaster Recovery bedeutet, dass die Anwendung auch in mehreren OCI-Regionen bereitgestellt wird. Dadurch wird sichergestellt, dass die Anwendung immer verfügbar ist, auch wenn eine der Regionen aufgrund eines Problems wie Tsunami, Zyklon oder Erdbeben ausfällt. Darüber hinaus sollten Sie Ressourcen in mehrere Faultdomains platzieren, um sicherzustellen, dass die Architektur auch vor Ausfällen auf Rackebene im Oracle-Data Center geschützt ist. Dies sind äußerst wichtige Themen, die Sie berücksichtigen sollten, da diese Anwendungen lange ohne Ausfallzeiten kontinuierlich ausgeführt werden sollen.

In derselben Architektur können wir auch sehen, dass wir das Deployment mit dem OCI DevOps-Service erstellt haben. Dadurch wird sichergestellt, dass alle Komponenten agil bereitgestellt werden. Alle Komponenten werden mit Terraform bereitgestellt und über Ansible verwaltet. Dies zeigt, wie Sie die Automatisierung auf OCI nutzen und den Infrastructure-as-a-Code-Ansatz (IaaC) befolgen können, um die Mainframe-Anwendung agiler und einfacher zu verwalten.

Die Architektur umfasst die folgenden Komponenten:

  • Tenancy

    Ein Mandant ist eine sichere und isolierte Partition, die Oracle bei der Registrierung für Oracle Cloud Infrastructure in Oracle Cloud einrichtet. Sie können Ihre Ressourcen in Oracle Cloud in Ihrem Mandanten erstellen, organisieren und verwalten. Ein Mandant ist gleichbedeutend mit einem Unternehmen oder einer Organisation. Normalerweise verfügt ein Unternehmen über einen einzelnen Mandanten und spiegelt seine Organisationsstruktur in diesem Mandanten wider. Ein einzelner Mandant ist in der Regel mit einem einzelnen Abonnement verknüpft, und ein einzelnes Abonnement hat in der Regel nur einen Mandanten.

  • Region

    Eine Oracle Cloud Infrastructure-Region ist ein lokalisierter geografischer Bereich, der mindestens ein Data Center enthält, das als Availability-Domain bezeichnet wird. Regionen sind unabhängig von anderen Regionen, und große Entfernungen können sie trennen (über Länder oder sogar Kontinente).

  • Compartment

    Compartments sind regionsübergreifende logische Partitionen in einem Oracle Cloud Infrastructure-Mandanten. Verwenden Sie Compartments, um Ihre Ressourcen in Oracle Cloud zu organisieren, den Zugriff auf die Ressourcen zu kontrollieren und Nutzungs-Quotas festzulegen. Um den Zugriff auf die Ressourcen in einem bestimmten Compartment zu kontrollieren, definieren Sie Policys, mit denen angegeben wird, wer auf die Ressourcen zugreifen kann und welche Aktionen sie ausführen können.

  • Verfügbarkeitsdomänen

    Availability-Domains sind eigenständige, unabhängige Data Center innerhalb einer Region. Die physischen Ressourcen in jeder Availability-Domain sind von den Ressourcen in den anderen Availability-Domains isoliert, was eine Fehlertoleranz sicherstellt. Availability-Domains haben keine gemeinsame Infrastruktur wie Stromversorgung oder Kühlung oder das interne Availability-Domainnetzwerk. Ein Fehler in einer Availability-Domain darf sich also nicht auf die anderen Availability-Domains in der Region auswirken.

  • Fehlerdomains

    Eine Faultdomain ist eine Gruppierung aus Hardware und Infrastruktur innerhalb einer Availability-Domain. Jede Availability-Domain umfasst drei Fehlerdomänen mit unabhängiger Stromversorgung und Hardware. Wenn Sie Ressourcen auf mehrere Faultdomains verteilen, können Ihre Anwendungen physische Serverausfälle, Systemwartungen und Stromausfälle innerhalb einer Faultdomain tolerieren.

  • Virtuelles Cloud-Netzwerk (VCN) und Subnetze

    Ein VCN ist ein anpassbares, benutzerdefiniertes Netzwerk, das Sie in einer Oracle Cloud Infrastructure-Region einrichten können. Wie traditionelle Data Center-Netzwerke erhalten Sie mit VCNs Kontrolle über Ihre Netzwerkumgebung. Ein VCN kann mehrere sich nicht überschneidende CIDR-Blöcke aufweisen, die Sie nach dem Erstellen des VCN ändern können. Sie können ein VCN in Subnetze segmentieren, die sich auf eine Region oder eine Availability-Domain beschränken. Jedes Subnetz besteht aus einem Bereich zusammenhängender Adressen, die sich nicht mit anderen Subnetzen im VCN überschneiden. Sie können die Größe eines Subnetzes nach der Erstellung ändern. Ein Subnetz kann öffentlich oder privat sein.

  • FastConnect

    Oracle Cloud Infrastructure FastConnect bietet eine einfache Möglichkeit, eine dedizierte, private Verbindung zwischen Ihrem Data Center und Oracle Cloud Infrastructure zu erstellen. FastConnect bietet Optionen mit höherer Bandbreite und ein zuverlässigeres Netzwerk als bei internetbasierten Verbindungen.

  • IPSec-VPN

    Mit VPN Connect können Sie eine IPSec-VPN-Verbindung zwischen dem lokalen Netzwerk und den VCNs in Oracle Cloud Infrastructure herstellen. Die IPSec-Protokollfamilie verschlüsselt den IP-Traffic, bevor die Pakete von der Quelle an das Ziel übertragen werden, und entschlüsselt den Traffic, wenn er ankommt.

  • Sicherheitsliste

    Für jedes Subnetz können Sie Sicherheitsregeln erstellen, die Quelle, Ziel und Typ des Traffics angeben, der in und aus dem Subnetz zulässig sein muss.

  • Servicegateway

    Das Servicegateway ermöglicht den Zugriff von einem VCN auf andere Services, wie Oracle Cloud Infrastructure Object Storage. Der Traffic vom VCN zum Oracle-Service durchläuft die Oracle-Netzwerkstruktur und nicht das Internet.

  • Autonome Datenbanksysteme

    Oracle Autonomous Database ist ein vollständig automatisierter Service, mit dem alle Unternehmen Anwendungs-Workloads entwickeln und bereitstellen können, unabhängig von Komplexität, Skalierung oder Kritikalität. Die konvergierte Engine des Service unterstützt verschiedene Datentypen und vereinfacht die Anwendungsentwicklung und -bereitstellung von der Modellierung und Codierung bis hin zu ETL, Datenbankoptimierung und Datenanalyse. Mit maschinellem Lernen, automatisiertem Tuning, Skalierung und Patching bietet Autonomous Database die höchste Performance, Verfügbarkeit und Sicherheit für OLTP-, Analyse-, Batch- und Internet of Things-(IoT-)Workloads. Autonomous Database basiert auf Oracle Database und Oracle Exadata und ist auf Oracle Cloud Infrastructure (OCI) für serverlose oder dedizierte Deployments sowie On-Premises mit Oracle Exadata Cloud@Customer und OCI Dedicated Region verfügbar.

  • Streaming

    Oracle Cloud Infrastructure Streaming bietet eine vollständig verwaltete, skalierbare und langlebige Storage-Lösung für die Aufnahme kontinuierlicher High-Volume-Datenströme, die Sie in Echtzeit konsumieren und verarbeiten können. Sie können Streaming verwenden, um hochvolumige Daten wie Anwendungslogs, Operational Telemetry, Clickstream-Webdaten oder für andere Anwendungsfälle zu erfassen, bei denen kontinuierlich und sequentiell Daten in einem Publish-Subscribe-Nachrichtenmodell erzeugt und verarbeitet werden.

  • Service-Konnektoren

    Oracle Cloud Infrastructure Service Connector Hub ist eine Cloud-Nachrichtenbusplattform, die das Verschieben von Daten zwischen Services in OCI orchestriert. Mit Service-Connectors können Sie Daten von einem Quellservice in einen Zielservice verschieben. Mit Service-Connectors können Sie auch optional eine Aufgabe (z.B. eine Funktion) angeben, die für die Daten ausgeführt werden soll, bevor sie an den Zielservice zugestellt wird.

    Mit Oracle Cloud Infrastructure Service Connector Hub können Sie schnell ein Loggingaggregations-Framework für Sicherheitsinformationen und Ereignismanagementsysteme (SIEM) erstellen.

  • Data Science

    Oracle Cloud Infrastructure Data Science ist eine vollständig verwaltete, serverlose Plattform, mit der Datenanalyseteams ML-Modelle in Oracle Cloud Infrastructure (OCI) erstellen, trainieren und verwalten können. Sie kann problemlos in andere OCI-Services wie Oracle Autonomous Data Warehouse, Oracle Cloud Infrastructure Object Storage und mehr integriert werden. Sie können hochwertige Modelle für maschinelles Lernen erstellen und bewerten, die Geschäftsflexibilität erhöhen, indem Sie unternehmensvertrauenswürdige Daten schnell einsetzen. Außerdem können Sie datengesteuerte Geschäftsziele mit einer einfacheren Bereitstellung von ML-Modellen unterstützen.

  • Functions

    Oracle Cloud Infrastructure Functions ist eine vollständig verwaltete, mehrmandantenfähige, hochskalierbare, On-Demand-Plattform mit Funktionen als Service (FaaS). Es wird von der Open-Source-Engine des Fn-Projekts unterstützt. Mit Funktionen können Sie Ihren Code bereitstellen und entweder direkt aufrufen oder als Reaktion auf Ereignisse auslösen. Oracle Functions verwendet Docker-Container, die in Oracle Cloud Infrastructure Registry gehostet werden.

  • Logging
    Bei Logging handelt es sich um einen hoch skalierbaren und vollständig verwalteten Service, der Zugriff auf die folgenden Logtypen von Ihren Ressourcen in der Cloud ermöglicht:
    • Logs: Logs zu Ereignissen, die vom Audit-Service ausgegeben werden.
    • Service-Logs:: Logs, die von einzelnen Services wie API Gateway, Events, Functions, Load Balancing, Object Storage und VCN-Flowlogs ausgegeben werden.
    • Benutzerdefinierte Logs: Logs, die Diagnoseinformationen von benutzerdefinierten Anwendungen, anderen Cloud-Providern oder einer On-Premise-Umgebung enthalten.

Empfehlungen

Verwenden Sie die folgenden Empfehlungen als Ausgangspunkt, um diese Referenzarchitektur mit OCI Functions und OCI Events zu implementieren. Ihre Anforderungen können von der hier beschriebenen Architektur abweichen.
  • VCN

    Wenn Sie ein VCN erstellen, bestimmen Sie die Anzahl der erforderlichen CIDR-Blöcke und die Größe jedes Blocks basierend auf der Anzahl der Ressourcen, die Sie an Subnetze im VCN anhängen möchten. Verwenden Sie CIDR-Blöcke innerhalb des standardmäßigen privaten IP-Adressraums.

    Wählen Sie CIDR-Blöcke aus, die sich nicht mit anderen Netzwerken (in Oracle Cloud Infrastructure, Ihrem On-Premise-Data Center oder einem anderen Cloud-Provider) überschneiden, für die Sie private Verbindungen einrichten möchten.

    Nachdem Sie ein VCN erstellt haben, können Sie dessen CIDR-Blöcke ändern, hinzufügen und entfernen.

    Berücksichtigen Sie beim Entwerfen der Subnetze den Trafficfluss und die Sicherheitsanforderungen. Hängen Sie alle Ressourcen innerhalb einer bestimmten Tier oder Rolle an dasselbe Subnetz an, das als Sicherheitsgrenze dienen kann.

  • Anwendungsdesign

    Diese Referenzarchitektur verwendet OCI Functions für die gesamte Verarbeitung. Es gibt wenige Einschränkungen bei der Verwendung von OCI Functions, wie die maximale Ausführungszeit von 300 Sekunden. Wenn Sie diese Architektur für eine große Menge von Eingabeflussdaten verwenden möchten, können Sie die Anwendung auf OCI Compute-Instanzen ausführen. Sie können mehrere Läufer und jeden Läufer ausführen, um die Eingabeereignisse separat und parallel zu konsumieren und zu verarbeiten.

  • Disaster Recovery

    Eine Standby-Disaster Recovery-Instanz in einer anderen OCI-Region wird für Unternehmensanwendungen empfohlen. Die DR-Strategie muss über alle 3 Ebenen hinweg konsistent sein, um SLA- und Datendauerhaftigkeitsanforderungen zu erfüllen. Das Disaster Recovery Oracle Exadata Database Service on Dedicated Infrastructure wird mit Oracle Data Guard mit der Produktion synchronisiert. Oracle Exadata Database Service on Dedicated Infrastructure ist eine Kopie der Primärdatenbank, die in allen Transaktionen mit der Primärdatenbank übereinstimmt. Oracle Data Guard verwaltet automatisch die Synchronisierung zwischen den Datenbanken, indem Redo-Daten aus der Primärdatenbank in die Standbydatenbank übertragen und angewendet werden. Bei einem Ausfall in der primären Region führt Oracle Data Guard automatisch einen Failover zur Standbydatenbank in der sekundären Region durch. Front-End-Load Balancer werden entweder im Standbymodus für Network Load Balancer oder mit High Availability mit Load Balancer as a Service bereitgestellt.

Hinweise

Bei der Implementierung dieser Referenzarchitektur müssen die folgenden Aspekte berücksichtigt werden.

  • Performance

    OCI Functions, Autonomous Data Warehouse und andere wichtige Services sind hoch skalierbar. Sie sollten die Anzahl der Compute- und Speicherressourcen an die Größe und Anforderungen Ihrer Mainframeanwendung anpassen.

  • Sicherheit

    Verwenden Sie Policys, um einzuschränken, wer auf die OCI-Ressourcen zugreifen kann. Für OCI Object Storage ist die Verschlüsselung standardmäßig aktiviert und kann nicht deaktiviert werden. Der gesamte Zugriff auf in OCI Functions bereitgestellte Funktionen wird über Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) gesteuert. Dadurch können bestimmten Benutzern und Benutzergruppen sowohl Funktionsmanagement- als auch Funktionsaufrufberechtigungen zugewiesen werden. Es wird empfohlen, Secrets und sensible Daten in OCI Vault zu speichern. Sie sollten OCI Vault zum Speichern von API-Schlüsseln und Authentifizierungstoken verwenden, die zur Autorisierung mit OCI-Services verwendet werden.

  • Verfügbarkeit

    Oracle stellt High Availability von OCI Functions, Autonomous Data Warehouse und anderen Services sicher, die cloudnativ und vollständig verwaltet sind. Bei Workloads, die in einer einzelnen Availability-Domain bereitgestellt werden, können Sie Resilienz sicherstellen, indem Sie die Ressourcen auf die Faultdomains verteilen, wie in dieser Architektur dargestellt. Wenn Sie Ihre Workload in einer Region mit mehreren Availability-Domains bereitstellen möchten, können Sie die Ressourcen auf mehrere Availability-Domains verteilen.

  • Skalierbarkeit

    Sie können die Anwendungsserver vertikal skalieren, indem Sie zu den Compute-Instanzen wechseln und die Ausprägung ändern. Eine Ausprägung mit einer höheren Coreanzahl bietet mehr Speicher und Netzwerkbandbreite. Wenn Sie mehr Speicher benötigen, vergrößern Sie die Größe der an den Anwendungsserver angeschlossenen Block-Volumes. Sie können die Datenbanken vertikal skalieren, indem Sie weitere Cores für das Autonomous Data Warehouse-DB-System aktivieren. Sie können OCPUs in Vielfachen von zwei für ein Quarter Rack hinzufügen. Die Datenbanken bleiben während eines Skalierungsvorgangs verfügbar. Wenn Ihre Workload die verfügbaren CPUs und den Speicher übersteigt, können Sie zu einem größeren Rack migrieren.

Danksagungen

  • Autor: Lovelesh Saxena