Surveillez les appareils en temps réel en fonction des actions IoT à l'aide d'OCI Generative AI et d'Oracle E-Business Suite

Dans le monde d'aujourd'hui, pour chaque application, nous avons de nombreux appareils et points de données qui sont connectés à un serveur central pour le traitement des données. Ces points de données émettent en permanence des mesures et, s'ils sont surveillés et calculés, nous pouvons obtenir des informations très utiles à partir des données. Ces informations peuvent ensuite être utilisées pour effectuer des prédictions telles que le moment où un appareil peut tomber en panne et éventuellement être intégrées à un système tel qu'Oracle E-Business Suite pour passer une commande afin de remplacer l'appareil défectueux en déplacement.

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 du dispositif, 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 sur l'â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 sert.

Nous allons nettoyer, puis transmettre ces données à notre modèle d'apprentissage automatique exécuté dans le service Oracle Cloud Infrastructure Data Science, puis calculer la probabilité qui nous indiquera les chances que cet appareil cesse de fonctionner et à quel moment. Nous agrégerons toutes ces données et, conformément aux exigences, nous les transmettrons à Oracle Autonomous Data Warehouse pour plus de reporting. Nous pouvons également intégrer davantage les données à Oracle E-Business Suite afin qu'il puisse passer une commande automatiquement dès qu'elle répond aux critères spécifiés pour la défaillance de l'appareil.

Architecture

Cette architecture de référence explique comment utiliser les fonctionnalités cloud d'Oracle Cloud Infrastructure (OCI) pour créer une solution de surveillance des appareils hébergée sur OCI.

Dans cette architecture, nous avons montré comment cette solution de surveillance des appareils sera hébergée sur OCI et comment les administrateurs y accéderont à des fins commerciales et 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 exécutée sur l'appareil accède à OCI Streaming sur une adresse exposée via API Gateway. Ces adresses seront protégées par un service de sécurité Web haut de gamme, WAF, qui signifie Web Application Firewall. Ce service s'assurera que la sécurité front-end est par défaut applicable à l'application. La même adresse de transmission en continu est connectée à partir d'une instance Service Connector Hub, qui continue de surveiller le flux. Dès qu'une nouvelle donnée est produite par le dispositif, elle utilise les données et déclenche des fonctions OCI pour un traitement ultérieur des données.

OCI Functions prend les données consommées et démarre le traitement des données. Il y aura des scénarios où plusieurs enregistrements seront consommés en un seul appel de consommation en fonction du trafic d'entrée, et la fonction sera capable de prendre en charge tous les enregistrements séparément. Pour chaque enregistrement, la fonction effectue les tâches suivantes :

  1. Nettoyez les données de l'enregistrement et collectez-y les paramètres requis.
  2. Créez un appel de demande d'API pour le modèle d'apprentissage automatique hébergé sur une adresse. L'entrée pour cette demande sera les paramètres requis pour que le modèle effectue une prédiction de défaillance de périphérique. La réponse à cette demande sera la prédiction de défaillance du périphérique (allant de 0,00 à 10,00, où 0,00 signifie moins de chances de défaillance du périphérique et 10,00 signifie plus de chances de défaillance du périphérique).
  3. Une fois la prédiction obtenue, la fonction l'ajoute à l'enregistrement d'entrée et la transmet à Autonomous Data Warehouse à des fins de reporting futur et de réapprentissage continu du modèle d'apprentissage automatique.
  4. En fonction de la valeur de prédiction, les fonctions OCI déclencheront la tâche suivante. Si la prédiction concerne la 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écute les sous-tâches suivantes :
    1. Accédez à la table de référence Autonomous Data Warehouse pour obtenir 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 relatives à l'appareil et toutes les autres parties prenantes.
    2. Utilisez OCI Generative AI pour générer le récapitulatif des détails de commande.
    3. Soumettez les détails de la commande à Oracle E-Business Suite ou à tout autre logiciel ERP ou CRM.
    4. Utilisez OCI Generative AI pour rédiger un courriel pour le récapitulatif des parties prenantes.
    5. Envoyer la notification aux parties prenantes correspondantes pour les informer de la passation de commande.
  5. Une fois ce flux terminé, la fonction marque l'enregistrement comme traité et passe à l'enregistrement suivant.

La solution consiste en un modèle de machine learning auto-apprenant, qui continuera à se mettre à jour avec les nouvelles données arrivées sur Autonomous Data Warehouse. Les trois niveaux de l'application sont hébergés dans différents sous-réseaux pour nous assurer que nous avons ouvert les ports de sécurité appropriés, comme requis par l'application. Les données stockées dans les bases de données sont extraites d'un autre sous-réseau pour assurer 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 périphériques sur OCI. Ils accèdent aux ressources d'application à l'aide de SSH via le VPN site à site ou FastConnect. Cela créera un tunnel sécurisé qui connectera l'appareil CPE du centre de données client au DRG sur OCI. A 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ération telles que l'application de patches, 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 dans les

Dans cette architecture, nous pouvons également ajouter les concepts de haute disponibilité et de récupération après sinistre implémentés sur OCI. La haute disponibilité signifie que l'application est déployée dans plusieurs domaines de disponibilité dans la même région. L'application sera ainsi toujours disponible même en cas de panne de l'un des domaines de disponibilité 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 permettra de s'assurer 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 comme le tsunami, le cyclone ou le tremblement de terre. Vous devez également placer les ressources dans plusieurs domaines de pannes pour vous assurer que l'architecture est également à l'abri de toute panne au niveau du rack dans le centre de données Oracle. Ce sont des sujets extrêmement importants à prendre en compte car ces applications sont censées s'exécuter 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 s'assurera 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 via Ansible. Cela montre comment tirer parti de l'automatisation sur OCI et suivre l'approche Infrastructure-as-a-Code (IaaC) pour rendre l'application mainframe plus agile et facile à gérer.

L'architecture comporte les composants suivants :

  • Tenancy

    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 administrer vos ressources dans Oracle Cloud au sein de votre location. Une location est synonyme d'une entreprise ou d'une organisation. Habituellement, une entreprise a une location unique et reflète sa structure organisationnelle au sein de cette location. Une location unique est généralement associée à un seul abonnement, et un seul abonnement n'a généralement qu'une location.

  • Région

    Une région Oracle Cloud Infrastructure est une zone géographique précise 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 des pays voire des continents).

  • Compartiment

    Les compartiments sont des partitions logiques inter-région au sein d'une location Oracle Cloud Infrastructure. Utilisez des compartiments pour organiser les ressources dans Oracle Cloud, en contrôler l'accès et définir des quotas d'utilisation. Pour contrôler l'accès aux ressources d'un compartiment donné, vous définissez des stratégies qui indiquent qui peut accéder aux ressources et les actions réalisables.

  • Domaines de disponibilité

    Les domaines de disponibilité sont des centres de données autonomes indépendants au sein d'une région. Les ressources physiques de chaque domaine de disponibilité sont isolées de celles des autres, ce qui garantit la tolérance aux pannes. Les domaines de disponibilité ne partagent ni infrastructure (par exemple, alimentation, système de refroidissement), ni réseau de domaine de disponibilité interne. Par conséquent, une panne sur un domaine de disponibilité ne doit pas affecter les autres domaines de disponibilité de la région.

  • Domaines de pannes

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

  • Réseau cloud virtuel (VCN) et sous-réseaux

    Un VCN est un réseau personnalisable défini par logiciel que vous configurez dans une région Oracle Cloud Infrastructure. Comme les réseaux de centre de données traditionnels, les réseaux cloud virtuels vous donnent le contrôle de l'environnement réseau. Un réseau cloud virtuel peut comporter plusieurs blocs CIDR qui ne se chevauchent pas et que vous pouvez modifier après l'avoir créé. Vous pouvez segmenter un réseau cloud virtuel en plusieurs sous-réseaux ciblant une région ou un domaine de disponibilité. Chaque sous-réseau est composé d'une plage contiguë d'adresses qui ne chevauchent pas celles des autres sous-réseaux du réseau cloud 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 le centre de données et Oracle Cloud Infrastructure. FastConnect offre des options de bande passante plus élevée et une expérience réseau plus fiable par rapport aux connexions Internet.

  • IPSec VPN

    VPN Connect fournit une connectivité VPN IPSec site à site entre votre réseau sur site et vos réseaux cloud virtuels dans Oracle Cloud Infrastructure. La suite de protocoles IPSec permet de crypter le trafic IP avant le transfert des paquets de la source vers la destination, et de le décrypter lorsqu'il arrive.

  • Liste de sécurité

    Pour chaque sous-réseau, vous pouvez créer des règles de sécurité indiquant 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 un accès à partir d'un VCN à d'autres services, tels qu'Oracle Cloud Infrastructure Object Storage. Le trafic du VCN vers le service Oracle transite par la structure réseau Oracle et ne traverse pas Internet.

  • Systèmes de base de données autonomes

    Oracle Autonomous Database est un service entièrement automatisé qui permet à toutes les entreprises de développer et de déployer facilement des workloads d'applications, quelle que soit leur complexité, leur évolutivité ou leur 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'ETL, l'optimisation de la base de données et l'analyse des données. Grâce au réglage, à la mise à l'échelle et à l'application de correctifs automatisés basés sur le machine learning, Autonomous Database offre les performances, la disponibilité et la sécurité les plus élevées pour les workloads OLTP, analytiques, par lots et Internet of Things (IoT). Basé sur Oracle Database et Oracle Exadata, Autonomous Database est disponible sur Oracle Cloud Infrastructure (OCI) pour les déploiements sans serveur ou dédiés, ainsi que sur site avec Oracle Exadata Cloud@Customer et OCI Dedicated Region.

  • Transmission en continu

    Oracle Cloud Infrastructure Streaming offre une solution de stockage évolutive et durable entièrement gérée qui permet d'inclure des flux de données volumineux continus que vous pouvez utiliser et traiter en temps réel. Vous pouvez utiliser Streaming pour l'inclusion de grands volumes de données telles que celles des journaux d'application, de la télémétrie opérationnelle et des flux de clics sur le Web. Vous pouvez également pour d'autres cas d'emploi dans lesquels des données sont générées et traitées de manière continue et séquentielle selon un modèle d'échange de messages de type publication-abonnement.

  • Connecteurs de service

    Oracle Cloud Infrastructure Service Connector Hub est une plate-forme cloud de bus de messages qui orchestre les déplacements de données entre des services 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 d'indiquer éventuellement une tâche (telle qu'une fonction) à effectuer sur les données avant leur transmission au service cible.

    Vous pouvez utiliser Oracle Cloud Infrastructure Service Connector Hub afin de créer rapidement une structure d'agrégation de journalisation pour les systèmes de gestion des informations et des événements de sécurité (SIEM).

  • Data Science

    Oracle Cloud Infrastructure Data Science est une plate-forme sans serveur entièrement gérée que les équipes de science des données peuvent utiliser pour créer, former 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, etc. Vous pouvez créer et évaluer des modèles de machine learning de haute qualité qui augmentent la flexibilité de l'entreprise en mettant rapidement en œuvre des données fiables pour l'entreprise, et vous pouvez prendre en charge les objectifs commerciaux axés sur les données avec un déploiement plus facile des modèles de machine learning.

  • Functions

    Oracle Cloud Infrastructure Functions est une plate-forme Functions-as-a-Service (FaaS) entièrement gérée, colocative, hautement évolutive et à la demande. Il est alimenté par le moteur open source du projet Fn. 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.

  • Logging
    Logging est un service hautement évolutif et complet qui permet d'accéder aux types de journal suivants à partir des ressources du cloud.
    • Journaux d'audit : journaux liés aux événements émis par le service Audit.
    • Journaux de service : journaux émis par des services individuels tels que API Gateway, Events, Functions, Load Balancing, Object Storage et les journaux de flux VCN.
    • Journaux personnalisés : journaux contenant des informations de diagnostic issues d'applications personnalisées, d'autres fournisseurs de cloud ou d'un environnement sur site.

Recommandations

Utilisez les recommandations suivantes comme point de départ pour implémenter cette architecture de référence à l'aide d'OCI Functions et d'OCI Events. 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'adressage IP privé standard.

    Sélectionnez des blocs CIDR qui ne chevauchent aucun autre réseau (dans Oracle Cloud Infrastructure, votre centre de données sur site ou un autre fournisseur cloud) vers lequel vous souhaitez 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 les fonctions OCI pour tous les traitements. L'utilisation des 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 des instances OCI Compute. Vous pouvez exécuter plusieurs coureurs, et chaque coureur 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 récupération après sinistre doit être cohérente sur les 3 niveaux pour répondre aux exigences de contrat de niveau de service et de durabilité des données. La récupération après sinistre Oracle Exadata Database Service on Dedicated Infrastructure est synchronisée avec la production à l'aide d'Oracle Data Guard. La base de données de secours Oracle Exadata Database Service on Dedicated Infrastructure est une copie cohérente sur le plan transactionnel de la base de données principale. Oracle Data Guard met automatiquement à jour la synchronisation entre les bases de données en transmettant les données redo de la base de données principale à la base de données de secours et en l'appliquant. En cas de sinistre dans la région principale, Oracle Data Guard bascule automatiquement vers la base de données de secours dans la région secondaire. Les équilibreurs de charge frontaux sont déployés en mode veille pour les équilibreurs de charge réseau ou avec une haute disponibilité à l'aide de Load Balancer as a Service.

Points à prendre en compte

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

  • Performances

    OCI Functions, 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 besoins de votre application mainframe.

  • Sécurité

    Utilisez des stratégies pour restreindre les personnes pouvant accéder aux ressources OCI. Pour OCI Object Storage, le cryptage est activé par défaut et ne peut pas être désactivé. Tous les accès aux fonctions déployées dans OCI Functions sont contrôlés via 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 confidentielles dans OCI Vault. Envisagez d'utiliser OCI Vault 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 OCI Functions, Autonomous Data Warehouse et autres, qui sont natifs du cloud et entièrement gérés. Pour les charges globales déployées dans un seul domaine de disponibilité, vous pouvez assurer la résilience en répartissant les ressources entre les domaines de pannes, comme indiqué dans cette architecture. Si vous prévoyez de déployer votre charge globale dans une région comportant plusieurs domaines de disponibilité, vous pouvez répartir les ressources entre plusieurs domaines de disponibilité.

  • Evolutivité

    Vous pouvez redimensionner les serveurs d'applications verticalement en basculant vers et en modifiant la forme des instances de calcul. Une forme avec un nombre de coeurs plus élevé fournit plus de mémoire et de bande passante réseau. Si vous avez besoin de plus de stockage, augmentez la taille des volumes de blocs attachés au serveur d'applications. Vous pouvez redimensionner les bases de données verticalement en activant davantage 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 rack. Les bases de données restent disponibles lors d'une opération de redimensionnement. Si votre charge de travail dépasse les CPU et le stockage disponibles, vous pouvez migrer vers un rack plus grand.

Remerciements

  • Auteur : Lovelesh Saxena