Monitora i dispositivi in tempo reale in base alle azioni IoT utilizzando OCI Generative AI e Oracle E-Business Suite

Nel mondo di oggi, per ogni applicazione, abbiamo molti dispositivi e datapoint collegati a un server centrale per l'elaborazione dei dati. Questi datapoint emettono continuamente metriche e, se monitorati e calcolati, possiamo ottenere alcuni insight molto utili dai dati. Questi insight possono quindi essere utilizzati per fare previsioni come quando un dispositivo potrebbe bloccarsi e alla fine possono essere integrati con un sistema come Oracle E-Business Suite per inserire un ordine per sostituire il dispositivo guasto in movimento.

L'architettura che proponiamo - per la sanità, prenderà gli input dagli eventi in arrivo emessi dai dispositivi. Questi eventi avranno i dati sullo stato del dispositivo, ad esempio, i dati emessi da un monitoraggio dell'ossigeno in esecuzione in un ospedale avranno i dati relativi all'età, al sistema operativo, alle patch di sicurezza applicate, alle informazioni storiche e attuali sull'utilizzo della memoria e dello storage e sul carico che sta servendo.

Puliremo e poi passeremo questi dati al nostro modello ML in esecuzione nel servizio Oracle Cloud Infrastructure Data Science e poi calcoleremo la probabilità che ci dirà le probabilità che questo dispositivo smetta di funzionare e entro quando. Aggregheremo tutti questi dati e, in base ai requisiti, invieremo a Oracle Autonomous Data Warehouse per ulteriori report. Inoltre, possiamo integrare ulteriormente i dati con Oracle E-Business Suite in modo che possano inserire automaticamente un ordine non appena soddisfa i criteri specificati per l'errore del dispositivo.

Architettura

Questa architettura di riferimento dimostra come utilizzare le funzionalità cloud inOracle Cloud Infrastructure (OCI) per creare una soluzione di monitoraggio dei dispositivi ospitata su OCI.

In questa architettura, abbiamo mostrato come questa soluzione di monitoraggio dei dispositivi verrà ospitata su OCI e come gli utenti amministratori accederanno alla soluzione sia per scopi aziendali che amministrativi o operativi.

Il diagramma riportato di seguito illustra questo flusso di dati dell'architettura di riferimento.



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

Non appena i dati vengono generati sul dispositivo, l'applicazione client in esecuzione sul dispositivo accederà al flusso OCI su un endpoint esposto tramite il gateway API. Questi endpoint verranno protetti da un servizio di sicurezza Web di fascia alta, WAF, che sta per Web Application Firewall. Questo servizio assicurerà che la sicurezza frontend sia applicabile per impostazione predefinita all'applicazione. Lo stesso endpoint di streaming viene connesso da un hub connettore servizio, che continuerà a monitorare il flusso e non appena vengono prodotti nuovi dati dal dispositivo, utilizzerà i dati e attiverà le funzioni OCI per un'ulteriore elaborazione dei dati.

Le funzioni OCI acquisiranno i dati utilizzati e avvieranno l'elaborazione dei dati. Ci saranno scenari in cui più record verranno consumati in una singola chiamata di consumo a seconda del traffico di input e la funzione sarà in grado di occuparsi di tutti i record separatamente. Per ogni record, la funzione eseguirà i task riportati di seguito.

  1. Pulire i dati del record e raccogliere i parametri richiesti.
  2. Creare una chiamata di richiesta API per il modello ML ospitato in un endpoint. L'input per questa richiesta saranno i parametri richiesti per il modello per effettuare una previsione degli errori del dispositivo. La risposta di questa richiesta sarà la previsione del guasto del dispositivo (che va da 0,00 a 10,00, dove 0,00 significa meno probabilità di guasto del dispositivo, e 10,00 significa la maggior parte delle probabilità di guasto del dispositivo).
  3. Una volta ottenuta la previsione, la funzione la aggiungerà al record di input e la invierà a Autonomous Data Warehouse per il reporting futuro e il riapprendimento continuo del modello ML.
  4. In base al valore di previsione, Funzioni OCI attiverà il task successivo. Se la previsione è per non errore, la funzione uscirà dall'esecuzione per quel record poiché non c'è altro da fare. Se la previsione è per un errore, la funzione eseguirà i seguenti task secondari:
    1. Accedi alla tabella di riferimento di Autonomous Data Warehouse per tutti i dettagli relativi al nuovo ordine, ad esempio dettagli su autore sottomissione e approvatore, dati relativi al dispositivo e a tutte le altre parti coinvolte.
    2. Utilizzare AI generativa OCI per generare il riepilogo dei dettagli dell'ordine.
    3. Invia i dettagli dell'ordine a Oracle E-Business Suite o a qualsiasi altro software ERP e CRM.
    4. Utilizzare OCI Generative AI per redigere un messaggio e-mail per il riepilogo delle parti coinvolte.
    5. Inviare la notifica alle parti coinvolte corrispondenti per informare sull'inserimento dell'ordine.
  5. Una volta completato questo flusso, la funzione contrassegnerà il record come elaborato e passerà al record successivo.

La soluzione consiste in un modello ML di autoapprendimento che continuerà ad aggiornarsi con i nuovi dati in arrivo su Autonomous Data Warehouse. Tutti e tre i livelli dell'applicazione sono ospitati in subnet diverse per assicurarsi di aver aperto le porte di sicurezza corrette come richiesto dall'applicazione. I dati memorizzati nei database vengono estratti da un'altra subnet per garantire una sicurezza adeguata.

Il diagramma dell'architettura illustra inoltre un altro flusso di accesso utente per gli utenti amministratori. Questi sono gli utenti responsabili del funzionamento dell'applicazione di monitoraggio dei dispositivi su OCI. Accederanno alle risorse dell'applicazione tramite SSH tramite VPN da sito a sito o FastConnect. Ciò creerà un tunnel sicuro che connetterà il dispositivo CPE nel data center del cliente con il DRG su OCI. Utilizzando questo percorso, gli amministratori accederanno alle risorse dell'applicazione su OCI dai computer del data center. Questo accesso è necessario per assicurarsi che tutti i processi operativi come l'applicazione di patch, l'aggiornamento delle applicazioni, gli aggiornamenti della sicurezza del sistema operativo e altre attività vengano eseguiti in modo sicuro e puntuale.

In questa architettura, possiamo anche aggiungere i concetti di alta disponibilità e disaster recovery implementati su OCI. High Availability significa che l'applicazione viene distribuita in più domini di disponibilità nella stessa area. Ciò garantirà che l'applicazione sia sempre disponibile anche nel caso in cui uno dei domini di disponibilità sia inattivo a causa di un problema come incendio o elettricità. Disaster recovery significa che l'applicazione viene distribuita anche in più region OCI. Questo farà in modo che l'applicazione sia sempre disponibile anche nel caso in cui una delle regioni vada giù a causa di qualche problema come tsunami, ciclone o terremoto. Oltre a questi, dovresti anche inserire risorse in più domini di errore per assicurarti che l'architettura sia al sicuro da qualsiasi guasto a livello di rack all'interno del data center Oracle. Questi sono argomenti estremamente importanti da considerare poiché queste applicazioni dovrebbero essere eseguite continuamente per lunghi periodi senza tempi di inattività.

Sulla stessa architettura, possiamo anche vedere di aver creato la distribuzione utilizzando il servizio OCI DevOps, che garantirà la distribuzione di tutti i componenti in modo agile. Tutti i componenti vengono distribuiti utilizzando Terraform e gestiti tramite Ansible. Questo mostra come sfruttare l'automazione su OCI e seguire l'approccio Infrastructure-as-a-Code (IaaC) per rendere l'applicazione mainframe più agile e facile da gestire.

L'architettura presenta i seguenti componenti:

  • Tenancy

    Una tenancy è una partizione sicura e isolata che Oracle imposta all'interno di Oracle Cloud quando ti iscrivi a Oracle Cloud Infrastructure. Puoi creare, organizzare e amministrare le risorse in Oracle Cloud all'interno della tua tenancy. Una tenancy è sinonimo di azienda o organizzazione. Di solito, un'azienda avrà una singola tenancy e rifletterà la sua struttura organizzativa all'interno di quella tenancy. Una singola tenancy viene in genere associata a una singola sottoscrizione e una singola sottoscrizione in genere ha una sola tenancy.

  • Area

    Un'area geografica Oracle Cloud Infrastructure è un'area geografica localizzata che contiene uno o più data center, denominati domini di disponibilità. Le regioni sono indipendenti da altre regioni e grandi distanze possono separarle (tra paesi o addirittura continenti).

  • Compartimento

    I compartimenti sono partizioni logiche tra più aree all'interno di una tenancy Oracle Cloud Infrastructure. Usare i compartimenti per organizzare le risorse in Oracle Cloud, controllare l'accesso alle risorse e impostare le quote d'uso. Per controllare l'accesso alle risorse in un determinato compartimento, definire criteri che specificano chi può accedere alle risorse e quali azioni possono eseguire.

  • Domini di disponibilità

    I domini di disponibilità sono data center standalone e indipendenti all'interno di un'area geografica. Le risorse fisiche in ciascun dominio di disponibilità sono isolate dalle risorse negli altri domini di disponibilità, il che fornisce tolleranza agli errori. I domini di disponibilità non condividono l'infrastruttura, ad esempio l'alimentazione o il raffreddamento, o la rete interna del dominio di disponibilità. Pertanto, un errore in un dominio di disponibilità non dovrebbe influire sugli altri domini di disponibilità nell'area.

  • Domini di errore

    Un dominio di errore consiste in un raggruppamento di hardware e infrastruttura all'interno di un dominio di disponibilità. Ogni dominio di disponibilità dispone di tre domini di errore con alimentazione e hardware indipendenti. Quando distribuisci le risorse su più domini di errore, le tue applicazioni possono tollerare errori fisici del server, manutenzione del sistema e errori di alimentazione all'interno di un dominio di errore.

  • Rete cloud virtuale (VCN) e subnet

    Una VCN è una rete personalizzabile e definita dal software configurata in un'area Oracle Cloud Infrastructure. Come le tradizionali reti di data center, le reti VCN consentono di controllare l'ambiente di rete. Una VCN può avere più blocchi CIDR non sovrapposti che è possibile modificare dopo aver creato la VCN. Puoi segmentare una VCN in subnet, che possono essere definite in un'area o in un dominio di disponibilità. Ogni subnet è costituita da un intervallo contiguo di indirizzi che non si sovrappongono alle altre subnet nella VCN. È possibile modificare le dimensioni di una subnet dopo la creazione. Una subnet può essere pubblica o privata.

  • FastConnect

    Oracle Cloud Infrastructure FastConnect consente di creare facilmente una connessione dedicata e privata tra il data center e Oracle Cloud Infrastructure. FastConnect offre opzioni per una maggiore larghezza di banda e un'esperienza di rete più affidabile se confrontata con le connessioni basate su Internet.

  • IPSec VPN

    VPN Connect fornisce connettività IPSec VPN site-to-site tra la rete on premise e le reti VCN in Oracle Cloud Infrastructure. La suite di protocolli IPSec cifra il traffico IP prima del trasferimento dei pacchetti dall'origine alla destinazione e decifra il traffico all'arrivo.

  • Lista di sicurezza

    Per ogni subnet, puoi creare regole di sicurezza che specificano l'origine, la destinazione e il tipo di traffico che devono essere consentiti all'interno e all'esterno della subnet.

  • Gateway del servizio

    Il gateway di servizi fornisce l'accesso da una VCN ad altri servizi, come Oracle Cloud Infrastructure Object Storage. Il traffico dalla VCN al servizio Oracle viaggia sul fabric di rete Oracle e non attraversa Internet.

  • Sistemi di Autonomous Database

    Oracle Autonomous Database è un servizio completamente automatizzato che rende facile per tutte le organizzazioni sviluppare e distribuire carichi di lavoro delle applicazioni, indipendentemente dalla complessità, dalla scalabilità o dalla criticità. Il motore convergente del servizio supporta diversi tipi di dati, semplificando lo sviluppo e l'implementazione delle applicazioni dalla modellazione e dalla codifica all'ETL, l'ottimizzazione del database e l'analisi dei dati. Grazie all'ottimizzazione, al ridimensionamento e all'applicazione di patch basati sul machine learning, Autonomous Database offre le performance, la disponibilità e la sicurezza più elevate per i carichi di lavoro OLTP, di analytics, batch e Internet of Things (IoT). Creato su Oracle Database e Oracle Exadata, Autonomous Database è disponibile su Oracle Cloud Infrastructure (OCI) per distribuzioni serverless o dedicate e on-premise con Oracle Exadata Cloud@Customer e OCI Dedicated Region.

  • Streaming

    Oracle Cloud Infrastructure Streaming offre una soluzione di storage completamente gestita, scalabile e durevole che consente di includere flussi di dati continui e a elevato volume che è possibile utilizzare ed elaborare in tempo reale. Puoi utilizzare la funzionalità Streaming per l'inclusione di dati a elevato volume, quali i log dell'applicazione, la telemetria operativa, i dati di clic sul Web o per altri casi d'uso in cui i dati vengono prodotti ed elaborati in modo continuo e sequenziale in un modello di messaggistica di sottoscrizione/pubblicazione.

  • Connettori servizio

    Oracle Cloud Infrastructure Service Connector Hub è una piattaforma di bus di messaggi cloud che orchestra lo spostamento dei dati tra i servizi in OCI. È possibile utilizzare i connettori servizio per spostare i dati da un servizio di origine a un servizio di destinazione. I connettori servizio consentono inoltre di specificare facoltativamente un task (ad esempio una funzione) da eseguire sui dati prima che vengano consegnati al servizio di destinazione.

    È possibile utilizzare Oracle Cloud Infrastructure Service Connector Hub per creare rapidamente un framework di aggregazione dei log per i sistemi SIEM (Security Information and Event Management).

  • Data Science

    Oracle Cloud Infrastructure Data Science è una piattaforma completamente gestita e serverless che i team di data science possono utilizzare per creare, addestrare e gestire modelli di Machine Learning (ML) su Oracle Cloud Infrastructure (OCI). Può facilmente integrarsi con altri servizi OCI come Oracle Autonomous Data Warehouse, Oracle Cloud Infrastructure Object Storage e altro ancora. Puoi creare e valutare modelli di machine learning di alta qualità che aumentano la flessibilità aziendale mettendo rapidamente a disposizione dati affidabili e supportare obiettivi aziendali basati sui dati con una distribuzione più semplice dei modelli ML.

  • Funzioni

    Oracle Cloud Infrastructure Functions è una piattaforma completamente gestita, multi-tenant, altamente scalabile, on-demand e Functions-as-a-Service (FaaS). È alimentato dal motore open source Fn Project. Le funzioni consentono di distribuire il codice e di chiamarlo direttamente o di attivarlo in risposta agli eventi. Oracle Functions utilizza i container Docker ospitati in Oracle Cloud Infrastructure Registry.

  • Log
    Logging è un servizio altamente scalabile e completamente gestito che fornisce l'accesso ai seguenti tipi di log dalle risorse nel cloud:
    • Log di audit: log relativi agli eventi emessi dal servizio di audit.
    • Log del servizio: log emessi da singoli servizi, ad esempio gateway API, eventi, funzioni, bilanciamento del carico, storage degli oggetti e log di flusso VCN.
    • Log personalizzati: log che contengono informazioni di diagnostica di applicazioni personalizzate, altri provider cloud o di un ambiente on premise.

Suggerimenti

Utilizza i seguenti suggerimenti come punto di partenza per implementare questa architettura di riferimento utilizzando OCI Functions ed OCI Events. I tuoi requisiti potrebbero essere diversi dall'architettura descritta qui.
  • VCN

    Quando crei una VCN, determina il numero di blocchi CIDR necessari e la dimensione di ciascun blocco in base al numero di risorse che intendi collegare alle subnet nella VCN. Utilizza blocchi CIDR all'interno dello spazio di indirizzi IP privati standard.

    Selezionare i blocchi CIDR che non si sovrappongono ad altre reti (in Oracle Cloud Infrastructure, nel data center on premise o in un altro provider cloud) a cui si intende impostare connessioni private.

    Dopo aver creato una VCN, puoi modificare, aggiungere e rimuovere i relativi blocchi CIDR.

    Quando progetti le subnet, considera il flusso di traffico e i requisiti di sicurezza. Collega tutte le risorse all'interno di un livello o ruolo specifico alla stessa subnet, che può fungere da limite di sicurezza.

  • Progettazione applicazione

    Questa architettura di riferimento utilizza le funzioni OCI per tutta l'elaborazione. L'uso delle funzioni OCI, ad esempio il tempo massimo di esecuzione di 300 secondi, presenta alcune limitazioni. Se si intende utilizzare questa architettura per grandi quantità di dati del flusso di input, è possibile prendere in considerazione l'esecuzione dell'applicazione nelle istanze di computazione OCI. È possibile eseguire più canali di alimentazione e ciascun canale di alimentazione per consumare ed elaborare gli eventi di input separatamente e in parallelo.

  • Disaster recovery

    Un'istanza di disaster recovery in standby in una region OCI diversa è consigliata per le applicazioni aziendali. La strategia DR deve essere coerente tra i 3 livelli per soddisfare i requisiti SLA e durabilità dei dati. Il disaster recovery Oracle Exadata Database Service on Dedicated Infrastructure viene sincronizzato con la produzione utilizzando Oracle Data Guard. Oracle Exadata Database Service on Dedicated Infrastructure è una copia coerente a livello di transazione del database primario. Oracle Data Guard gestisce automaticamente la sincronizzazione tra i database trasmettendo e applicando i dati di redo dal database primario al database in standby. In caso di calamità nella region primaria, Oracle Data Guard esegue automaticamente il failover sul database di standby nella region secondaria. I load balancer front-end vengono distribuiti in modalità standby per i load balancer di rete o con alta disponibilità utilizzando il load balancer as a Service.

Considerazioni

Quando si implementa questa architettura di riferimento, è importante considerare i seguenti aspetti.

  • Prestazioni

    OCI Functions, Autonomous Data Warehouse e altri servizi importanti sono altamente scalabili. Valuta la possibilità di modificare il numero di risorse di computazione e storage in base alle dimensioni e ai requisiti dell'applicazione mainframe.

  • Sicurezza

    Utilizzare i criteri per limitare gli utenti che possono accedere alle risorse OCI. Per OCI Object Storage, la cifratura è abilitata per impostazione predefinita e non può essere disattivata. Tutti gli accessi alle funzioni distribuite nelle funzioni OCI vengono controllati tramite Oracle Cloud Infrastructure Identity and Access Management (OCI IAM), che consente di assegnare i privilegi di gestione delle funzioni e di richiamo delle funzioni a utenti e gruppi di utenti specifici. Si consiglia di memorizzare segreti e dati riservati in OCI Vault. Valutare la possibilità di utilizzare OCI Vault per memorizzare le chiavi API e il token di autenticazione utilizzati per l'autorizzazione con i servizi OCI.

  • Disponibilità

    Oracle garantisce l'alta disponibilità delle funzioni OCI, di Autonomous Data Warehouse e di altri servizi, cloud nativi e completamente gestiti. Per i carichi di lavoro distribuiti all'interno di un singolo dominio di disponibilità, puoi garantire la resilienza distribuendo le risorse nei domini di errore come mostrato in questa architettura. Se prevedi di distribuire il carico di lavoro in un'area che dispone di più domini di disponibilità, puoi distribuire le risorse tra più domini di disponibilità.

  • Scalabilità

    Puoi ridimensionare gli Application Server verticalmente passando e modificando la forma delle istanze di computazione. Una forma con un conteggio di memorie centrali più elevato fornisce maggiore memoria e larghezza di banda di rete. Se hai bisogno di più storage, aumenta le dimensioni dei volumi a blocchi collegati al server applicazioni. Puoi ridimensionare i database in verticale abilitando più memorie centrali per il sistema DB Autonomous Data Warehouse. È possibile aggiungere OCPU in multipli di due per un Quarter Rack. I database rimangono disponibili durante un'operazione di ridimensionamento. Se il carico di lavoro supera le CPU e lo storage disponibili, è possibile eseguire la migrazione a un rack più grande.

Riconoscimenti

  • Autore: Lovelesh Saxena