Gadget Software: Distribuzione di AI Documentation Platform su Oracle Cloud
Gadget Software ha distribuito la piattaforma Software as a Service (SaaS) su Oracle Cloud Infrastructure per ridurre i costi e liberare il team di sviluppo di Gadget Software per concentrarsi sul proprio business principale.
Gadget Software è una piattaforma di virtualizzazione dei documenti basata sull'intelligenza artificiale che trasforma i documenti standard in applicazioni intuitive, facili da seguire e mobili che i clienti possono recuperare con codici QR e visualizzare su qualsiasi dispositivo.
La piattaforma software-as-a-service (SaaS) di Gadget utilizza ambienti multi-tenant, database, applicazioni Kubernetes e business-to-business (B2B). I loro clienti sono diverse altre aziende e utenti che caricano i loro documenti nella piattaforma basata sull'intelligenza artificiale di Gadget Software.
All'inizio della loro valutazione, Gadget Software si è reso conto che avevano bisogno delle seguenti caratteristiche:
- Funzionalità per abilitare la distribuzione di nuovi servizi e funzionalità
- Velocità e agilità per implementare nuovi ambienti di sviluppo, test e controllo qualità
- Riduzione del sovraccarico amministrativo (in particolare database)
- Alta disponibilità e ridimensionamento dinamico, in particolare per l'ambiente Kubernetes
Oracle Cloud Infrastructure ha risolto queste sfide con le seguenti risorse:
- Sviluppo rapido di nuove risorse e strumenti
- Vasta gamma di funzioni e strumenti, come Kubernetes, load balancer, sicurezza e gestione delle identità
- Ridimensionamento e gestione semplificate di Oracle Cloud Infrastructure Container Engine for Kubernetes, numero minimo di processi e alta disponibilità
- Più offerte di database su virtual machine (VM), bare metal, Oracle Database Exadata Cloud Service completamente gestito e Oracle MySQL Database Service
- Strumenti per gestire e monitorare gli ambienti di produzione
- Molte aree, domini di disponibilità e domini di errore (all'interno del dominio di disponibilità) per l'alta disponibilità e il recupero da errori irreversibili
Queste funzioni e strumenti hanno consentito a Gadget Software di ridurre notevolmente i costi operativi e di capitale e hanno consentito al proprio team di sviluppo di concentrarsi sul proprio business principale. Invece di scrivere script di gestione per il database relazionale, il team utilizza la suite di strumenti fornita da Oracle Cloud Infrastructure. L'ambiente di sviluppo di Gadget Software viene distribuito in due posizioni all'interno di Oracle Cloud Infrastructure. La loro esperienza di lavoro è stata straordinaria con il team Oracle che ha dedicato grande attenzione a ogni requisito e dettaglio nell'implementazione ed è stata affrontata qualsiasi sfida di progettazione.
Architettura
Gadget Software utilizza Oracle Cloud Infrastructure per distribuire il proprio algoritmo per la creazione di cluster (ACE), il componente di gestione dei documenti e il livello di dati.
I nodi ACE utilizzano una raccolta di strumenti e componenti software per analizzare i documenti, raccogliere informazioni sui documenti stessi, esaminare componenti diversi dei documenti e formattare e trasformare i documenti per la presentazione su dispositivi a schermo ridotto e per gli utenti industriali. Questa trasformazione produce una ricca esperienza oltre un semplice documento cartaceo.
I nodi ACE sono uno strumento basato su Python con significativa analisi dei dati, logica di intelligenza artificiale (AI) e machine learning (ML). Il nodo cluster ACE è una virtual machine su cui sono in esecuzione più contenitori. Alcune delle funzioni eseguite da questi contenitori sono:
- Deposito documenti
- Sistema elettronico di gestione dei documenti (EDMS)
Gadget Software distribuisce il cluster ACE in un ambiente di database primario. I dati del documento vengono memorizzati in un database resiliente e ridondante nel backend. Il motore di base ospita inoltre un ambiente desktop e, utilizzando Oracle Cloud Infrastructure Container Engine for Kubernetes, può essere scalabile facilmente man mano che vengono introdotti nuovi clienti. Possono creare repository per nuovi clienti, espandere i repository per i clienti esistenti e creare nuovi ambienti di database completamente isolati o condivisi per i clienti.
Il diagramma riportato di seguito illustra questa architettura di riferimento.
gadget-ace-production-oracle.zip
Grazie al loro successo con Oracle Cloud Infrastructure, Gadget Software sta pianificando di eseguire la migrazione dei contenuti di base e del motore di base. Inoltre, Gadget Software prevede di distribuire una nuova applicazione Core Services che ridimensionerà e distribuirà servizi aggiuntivi di Oracle Cloud Infrastructure:
- Load balancer
- Gateway API
- Memoria file system
- Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE)
- Oracle MySQL Database Service in modalità High Availability
Il diagramma riportato di seguito illustra i seguenti piani futuri:
L'architettura prevede i componenti elencati di seguito.
- Area
Un'area Oracle Cloud Infrastructure è un'area geografica localizzata contenente uno o più data center, denominati domini di disponibilità. Le regioni sono indipendenti da altre regioni e le grandi distanze possono separarle (tra paesi o addirittura continenti).
Tutte le risorse di questa architettura vengono distribuite in un'unica area.
- Domini di disponibilità
I domini di disponibilità sono data center indipendenti e standalone all'interno di un'area geografica. Le risorse fisiche presenti in ciascun dominio di disponibilità sono isolate dalle risorse presenti negli altri domini di disponibilità, il che garantisce la tolleranza agli errori. I domini di disponibilità non condividono l'infrastruttura, ad esempio l'alimentazione o il raffreddamento, né la rete interna del dominio di disponibilità. Pertanto, è improbabile che un errore di un dominio di disponibilità influisca sugli altri domini di disponibilità nell'area.
Tutte le risorse di questa architettura vengono distribuite in un singolo dominio di disponibilità.
- Dominio di errore
Un dominio di errore è 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 applicazioni possono tollerare errori del server fisico, 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 impostata dall'utente in un'area Oracle Cloud Infrastructure. Come le reti di data center tradizionali, le VCN offrono il controllo completo sull'ambiente di rete. Una VCN può avere più blocchi CIDR non sovrapposti che è possibile modificare dopo aver creato la VCN. È possibile segmentare una VCN in subnet, che può essere definita in un'area o in un dominio di disponibilità. Ogni subnet è costituita da un intervallo contiguo di indirizzi che non si sovrappongono con le altre subnet nella VCN. Puoi modificare la dimensione di una subnet dopo la creazione. Una subnet può essere pubblica o privata.
- Liste 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 NAT (Network Address Translation)
Un gateway NAT consente alle risorse private in una VCN di accedere agli host su Internet, senza esporre tali risorse alle connessioni Internet in entrata.
- Gateway Internet
Il gateway Internet consente il traffico tra le subnet pubbliche in una VCN e la rete Internet pubblica.
- Gateway API
Il servizio Oracle API Gateway consente di pubblicare le API con endpoint privati accessibili dalla rete e che, se necessario, possono essere esposte alla rete Internet pubblica. Gli endpoint supportano la convalida dell'API, la trasformazione di richieste e risposte, CORS, l'autenticazione e l'autorizzazione e la limitazione delle richieste.
- Load balancer
Il servizio Oracle Cloud Infrastructure Load Balancing fornisce la distribuzione automatica del traffico da un singolo punto di accesso a più server nel back-end.
Questa architettura include un load balancer pubblico.
- Storage degli oggetti
Lo storage degli oggetti consente un accesso rapido a grandi quantità di dati strutturati e non strutturati di qualsiasi tipo di contenuto, inclusi backup del database, dati analitici e contenuti avanzati quali immagini e video. Puoi memorizzare e quindi recuperare i dati direttamente da Internet o dall'interno della piattaforma cloud. È possibile scalare perfettamente lo storage senza compromettere le prestazioni o l'affidabilità dei servizi. Utilizzare lo storage standard per lo storage "hot" necessario per accedere rapidamente, immediatamente e di frequente. Utilizzare lo storage di archivio per lo storage "freddo" che si conserva per lunghi periodi di tempo e raramente o raramente si accede.
- Storage file
Il servizio Storage di file Oracle Cloud Infrastructure fornisce un file system di rete di livello Enterprise duraturo, scalabile, sicuro e sicuro. Puoi connetterti a un file system del servizio di storage di file da qualsiasi istanza Bare Metal, virtual machine o container all'interno di una rete VCN. Inoltre, puoi accedere a un file system dall'esterno della VCN utilizzando Oracle Cloud Infrastructure FastConnect e una VPN IPSec.
- Volume a blocchi
Grazie ai volumi di storage a blocchi, puoi creare, collegare, connettere e spostare i volumi di storage e modificare le prestazioni dei volumi per soddisfare i requisiti di storage, prestazioni e applicazioni. Dopo aver collegato un volume a un'istanza, è possibile utilizzare il volume come un normale disco rigido. Puoi anche disconnettere un volume e collegarlo a un'altra istanza senza perdere i dati.
- Container Engine for Kubernetes
Oracle Cloud Infrastructure Container Engine for Kubernetes è un servizio completamente gestito, scalabile e ad alta disponibilità che puoi utilizzare per distribuire le tue applicazioni containerizzate nel cloud. Puoi specificare le risorse di computazione richieste dalle tue applicazioni e il provisioning di Container Engine for Kubernetes su Oracle Cloud Infrastructure in una tenancy esistente. Container Engine for Kubernetes utilizza Kubernetes per automatizzare la distribuzione, la scalabilità e la gestione delle applicazioni containerizzate in cluster di host.
- Oracle MySQL Database Service
Oracle MySQL Database Service è un servizio di database Oracle Cloud Infrastructure (OCI) completamente gestito che consente agli sviluppatori di sviluppare e distribuire rapidamente applicazioni cloud native sicure. Ottimizzato ed esclusivamente disponibile in OCI, Oracle MySQL Database Service è progettato, gestito e supportato dai team di progettazione OCI e MySQL al 100%.
Oracle MySQL Database Service dispone di un motore integrato di analisi dei dati ad alte prestazioni (HeatWave) per eseguire sofisticate analisi in tempo reale direttamente su un database MySQL operativo.