Abilita l'analisi delle telecamere AI accelerata dalla GPU su OCI
L'architettura accetta eventi smart-camera, tradizionali flussi di telecamere IP RTSP, eventi mobili o edge-device, immagini caricate e brevi clip video. Separa la gestione del flusso a uso intensivo di CPU dall'inferenza GPU, utilizza Oracle Cloud Infrastructure Queue come buffer di lavoro durevole e applica decisioni basate su criteri prima di fornire avvisi ai sistemi operativi.
La soluzione va oltre il semplice rilevamento degli oggetti. Valuta se un evento visivo è previsto, sospetto, urgente o pertinente a livello operativo utilizzando contesti quali ruolo, zona, ora, fiducia, criteri tenant, proprietà del dispositivo e pattern di eventi cronologici. I frame selezionati, i metadati di rilevamento, i risultati delle regole e lo stato di consegna a valle vengono conservati per l'audit e la ripetizione.
- I carichi di lavoro di fotocamere, immagini o clip sono pieni
- Costo e utilizzo della GPU richiedono un controllo deliberato
- Il solo rilevamento raw è insufficiente
- I clienti richiedono tracciabilità, replica, controlli multi-tenant o integrazione con i sistemi operativi esistenti
Operazioni preliminari
L'architettura di riferimento è modulare. È possibile adottare qualsiasi blocco di ingestione, inferenza, decisione o operazioni richiesto.
- Definisci le fonti video e la topologia, tra cui fotocamera AI intelligente, fotocamera IP tradizionale, dispositivo mobile o edge, supporti caricati o una combinazione. Per le telecamere IP tradizionali, pianificare una VPN, un tunnel TLS o un connettore della fotocamera in uscita al livello di elaborazione lato OCI.
- Conferma casi d'uso, classi di oggetti, latenza di destinazione, freschezza degli avvisi prevista, requisiti di conservazione, esigenze di revisione umana e obiettivi di integrazione a valle.
- Convalidare la capacità dell'area OCI, la disponibilità della forma GPU, le quote, i limiti del servizio e la larghezza di banda della rete prima di eseguire il commit sugli obiettivi a livello di servizio (SLO) di produzione.
- Selezionare e valutare i modelli di inferenza per il caso d'uso del cliente. L'architettura pubblicata utilizza il rilevamento in stile RT-DETR e la classificazione contestuale in stile CLIP come esempi. La valutazione e la selezione del modello rimangono specifiche del cliente.
- Stabilisci criteri di identità per tenant, sito, fotocamera, utente e dispositivo. Pianificare la registrazione del dispositivo, il rilascio e la rotazione dei certificati, il TLS (mTLS) reciproco, la gestione delle chiavi e la convalida del firmware firmato, ove supportato dall'hardware.
- Inizia con un'ipotesi di dimensionamento di base di circa 50 feed di fotocamere, flussi a 720p, campionati a 1-5 frame al secondo (FPS) per l'inferenza; ridimensiona in base ai requisiti di conteggio, risoluzione, FPS, modello e latenza della fotocamera.
Architettura
Nella tabella seguente sono elencati i livelli chiave dell'architettura, i servizi OCI utilizzati per implementarli e lo scopo di ciascun livello.
| Livello architettura | Servizi OCI | Scopo |
|---|---|---|
| Ingresso e acquisizione | OCI Load Balancer, OCI API Gateway, OCI Object Storage | Accetta flussi di telecamere, clip e batch di immagini recuperabili. |
| Elaborazione flusso | OCI Container Instances | Gestire sessioni RTSP, decodificare H.264/H.265, frame di esempio, buffer work e riconnettere sessioni. |
| Disaccoppiamento | Oracle Cloud Infrastructure Queue | Assorbi il traffico di esplosione e consenti ai consumatori di GPU di eseguire a un ritmo controllato. |
| Inferenza GPU | Pool di istanze GPU di OCI Compute | Esegui il rilevamento, la classificazione, l'elaborazione in batch e la correlazione temporale degli oggetti con i modelli selezionati dal cliente. |
| Decisione e operazioni | Funzioni OCI, Notifiche OCI, Hub connettore OCI, Storage degli oggetti OCI, Log OCI, Monitoraggio OCI, Vault OCI, Gestione delle identità e degli accessi OCI | Applica i criteri, notifica i sistemi a valle, conserva le prove, gestisci i segreti e monitora la piattaforma. |
Il diagramma seguente illustra questa architettura di riferimento (non tutti i servizi sono rappresentati).
container-stream-processing-architettura-oracle.zip#GUID-A16027C3-0928-49C9-BA9D-BD5C6052E1A0
Questa architettura include i seguenti componenti:
- OCI API Gateway
Oracle Cloud Infrastructure API Gateway ti consente di pubblicare API con endpoint privati accessibili dall'interno della tua rete e che puoi esporre alla rete Internet pubblica, se necessario. Gli endpoint supportano la convalida dell'API, la trasformazione di richieste e risposte, CORS, autenticazione e autorizzazione e limitazione delle richieste.
- Computazione OCI
Con Oracle Cloud Infrastructure Compute, puoi eseguire il provisioning e gestire gli host di computazione nel cloud. Puoi avviare istanze di computazione con forme che soddisfano i requisiti di risorse per CPU, memoria, larghezza di banda della rete e storage. Dopo aver creato un'istanza di computazione, puoi accedervi in modo sicuro, riavviarla, collegare e scollegare i volumi e interromperla quando non ne hai più bisogno.
- Hub connettore OCI
Oracle Cloud Infrastructure Connector Hub è una piattaforma di bus dei messaggi che orchestra lo spostamento dei dati tra i servizi su OCI. È possibile utilizzare i connettori per spostare i dati da un servizio di origine a un servizio di destinazione. I connettori 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 OCI Connector Hub per creare rapidamente una struttura di aggregazione dei log per le informazioni di sicurezza e i sistemi di gestione eventi (SIEM).
- Funzioni OCI
Oracle Cloud Infrastructure Functions è una piattaforma completamente gestita, multi-tenant, altamente scalabile, on-demand, Functions-as-a-Service (FaaS). È alimentato dal motore open source di Fn Project. Le funzioni OCI consentono di distribuire il codice e di chiamarlo direttamente o attivarlo in risposta agli eventi. OCI Functions utilizza container Docker ospitati in Oracle Cloud Infrastructure Registry.
- OCI Identity and Access Management
Oracle Cloud Infrastructure Identity and Access Management (IAM) fornisce il controllo dell'accesso degli utenti per OCI e Oracle Cloud Applications. L'interfaccia API IAM e l'interfaccia utente consentono di gestire i domini di Identity e le risorse al loro interno. Ogni dominio di Identity OCI IAM rappresenta una soluzione standalone di gestione accessi e identità oppure una popolazione di utenti diversa.
- Pool di istanze
Un pool di istanze è un gruppo di istanze all'interno di un'area creata dalla stessa configurazione e gestita come gruppo.
- Motore Kubernetes OCI
Oracle Cloud Infrastructure Kubernetes Engine (OCI Kubernetes Engine o OKE) è un servizio completamente gestito, scalabile e ad alta disponibile da utilizzare per distribuire le applicazioni containerizzate nel cloud. È possibile specificare le risorse di computazione richieste dalle applicazioni e OKE le esegue il provisioning su OCI in una tenancy esistente. OKE utilizza Kubernetes per automatizzare l'implementazione, il ridimensionamento e la gestione di applicazioni containerizzate tra cluster di host.
- Load balancer
Oracle Cloud Infrastructure Load Balancer fornisce una distribuzione automatica del traffico da un singolo punto di accesso a più server.
- Log OCIOracle Cloud Infrastructure Logging è un servizio altamente scalabile e completamente gestito che fornisce l'accesso ai seguenti tipi di log dalle tue risorse nel cloud:
- Log di audit: log correlati agli eventi prodotti da OCI Audit.
- Log dei servizi: log pubblicati da singoli servizi quali il gateway API OCI, gli eventi OCI, le funzioni OCI, il load balancer OCI, lo storage degli oggetti OCI e i log di flusso VCN.
- Log personalizzati: log che contengono informazioni di diagnostica da applicazioni personalizzate, altri provider cloud o un ambiente in locale.
- Monitoraggio OCI
Oracle Cloud Infrastructure Monitoring monitora in modo attivo e passivo le tue risorse cloud e utilizza gli allarmi per avvisarti quando le metriche soddisfano i trigger specificati.
- Notifiche OCI
Notifiche OCI trasmette i messaggi ai componenti distribuiti utilizzando un pattern di pubblicazione-sottoscrizione a bassa latenza, offrendo messaggi sicuri, altamente affidabili e duraturi per le applicazioni ospitate su OCI.
- Memorizzazione degli oggetti OCI
Lo storage degli oggetti OCI fornisce l'accesso a grandi quantità di dati strutturati e non strutturati di qualsiasi tipo di contenuto, inclusi backup del database, dati analitici e contenuti avanzati come immagini e video. Puoi memorizzare in tutta sicurezza i dati direttamente dalle applicazioni o dall'interno della piattaforma cloud. Puoi ridimensionare lo storage senza compromettere le prestazioni o l'affidabilità del servizio.
Utilizza lo storage standard per lo storage "caldo" a cui devi accedere in modo rapido, immediato e frequente. Utilizza lo storage di archivio per lo storage "a freddo" che conservi per lunghi periodi di tempo e a cui accedi raramente o raramente.
- OCI Queue
Oracle Cloud Infrastructure Queue fornisce un sistema scalabile per elaborare i messaggi e gestire al contempo attività di gestione complesse come l'elaborazione, il monitoraggio e l'isolamento dei client garantiti almeno una volta. Questo servizio centralizzato gestisce anche l'ordinazione dei messaggi e lo stato di elaborazione, che consente ai processi client senza conservazione dello stato di scaricare il tracciamento del cursore.
- Area OCI
Un'area geografica OCI è un'area geografica localizzata che contiene uno o più data center, che ospitano domini di disponibilità. Le regioni sono indipendenti da altre regioni e vaste distanze possono separarle (tra paesi o addirittura continenti).
- OCI Registry
Oracle Cloud Infrastructure Registry è un servizio gestito da Oracle che ti consente di semplificare il tuo flusso di lavoro dallo sviluppo alla produzione. Registry semplifica la memorizzazione, la condivisione e la gestione degli artifact di sviluppo, come le immagini Docker.
- Tenancy
Una tenancy è una partizione sicura e isolata impostata da Oracle all'interno di Oracle Cloud al momento dell'iscrizione a OCI. È possibile creare, organizzare e amministrare le risorse su OCI all'interno della tenancy. Una tenancy è sinonimo di azienda o organizzazione. In genere, un'azienda disporrà di una singola tenancy, all'interno della quali rifletterà la propria struttura organizzativa. Una singola tenancy viene in genere associata a una singola sottoscrizione e una singola sottoscrizione di solito ha una sola tenancy.
- OCI Vault
Oracle Cloud Infrastructure Vault ti consente di creare e gestire centralmente le chiavi di cifratura che proteggono i tuoi dati e le credenziali segrete utilizzate per proteggere l'accesso alle tue risorse nel cloud. La gestione delle chiavi predefinita è costituita da chiavi gestite da Oracle. È inoltre possibile utilizzare chiavi gestite dal cliente che utilizzano OCI Vault. OCI Vault offre un ricco set di API REST per la gestione di vault e chiavi.
- Rete e subnet cloud virtuale OCI
Una rete cloud virtuale (VCN, virtual cloud network) è una rete personalizzabile e definita dal software impostata in un'area OCI. Come le reti di data center tradizionali, le reti VCN offrono il controllo sull'ambiente di rete. Una VCN può avere più blocchi CIDR (Classless Inter-Domain Routing) non sovrapposti che è possibile modificare dopo aver creato la VCN. È possibile 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 sottorete dopo la creazione. Una subnet può essere pubblica o privata.
- VNIC
I server nei data center OCI dispongono di schede interfaccia di rete fisiche (NIC, Physical Interface Card). Quando crei un'istanza su uno di questi server, tale istanza comunica mediante le NIC (Virtual NIC) del servizio di rete associate alle schede NIC fisiche. Una scheda di interfaccia di rete virtuale (VNIC, Virtual Network Interface Card) consente a un'istanza di connettersi a una rete VCN e determina le modalità di connessione tra l'istanza e gli endpoint all'interno e all'esterno della VCN. Ogni VNIC risiede in una subnet in una VCN.
Suggerimenti
Distribuisci la soluzione in una progettazione di rete cloud virtuale (VCN) specifica del cliente che separa l'ingresso pubblico dai servizi di elaborazione privata. L'architettura di riferimento consiglia subnet private, gruppi di sicurezza di rete (NSG), gateway di servizio, endpoint privati, OCI Identity and Access Management con meno privilegi, compartimenti, gruppi dinamici e segreti gestiti da OCI Vault quando i requisiti di sicurezza del cliente richiedono percorsi di comunicazione del servizio isolati.
-
VCN: posiziona i pool di istanze GPU di OCI Compute, i processori di flusso delle istanze contenitore OCI, i consumer di Oracle Cloud Infrastructure Queue, i servizi di regole e i servizi operativi nelle subnet private. Esponi solo l'ingresso richiesto tramite OCI Load Balancer o OCI API Gateway. Utilizza lo storage degli oggetti OCI e altro accesso al servizio OCI tramite gateway di servizi o endpoint privati, ove applicabile.
-
Sicurezza: utilizza Oracle Cloud Guard per monitorare e mantenere la sicurezza delle tue risorse in Oracle Cloud Infrastructure. Cloud Guard utilizza recipe del rilevatore che è possibile definire per esaminare le risorse alla ricerca dei punti deboli della sicurezza e per monitorare operatori e utenti per attività rischiose. Quando viene rilevata un'attività di configurazione errata o non sicura, Cloud Guard consiglia azioni correttive e consente di eseguire tali azioni in base alle recipe del rispondente che è possibile definire.
Per le risorse che richiedono la massima sicurezza, Oracle consiglia di utilizzare le zone di sicurezza. Una zona di sicurezza è un compartimento associato a una recipe dei criteri di sicurezza definita da Oracle basata sulle procedure ottimali. Ad esempio, le risorse in una zona di sicurezza non devono essere accessibili dalla rete Internet pubblica e devono essere cifrate utilizzando chiavi gestite dal cliente.
-
Gruppi di sicurezza di rete (NSG): utilizzare i gruppi NSG per definire un set di regole di entrata e uscita che si applicano a schede VNIC (Virtual Network Interface Card) specifiche. Utilizzare i gruppi NSG anziché le liste di sicurezza perché separano l'architettura della subnet VCN dai requisiti di sicurezza dell'applicazione.
-
OCI Identity and Access Management e segreti: applicare criteri OCI Identity and Access Management con meno privilegi, limiti del compartimento e gruppi dinamici. Memorizza credenziali e certificati in OCI Vault. Cifrare i supporti memorizzati e i payload di eventi strutturati e utilizzare URL di accesso OCI Object Storage di breve durata per la riproduzione invece di esporre i percorsi dei supporti raw.
Considerazioni
-
Prestazioni: ridimensiona l'elaborazione del flusso di CPU separatamente dall'inferenza GPU. Oracle Cloud Infrastructure Queue separa i burst dal consumo della GPU, mentre la profondità della coda, il ritardo del consumatore, la latenza di inferenza, il throughput e l'utilizzo della GPU insieme forniscono segnali di scala più stabili rispetto a una singola metrica. Un obiettivo di partenza pratico è circa il 70% di utilizzo medio della GPU per mantenere spazio per la variabilità.
-
Sicurezza: utilizzare le subnet private, i gruppi di sicurezza di rete (NSG), i gateway di servizio o gli endpoint privati, OCI Identity and Access Management con privilegi minimi, OCI Vault, la cifratura, i certificati dei dispositivi, il protocollo TLS (mTLS) reciproco e i controlli dell'accesso dipendenti dai tenant. Considera le classificazioni contestuali come segnali operativi anziché come asserzioni di identità. Mantieni la revisione umana per i flussi di lavoro riservati e la versione del modello di audit, la versione della regola, il punteggio di affidabilità, l'indicatore orario e il risultato dell'operatore.
-
Disponibilità: mantieni i processori di flusso e i lavoratori dei modelli senza conservazione dello stato, ove possibile, conservando i riferimenti ai frame, la cronologia temporale e i dati di ripetizione nei servizi gestiti da OCI. Monitora gli heartbeat della fotocamera, la profondità della coda, il ritardo del consumatore, la capacità GPU, i caricamenti dello storage degli oggetti OCI e la consegna delle notifiche. Crea runbook per eventi offline con fotocamera, backlog delle code, indisponibilità GPU, avvisi duplicati, errori di storage e errori di notifica. Include ID evento idempotenti, nuovi tentativi e gestione delle lettere non recapitabili.
-
Costo: preferisci i caricamenti attivati dagli eventi rispetto ai continui caricamenti cloud ad alta risoluzione. Le telecamere intelligenti possono conservare le riprese continue a livello locale e caricare metadati, miniature o brevi clip di eventi; l'elaborazione OCI può campionare frame e conservare clip ad alta risoluzione solo in base agli eventi confermati. Riduci la larghezza di banda e lo storage con il campionamento dei frame, la compressione H.265, i frame configurabili al secondo (FPS), le soglie di movimento o persona, i filtri delle zone, le brevi clip e i criteri del ciclo di vita dello storage degli oggetti OCI. I livelli di fidelizzazione illustrativi sono di 7 giorni per clip standard, 30 giorni per eventi di sicurezza ad alta priorità e 90 giorni per flussi di lavoro regolamentati o investigativi.
Distribuire l'architettura
Inizia con un piccolo set rappresentativo di telecamere e ottimizza il modello, il campionamento, la coda, i criteri e le soglie di avviso in base alle caratteristiche del carico di lavoro misurato.
Per distribuire l'architettura:
- Stabilire le basi: creare VCN e subnet, compartimenti, NSG, criteri e gruppi dinamici di OCI Identity and Access Management, segreti di OCI Vault, bucket di OCI Object Storage, OCI Logging, OCI Monitoring e criteri del ciclo di vita.
- Configura inclusione: distribuisci OCI Load Balancer o OCI API Gateway e il servizio bridge o producer di fotocamere sicuro. Registra i flussi di fotocamere, le fonti multimediali caricate o i produttori mobile o edge.
- Distribuisci elaborazione flusso: distribuisci processori di flusso containerizzati per terminare le sessioni RTSP, decodificare supporti, frame di esempio, buffer a livello locale in base alle esigenze e pubblicare elementi di lavoro di inferenza in Oracle Cloud Infrastructure Queue.
- Distribuisci inferenza GPU: distribuisce lavoratori GPU senza conservazione dello stato nei pool di istanze di computazione. Configura modelli di rilevamento e classificazione, batch, soglie di affidabilità, metadati del modello e consumer di code.
- Configura decisioni e integrazioni: esternalizza le regole in JSON, YAML o in un servizio criteri. Applicare i criteri relativi a ruolo, zona, ora, sicurezza, cronologia degli eventi e tenant prima di inviare eventi convalidati alle notifiche OCI, webhook, API, OCI Connector Hub o alle piattaforme di gestione dei servizi.
- Operazione e tuning: crea allarmi per la profondità della coda, la latenza di inferenza, l'utilizzo della GPU, lo stato della fotocamera, gli errori di caricamento e lo stato di consegna. Utilizzare questi segnali per ridimensionare i livelli di CPU e GPU in modo indipendente; testare la gestione degli errori, la ripetizione, la conservazione e la soppressione degli avvisi.
Scopri di più
- Analisi delle fotocamere AI con accelerazione GPU su OCI (Blog)
- Panoramica di Oracle Cloud Infrastructure Queue
- Panoramica dello streaming OCI
- Forme di OCI Compute
- Ridimensionamento automatico di OCI Compute per i pool di istanze
- Oracle Cloud Infrastructure Vision (documentazione di prodotto)
- Analisi video streaming di OCI Vision
- Panoramica dell'hub connettore OCI
- Documentazione di Oracle Cloud Infrastructure
- Framework delle best practice per Oracle Cloud Infrastructure
- Stima dei costi di Oracle Cloud
