Surveiller les appareils en temps réel en fonction des actions IoT à l'aide de l'intelligence artificielle générative OCI et d'Oracle E-Business Suite

Dans le monde d'aujourd'hui, pour chaque application, nous avons de nombreux périphériques et points de données qui sont connectés à un serveur central pour le traitement des données. Ces points de données émettent continuellement des mesures, et s'ils sont surveillés et calculés, nous pouvons obtenir des renseignements très utiles à partir des données. Ces synthèses peuvent ensuite être utilisées pour effectuer des prédictions telles que le moment où un appareil peut se bloquer, et peuvent éventuellement être intégrées à un système tel qu'Oracle E-Business Suite pour passer une commande de remplacement de l'appareil défectueux lors de déplacements.

L'architecture que nous proposons - pour les soins de santé, prendra les entrées des événements entrants émis par les appareils. Ces événements auront les données sur l'état de l'appareil, par exemple, les données émises par un moniteur d'oxygène en cours d'exécution dans un hôpital auront les données concernant son âge, le système d'exploitation, les correctifs de sécurité appliqués, les informations historiques et actuelles sur son utilisation de la mémoire et du stockage et la charge qu'il dessert.

Nous nettoyerons puis transmettrons ces données à notre modèle d'apprentissage automatique exécuté dans le service Oracle Cloud Infrastructure Data Science, puis nous calculerons la probabilité que cet appareil cesse de fonctionner, et à quel moment. Nous allons agréger toutes ces données et, selon les besoins, pousser vers Oracle Autonomous Data Warehouse pour en savoir plus. Nous pouvons également intégrer davantage les données à Oracle E-Business Suite afin qu'elles puissent passer une commande automatiquement dès qu'elles correspondent aux critères spécifiés de défaillance de l'appareil.

Architecture

Cette architecture de référence montre comment utiliser les fonctionnalités en nuage d'Oracle Cloud Infrastructure (OCI) pour créer une solution de surveillance d'appareil hébergée sur OCI.

Dans cette architecture, nous avons montré comment cette solution de surveillance d'appareil sera hébergée sur OCI et comment les administrateurs accéderont à la solution à des fins commerciales, administratives ou opérationnelles.

Le diagramme suivant illustre ce flux de données d'architecture de référence.



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

Dès que les données sont générées sur l'appareil, l'application client qui s'exécute sur l'appareil accède au service de diffusion en continu pour OCI sur un point d'extrémité exposé au moyen de la passerelle d'API. Ces points d'extrémité seront protégés par un service de sécurité Web haut de gamme - WAF - signifie Web Application Firewall. Ce service s'assurera que la sécurité frontale est par défaut applicable à l'application. Le même point d'extrémité de diffusion en continu est connecté à partir d'un centre de connecteurs de service, qui surveille le flux et dès qu'une nouvelle donnée est produite par l'appareil, il consomme les données et déclenche le service des fonctions pour OCI pour un traitement ultérieur des données.

Le service des fonctions pour OCI utilisera les données consommées et lancera le traitement des données. Il y aura des scénarios où plusieurs enregistrements seront consommés dans un seul appel de consommation en fonction du trafic d'entrée, et la fonction sera capable de prendre soin de tous les enregistrements séparément. Pour chaque enregistrement, la fonction effectuera les tâches suivantes :

  1. Nettoyez les données de l'enregistrement et collectez les paramètres requis.
  2. Créez un appel de demande d'API pour le modèle d'apprentissage automatique hébergé sur un point d'extrémité. L'entrée de cette demande sera les paramètres requis pour que le modèle effectue une prévision de défaillance de l'appareil. La réponse de cette demande sera la prédiction de défaillance de l'appareil (allant de 0,00 à 10,00, où 0,00 signifie le moins de chances de défaillance de l'appareil, et 10,00 signifie la plupart des chances de défaillance de l'appareil).
  3. Après avoir obtenu la prédiction, la fonction l'ajoutera à l'enregistrement d'entrée et la poussera vers Autonomous Data Warehouse pour la production de rapports futurs et vers le réapprentissage continu du modèle d'apprentissage automatique.
  4. Selon la valeur de prédiction, le service des fonctions pour OCI déclenchera la tâche suivante. Si la prédiction est pour non-échec, la fonction quittera l'exécution pour cet enregistrement car il n'y a rien d'autre à faire. Si la prédiction concerne un échec, la fonction exécutera les sous-tâches suivantes :
    1. Accédez à la table de référence Autonomous Data Warehouse pour tous les détails de la nouvelle commande tels que les détails de l'émetteur et de l'approbateur de la commande, les données liées à l'appareil et toutes les autres parties prenantes.
    2. Utilisez l'IA générative OCI pour générer le sommaire des détails de la commande.
    3. Soumettez les détails de la commande à Oracle E-Business Suite ou à tout autre logiciel ERP et CRM.
    4. Utilisez l'IA générative OCI pour rédiger un courriel pour le sommaire des parties prenantes.
    5. Envoyez l'avis aux parties prenantes correspondantes pour les informer du placement de la commande.
  5. Une fois ce flux terminé, la fonction marquera l'enregistrement comme traité et passera à l'enregistrement suivant.

La solution se compose d'un modèle d'apprentissage automatique avec réapprentissage automatique, qui se met à jour avec les nouvelles données provenant d'Autonomous Data Warehouse. Les trois niveaux de l'application sont hébergés dans différents sous-réseaux pour garantir que nous avons ouvert les ports de sécurité appropriés, comme l'exige l'application. Les données stockées dans les bases de données sont extraites d'un autre sous-réseau pour garantir une sécurité appropriée.

Le diagramme d'architecture illustre également un autre flux d'accès utilisateur pour les administrateurs. Il s'agit des utilisateurs responsables de l'exploitation de l'application de surveillance des appareils sur OCI. Ils accèdent aux ressources d'application à l'aide de SSH sur RPV site à site ou FastConnect. Cela créera un tunnel sécurisé qui connectera l'équipement local d'abonné dans le centre de données du client à la passerelle DRG sur OCI. À l'aide de ce chemin, les administrateurs accèdent aux ressources d'application sur OCI à partir des ordinateurs du centre de données. Cet accès est requis pour s'assurer que toutes les tâches d'opérations telles que l'application de correctifs, la mise à niveau des applications, les mises à niveau de sécurité du système d'exploitation et d'autres tâches sont effectuées en toute sécurité et à temps

Dans cette architecture, nous pouvons également ajouter les concepts de haute disponibilité et de reprise après sinistre mis en oeuvre sur OCI. La haute disponibilité signifie que l'application est déployée dans plusieurs domaines de disponibilité de la même région. Cela garantit que l'application est toujours disponible même si l'un des domaines de disponibilité tombe en panne en raison d'un problème tel que l'incendie ou l'électricité. La récupération après sinistre signifie que l'application est également déployée dans plusieurs régions OCI. Cela garantit que l'application est toujours disponible même dans le cas où l'une des régions tombe en panne en raison d'un problème tel que le tsunami, le cyclone ou le tremblement de terre. En outre, vous devez placer des ressources dans plusieurs domaines d'erreur pour vous assurer que l'architecture est également à l'abri de toute défaillance au niveau du bâti dans le centre de données Oracle. Ce sont des sujets extrêmement importants à considérer, car ces applications sont censées fonctionner en continu pendant de longues périodes sans temps d'arrêt.

Sur la même architecture, nous pouvons également voir que nous avons créé le déploiement à l'aide du service OCI DevOps, qui garantit que tous les composants sont déployés de manière agile. Tous les composants sont déployés à l'aide de Terraform et gérés au moyen d'Ansible. Cela montre comment tirer parti de l'automatisation sur OCI et suivre l'approche Infrastructure en tant que code (IaaC) pour rendre l'application d'ordinateur central plus agile et facile à tenir à jour.

L'architecture comprend les composants suivants :

  • Location

    Une location est une partition sécurisée et isolée qu'Oracle configure dans Oracle Cloud lors de votre inscription à Oracle Cloud Infrastructure. Vous pouvez créer, organiser et gérer vos ressources dans Oracle Cloud au sein de votre location. Une location est synonyme d'une société ou d'une organisation. Habituellement, une société aura une seule location et reflétera sa structure organisationnelle au sein de cette location. Une seule location est généralement associée à un seul abonnement, et un seul abonnement n'a généralement qu'une seule location.

  • Région

    Une région Oracle Cloud Infrastructure est une zone géographique localisée qui contient un ou plusieurs centres de données, appelés domaines de disponibilité. Les régions sont indépendantes les unes des autres, et de grandes distances peuvent les séparer (dans différents pays ou continents).

  • Compartiment

    Les compartiments sont des partitions logiques inter-régions dans une location Oracle Cloud Infrastructure. Utilisez des compartiments pour organiser vos ressources dans Oracle Cloud, contrôler l'accès aux ressources et définir des quotas d'utilisation. Pour contrôler l'accès aux ressources d'un compartiment donné, vous devez définir des politiques qui spécifient qui peut accéder aux ressources et les actions qui peuvent être exécutées.

  • Domaines de disponibilité

    Les domaines de disponibilité sont des centres de données indépendants et autonomes dans une région. Les ressources physiques de chaque domaine de disponibilité sont isolées des ressources des autres domaines de disponibilité, ce qui garantit la tolérance aux pannes. Les domaines de disponibilité ne partagent pas les éléments d'infrastructure (alimentation ou refroidissement, par exemple) ni le réseau de domaines de disponibilité interne. Par conséquent, une défaillance dans un domaine de disponibilité ne devrait pas avoir d'incidence sur les autres domaines de disponibilité de la région.

  • Domaines d'erreur

    Un domaine d'erreur est un regroupement de matériel et d'infrastructure au sein d'un domaine de disponibilité. Chaque domaine de disponibilité comporte trois domaines d'erreur avec une puissance et un matériel indépendants. Lorsque vous répartissez des ressources entre plusieurs domaines d'erreur, vos applications peuvent tolérer les pannes physiques de serveur, la maintenance du système et les pannes d'alimentation au sein d'un domaine d'erreur.

  • Réseau en nuage virtuel (VCN) et sous-réseau

    Un VCN est un réseau défini par logiciel personnalisable, configuré dans une région Oracle Cloud Infrastructure. À l'instar des réseaux de centre de données traditionnels, ces derniers vous permettent de contrôler votre environnement de réseau. Un VCN peut disposer de plusieurs blocs CIDR sans chevauchement que vous pouvez modifier après avoir créé le VCN. Vous pouvez segmenter un VCN en sous-réseaux, dont la portée peut concerner une région ou un domaine de disponibilité. Un sous-réseau est constitué d'un intervalle contigu d'adresses qui ne chevauchent pas les autres sous-réseaux dans le réseau en nuage virtuel. Vous pouvez modifier la taille d'un sous-réseau après sa création. Un sous-réseau peut être public ou privé.

  • FastConnect

    Oracle Cloud Infrastructure FastConnect permet de créer facilement une connexion privée dédiée entre votre centre de données et Oracle Cloud Infrastructure. FastConnect fournit des options de largeur de bande supérieure et permet une utilisation du réseau plus fiable que les connexions basées sur Internet.

  • RPV IPSec

    Une connexion RPV fournit une connectivité RPV site-à-site IPSec entre votre réseau sur place et des réseaux en nuage virtuels dans Oracle Cloud Infrastructure. La suite de protocoles IPSec chiffre le trafic IP avant que les paquets ne soient transférés de la source à la destination, et déchiffre le trafic à son arrivée.

  • Liste de sécurité

    Pour chaque sous-réseau, vous pouvez créer des règles de sécurité qui spécifient la source, la destination et le type de trafic qui doivent être autorisés à entrer et à sortir du sous-réseau.

  • Passerelle de service

    La passerelle de service fournit l'accès d'un VCN à d'autres services, tels qu'Oracle Cloud Infrastructure Object Storage. Le trafic entre le réseau VCN et le service Oracle circule sur la matrice réseau Oracle et ne passe pas par Internet.

  • Systèmes de base de données autonome

    Oracle Autonomous Database est un service entièrement automatisé qui permet à toutes les organisations de développer et de déployer facilement des charges de travail applicatives, peu importe la complexité, l'évolutivité ou la criticité. Le moteur convergé du service prend en charge divers types de données, ce qui simplifie le développement et le déploiement d'applications, de la modélisation et du codage à l'ETC, en passant par l'optimisation des bases de données et l'analyse des données. Grâce à la mise au point, à l'évolutivité et aux correctifs automatisés axés sur l'apprentissage automatique, Autonomous Database offre la performance, la disponibilité et la sécurité les plus élevées pour les charges de travail OLTP, d'analyse, de traitement par lots et Internet of Things (IoT). Fondée sur Oracle Database et Oracle Exadata, Autonomous Database est disponible sur Oracle Cloud Infrastructure (OCI) pour des déploiements sans serveur ou dédiés, ainsi que sur place avec Oracle Exadata Cloud@Customer et OCI Dedicated Region.

  • Service de flux

    Le service de flux pour Oracle Cloud Infrastructure est une solution de stockage entièrement gérée, évolutive et durable pour ingérer des flux de données élevés et continus que vous pouvez consommer et traiter en temps réel. Vous pouvez utiliser le service de transmission de données en continu pour l'ingestion de gros volumes de données, tels que les journaux d'application, les données de télémétrie opérationnelle et les données de flux par clic Web, ou pour d'autres cas d'utilisation où des données sont produites et traitées en continu et séquentiellement dans un modèle de messagerie de publication et d'abonnement.

  • Connecteurs de service

    Le centre de connecteur de service Oracle Cloud Infrastructure est une plate-forme de bus de messages en nuage qui orchestre le déplacement des données entre les services dans OCI. Vous pouvez utiliser des connecteurs de service pour déplacer des données d'un service source vers un service cible. Les connecteurs de service vous permettent également de spécifier une tâche (telle qu'une fonction) à exécuter sur les données avant leur transmission au service cible.

    Vous pouvez utiliser le centre de connecteurs du service Oracle Cloud Infrastructure pour créer rapidement un cadre d'agrégation de journalisation pour les systèmes de gestion des informations et des événements de sécurité.

  • Service de science des données

    Oracle Cloud Infrastructure Data Science est une plate-forme sans serveur entièrement gérée, que les équipes d'experts en science des données peuvent utiliser pour créer, entraîner et gérer des modèles d'apprentissage automatique sur Oracle Cloud Infrastructure (OCI). Il peut facilement s'intégrer à d'autres services OCI tels qu'Oracle Autonomous Data Warehouse, Oracle Cloud Infrastructure Object Storage et plus encore. Vous pouvez créer et évaluer des modèles d'apprentissage automatique de haute qualité qui augmentent la flexibilité des affaires en mettant rapidement à profit des données fiables de l'entreprise, et vous pouvez soutenir les objectifs commerciaux axés sur les données avec un déploiement plus facile des modèles d'apprentissage automatique.

  • Oracle Functions

    Oracle Cloud Infrastructure Functions est une plate-forme Functions-as-a-Service (FaaS) sur demande, entièrement gérée, multitenante et hautement évolutive. Il est alimenté par le moteur open source Fn Project. Les fonctions vous permettent de déployer votre code et de l'appeler directement ou de le déclencher en réponse à des événements. Oracle Functions utilise des conteneurs Docker hébergés dans Oracle Cloud Infrastructure Registry.

  • Journalisation
    Le service de journalisation est un service hautement évolutif entièrement géré qui permet d'accéder aux types de journal suivants à partir de vos ressources en nuage :
    • Journaux du service de vérification : Journaux liés à des événements émis par le service Vérification.
    • Journaux de service : Journaux émis par des services individuels tels que passerelle d'API, événements, fonctions, équilibreur de charge, stockage d'objets et journaux de flux VCN.
    • Journaux personnalisés : Journaux contenant des informations de diagnostic provenant d'applications personnalisées, d'autres fournisseurs de services infonuagiques ou d'un environnement sur place.

Recommandations

Utilisez les recommandations suivantes comme point de départ pour mettre en oeuvre cette architecture de référence à l'aide du service des fonctions pour OCI et des événements pour OCI. Vos exigences peuvent différer de l'architecture décrite ici.
  • VCN

    Lorsque vous créez un VCN, déterminez le nombre de blocs CIDR requis et la taille de chaque bloc en fonction du nombre de ressources que vous prévoyez d'attacher aux sous-réseaux du VCN. Utilisez des blocs CIDR qui se trouvent dans l'espace d'adresses IP privées standard.

    Sélectionnez les blocs CIDR qui ne chevauchent aucun autre réseau (dans Oracle Cloud Infrastructure, votre centre de données sur place ou un autre fournisseur de nuage) auquel vous voulez configurer des connexions privées.

    Après avoir créé un VCN, vous pouvez modifier, ajouter et supprimer ses blocs CIDR.

    Lorsque vous concevez les sous-réseaux, tenez compte de vos exigences en matière de flux de trafic et de sécurité. Attachez toutes les ressources d'un niveau ou d'un rôle spécifique au même sous-réseau, qui peut servir de limite de sécurité.

  • Conception d'application

    Cette architecture de référence utilise le service des fonctions pour OCI pour tous les traitements. L'utilisation du service Fonctions OCI est limitée, comme le temps d'exécution maximal de 300 secondes. Si vous prévoyez d'utiliser cette architecture pour une grande quantité de données de flux d'entrée, vous pouvez envisager d'exécuter l'application sur les instances du service Calcul OCI. Vous pouvez exécuter plusieurs exécuteurs et chaque exécuteur pour consommer et traiter les événements d'entrée séparément et en parallèle.

  • Récupération après sinistre

    Une instance de récupération après sinistre de secours dans une autre région OCI est recommandée pour les applications d'entreprise. La stratégie de reprise après sinistre doit être cohérente sur l'ensemble des 3 niveaux pour répondre aux exigences de CNS et de durabilité des données. The disaster recovery Oracle Exadata Database Service on Dedicated Infrastructure is synced up with production by using Oracle Data Guard. The standby Oracle Exadata Database Service on Dedicated Infrastructure is a transactionally consistent copy of the primary database. Oracle Data Guard maintient automatiquement la synchronisation entre les bases de données en transmettant et en appliquant des données de journalisation de la base de données principale à la base de données de secours. En cas de sinistre dans la région principale, Oracle Data Guard bascule automatiquement vers la base de données de secours de la région secondaire. Les équilibreurs de charge frontaux sont déployés soit en mode de secours pour les équilibreurs de charge de réseau, soit avec une haute disponibilité à l'aide de l'équilibreur de charge en tant que service.

Points à considérer

Lors de la mise en œuvre de cette architecture de référence, il est important d'examiner les aspects suivants.

  • Performance

    Le service des fonctions pour OCI, Autonomous Data Warehouse et d'autres services importants sont hautement évolutifs. Envisagez d'ajuster le nombre de ressources de calcul et de stockage en fonction de la taille et des exigences de votre application mainframe.

  • Sécurité

    Utilisez des politiques pour restreindre l'accès aux ressources OCI. Pour le stockage d'objets OCI, le chiffrement est activé par défaut et ne peut pas être désactivé. Tous les accès aux fonctions déployées dans le service Fonctions OCI sont contrôlés au moyen d'Oracle Cloud Infrastructure Identity and Access Management (OCI IAM), qui permet d'affecter des privilèges de gestion des fonctions et d'appel de fonction à des utilisateurs et à des groupes d'utilisateurs spécifiques. Il est recommandé de stocker les clés secrètes et les données sensibles dans la chambre forte OCI. Envisagez d'utiliser le service de chambre forte OCI pour stocker les clés d'API et le jeton d'authentification utilisés pour l'autorisation avec les services OCI

  • Disponibilité

    Oracle assure la haute disponibilité des services Fonctions OCI, Autonomous Data Warehouse et autres, qui sont natifs et entièrement gérés dans le nuage. Pour les charges de travail déployées dans un seul domaine de disponibilité, vous pouvez assurer la résilience en répartissant les ressources entre les domaines d'erreur, comme illustré dans cette architecture. Si vous prévoyez de déployer votre charge de travail dans une région comportant plusieurs domaines de disponibilité, vous pouvez répartir les ressources entre plusieurs domaines de disponibilité.

  • Extensibilité

    Vous pouvez dimensionner les serveurs d'applications verticalement en passant à la forme des instances de calcul et en les modifiant. Une forme avec un nombre de coeurs plus élevé offre plus de mémoire et de bande passante de réseau. Si vous avez besoin de plus de stockage, augmentez la taille des volumes par blocs attachés au serveur d'applications. Vous pouvez ajuster les bases de données verticalement en activant plus de coeurs pour le système de base de données Autonomous Data Warehouse. Vous pouvez ajouter des OCPU par multiples de deux pour un quart de bâti. Les bases de données restent disponibles lors d'une opération d'ajustement. Si votre charge de travail dépasse les unités centrales et le stockage disponibles, vous pouvez migrer vers un bâti plus grand.

Remerciements

  • Auteur : Lovelesh Saxena