GPU-beschleunigte KI-Kameraanalysen in OCI aktivieren
Die Architektur akzeptiert Smart-Kamera-Events, traditionelle RTSP IP-Kamera-Streams, mobile oder Edge-Device-Events, hochgeladene Bilder und kurze Videoclips. Es trennt die CPU-intensive Streamverarbeitung von der GPU-Inferenz, verwendet Oracle Cloud Infrastructure Queue als dauerhaften Arbeitspuffer und wendet Policy-basierte Entscheidungen an, bevor Alerts an Betriebssysteme gesendet werden.
Die Lösung geht über die einfache Objekterkennung hinaus. Es bewertet, ob ein visuelles Ereignis erwartet, verdächtig, dringend oder betrieblich relevant ist, indem Kontext wie Rolle, Zone, Zeit, Konfidenz, Mandantenrichtlinie, Geräteeigentum und historische Ereignismuster verwendet werden. Ausgewählte Frames, Erkennungsmetadaten, Regelresultate und Downstream-Zustellungsstatus werden für Audit und Wiedergabe beibehalten.
- Kamera-, Bild- oder Clip-Workloads sind platt
- GPU-Kosten und -Auslastung erfordern eine gezielte Kontrolle
- Nur Raw-Erkennung ist unzureichend
- Kunden benötigen Rückverfolgbarkeit, Wiedergabe, mehrmandantenfähige Kontrollen oder Integration mit vorhandenen Betriebssystemen
Bevor Sie beginnen
Die Referenzarchitektur ist modular aufgebaut. Sie können alle erforderlichen Datenaufnahme-, Inferenz-, Entscheidungs- oder Vorgangsblöcke übernehmen.
- Definieren Sie die Videoquellen und die Topologie, einschließlich intelligenter KI-Kamera, herkömmlicher IP-Kamera, mobiler oder Edge-Geräte, hochgeladener Medien oder einer Kombination. Planen Sie bei herkömmlichen IP-Kameras einen VPN-, TLS-Tunnel- oder ausgehenden Kamera-Connector für die OCI-seitige Verarbeitungsebene.
- Bestätigen Sie Anwendungsfälle, Objektklassen, Ziellatenz, erwartete Alertfrische, Aufbewahrungsanforderungen, Human Review-Anforderungen und nachgelagerte Integrationsziele.
- Validieren Sie die Kapazität der OCI-Region, die Verfügbarkeit von GPU-Ausprägungen, Quotas, Servicelimits und Netzwerkbandbreite, bevor Sie sich für SLSOs (Production Service Level Objectives) engagieren.
- Inferenzmodelle für den Kundenanwendungsfall auswählen und auswerten. Die veröffentlichte Architektur verwendet RT-DETR-Stil Erkennung und CLIP-Stil kontextuelle Klassifizierung als Beispiele. Modellauswertung und -auswahl bleiben kundenspezifisch.
- Legen Sie Richtlinien für Mandanten-, Standort-, Kamera-, Benutzer- und Geräteidentitäten fest. Planung von Geräteregistrierung, Ausstellung und Rotation von Zertifikaten, gegenseitigem TLS (mTLS), Schlüsselverwaltung und signierter Firmwarevalidierung, sofern von der Hardware unterstützt.
- Beginnen Sie mit einer Baseline-Größenannahme von ca. 50 Kamera-Feeds, 720p-Streams, die bei 1-5 Frames pro Sekunde (FPS) für Inferenz abgetastet werden; Skalierung basierend auf Kameraanzahl, Auflösung, FPS, Modell und Latenzanforderungen.
Architektur
In der folgenden Tabelle werden die wichtigsten Architekturschichten, die zu ihrer Implementierung verwendeten OCI-Services und der Zweck der einzelnen Layer aufgeführt.
| Architekturschicht | OCI-Services | Zweck |
|---|---|---|
| Ingress und Capture | OCI Load Balancer, OCI API Gateway, OCI Object Storage | Akzeptieren Sie retriable Kamerastreams, Clips und Bildbatches. |
| Streamverarbeitung | OCI-Containerinstanzen | RTSP-Sitzungen verwalten, H.264/H.265 dekodieren, Beispielrahmen, Pufferarbeiten und Sitzungen erneut verbinden. |
| Entkopplung | Oracle Cloud Infrastructure Queue | Nehmen Sie den Burst-Traffic auf und ermöglichen Sie GPU-Konsumenten, in einem kontrollierten Tempo zu laufen. |
| GPU-Inference | OCI Compute-GPU-Instanzpools | Führen Sie Objekterkennung, Klassifizierung, Batching und zeitliche Korrelation mit vom Kunden ausgewählten Modellen aus. |
| Entscheidungen und Operationen | OCI Functions, OCI-Benachrichtigungen, OCI Connector Hub, OCI Object Storage, OCI Logging, OCI Monitoring, OCI Vault, OCI Identity and Access Management | Wenden Sie Richtlinien an, benachrichtigen Sie nachgelagerte Systeme, bewahren Sie Beweise auf, verwalten Sie Geheimnisse und überwachen Sie die Plattform. |
Das folgende Diagramm veranschaulicht diese Referenzarchitektur (nicht alle Services werden dargestellt).
container-stream-processing-architecture-oracle.zip#GUID-A16027C3-0928-49C9-BA9D-BD5C6052E1A0
Diese Architektur umfasst die folgenden Komponenten:
- OCI API Gateway
Mit Oracle Cloud Infrastructure API Gateway können Sie APIs mit privaten Endpunkten veröffentlichen, auf die über Ihr Netzwerk zugegriffen werden kann und die Sie bei Bedarf im öffentlichen Internet bereitstellen können. Die Endpunkte unterstützen API-Validierung, Anforderungs- und Antworttransformation, CORS, Authentifizierung und Autorisierung sowie Anforderungsbegrenzung.
- OCI-Compute
Mit Oracle Cloud Infrastructure Compute können Sie Compute-Hosts in der Cloud bereitstellen und verwalten. Sie können Compute-Instanzen mit Ausprägungen starten, die Ihren Ressourcenanforderungen für CPU, Arbeitsspeicher, Netzwerkbandbreite und Speicher entsprechen. Nachdem Sie eine Compute-Instanz erstellt haben, können Sie sicher darauf zugreifen, sie neu starten, Volumes anhängen und trennen und beenden, wenn Sie sie nicht mehr benötigen.
- OCI Connector Hub
Oracle Cloud Infrastructure Connector Hub ist eine Nachrichtenbusplattform, die das Verschieben der Daten zwischen Services auf OCI orchestriert. Mit Connectors können Sie Daten von einem Quellservice in einen Zielservice verschieben. Mit Connectors können Sie optional eine Aufgabe (z. B. eine Funktion) angeben, die für die Daten ausgeführt werden soll, bevor sie an den Zielservice zugestellt werden.
Mit OCI Connector Hub können Sie schnell ein Loggingaggregations-Framework für SIEM-Systeme (Security Information and Event Management) erstellen.
- OCI Functions
Oracle Cloud Infrastructure Functions ist eine vollständig verwaltete, mehrmandantenfähige, hoch skalierbare Functions-as-a-Service-(FaaS-)Plattform (On-Demand). Sie wird von der Open Source-Engine Fn Project unterstützt. Mit OCI Functions können Sie Ihren Code bereitstellen, direkt aufrufen oder auch als Reaktion auf Ereignisse auslösen. OCI Functions verwendet Docker-Container, die in Oracle Cloud Infrastructure Registry gehostet werden.
- OCI Identity and Access Management
Oracle Cloud Infrastructure Identity and Access Management (IAM) bietet Benutzerzugriffskontrolle für OCI und Oracle Cloud Applications. Mit der IAM-API und der Benutzeroberfläche können Sie Identitätsdomains und die darin enthaltenen Ressourcen verwalten. Jede OCI IAM-Identitätsdomain stellt eine eigenständige Identity and Access Management-Lösung oder eine andere Benutzerpopulation dar.
- Instanzpool
Ein Instanzpool ist eine Gruppe von Instanzen innerhalb einer Region, die aus derselben Instanzkonfiguration erstellt und als Gruppe verwaltet werden.
- OCI Kubernetes Engine
Oracle Cloud Infrastructure Kubernetes Engine (OCI Kubernetes Engine oder OKE) ist ein vollständig verwalteter, skalierbarer und hochverfügbarer Service, mit dessen Hilfe Sie Ihre containerisierten Anwendungen in der Cloud bereitstellen können. Sie geben die Compute-Ressourcen an, die Ihre Anwendungen benötigen, und OKE stellt sie auf OCI in einem vorhandenen Mandanten bereit. OKE automatisiert mit Kubernetes das Deployment, die Skalierung und das Management von containerisierten Anwendungen über Hostscluster hinweg.
- Load Balancer
Oracle Cloud Infrastructure Load Balancer bietet eine automatisierte Trafficverteilung von einem einzigen Einstiegspunkt auf mehrere Server.
- OCI-ProtokollierungOracle Cloud Infrastructure Logging ist ein hoch skalierbarer und vollständig verwalteter Service, der Zugriff auf folgende Logtypen von Ihren Ressourcen in der Cloud ermöglicht:
- Auditlogs: Logs für Ereignisse, die von OCI Audit erstellt wurden.
- Servicelogs: Von einzelnen Services veröffentlichte Logs, wie OCI API Gateway, OCI-Ereignisse, OCI Functions, OCI Load Balancer, OCI Object Storage und VCN-Flowlogs.
- Benutzerdefinierte Logs: Logs, die Diagnoseinformationen von benutzerdefinierten Anwendungen, anderen Cloud-Providern oder einer On-Premise-Umgebung enthalten.
- OCI-Monitoring
Oracle Cloud Infrastructure Monitoring überwacht aktiv und passiv Ihre Cloud-Ressourcen und benachrichtigt Sie mit Alarmen, wenn Metriken bestimmte Trigger erfüllen.
- OCI-Benachrichtigungen
OCI Notifications sendet Nachrichten an verteilte Komponenten, indem es ein Publish-Subscribe-Muster mit geringer Latenz verwendet und sichere, äußerst zuverlässige und dauerhafte Nachrichten für auf OCI gehostete Anwendungen liefert.
- OCI Object Storage
Mit OCI Object Storage können Sie auf große Mengen an strukturierten und unstrukturierten Daten eines beliebigen Inhaltstyps zugreifen, darunter Datenbankbackups, Analysedaten und umfangreiche Inhalte, wie Bilder und Videos. Sie können Daten sicher und sicher direkt aus Anwendungen oder aus der Cloud-Plattform speichern. Sie können den Storage skalieren, ohne dass die Performance oder Servicezuverlässigkeit beeinträchtigt wird.
Verwenden Sie den Standardspeicher für "Hot Storage", auf die Sie schnell, sofort und häufig zugreifen müssen. Verwenden Sie Archivspeicherung für "Cold Storage", die Sie über lange Zeiträume beibehalten und nur selten darauf zugreifen.
- OCI-Queue
Oracle Cloud Infrastructure Queue stellt ein skalierbares System bereit, um Nachrichten zu verarbeiten und gleichzeitig komplexe Verwaltungsaufgaben wie garantierte sofortige Verarbeitung, Verfolgung und Clientisolation zu bewältigen. Dieser zentralisierte Service verwaltet auch die Reihenfolge und den Verarbeitungsstatus von Nachrichten, sodass zustandslose Clientprozesse das Cursor-Tracking auslagern können.
- OCI-region
Eine OCI-Region ist ein lokalisierter geografischer Bereich, der mindestens ein Data Centre enthält, das Availability-Domains hostet. Regionen sind unabhängig von anderen Regionen, und große Entfernungen können über Länder oder Kontinente voneinander getrennt werden.
- OCI Registry
Oracle Cloud Infrastructure Registry ist ein von Oracle verwalteter Service, mit dem Sie Ihren Workflow der Entwicklung bis hin zur Produktion vereinfachen können. Mit Registry können Sie Entwicklungsartefakte wie Docker-Images einfach speichern, teilen und verwalten.
- Mandant
Ein Mandant ist eine sichere und isolierte Partition, die Oracle in Oracle Cloud einrichtet, wenn Sie sich für OCI registrieren. Sie können Ihre Ressourcen auf OCI innerhalb Ihres Mandanten erstellen, organisieren und verwalten. Ein Mandant ist ein Synonym für ein Unternehmen oder eine Organisation. Normalerweise hat ein Unternehmen einen einzelnen Mandanten und spiegelt seine Organisationsstruktur innerhalb dieses Mandanten wider. Ein einzelner Mandant ist in der Regel mit einem einzelnen Abonnement verknüpft, und ein einzelnes Abonnement hat in der Regel nur einen Mandanten.
- OCI Vault
Mit Oracle Cloud Infrastructure Vault können Sie die Verschlüsselungsschlüssel zum Schutz Ihrer Daten und die Secret-Zugangsdaten erstellen und zentral verwalten, mit denen Sie den Zugriff auf Ihre Ressourcen in der Cloud sichern. Die Standardschlüsselverwaltung sind von Oracle verwaltete Schlüssel. Sie können auch vom Kunden verwaltete Schlüssel verwenden, die OCI Vault verwenden. OCI Vault bietet einen umfangreichen Satz von REST-APIs zur Verwaltung von Vaults und Schlüsseln.
- Virtuelles OCI-Cloud-Netzwerk und Subnetz
Ein virtuelles Cloud-Netzwerk (VCN) ist ein anpassbares, softwaredefiniertes Netzwerk, das Sie in einer OCI-Region einrichten. Wie herkömmliche Data Center-Netzwerke erhalten Sie von VCNs die Kontrolle über Ihre Netzwerkumgebung. Ein VCN kann mehrere nicht überschneidende CIDR-Blöcke aufweisen, die Sie nach dem Erstellen des VCN ändern können. Sie können ein VCN in Subnetze segmentieren, die sich auf eine Region oder eine Availability-Domain beschränken. Jedes Subnetz besteht aus einem Bereich zusammenhängender Adressen, die sich nicht mit anderen Subnetzen im VCN überschneiden. Sie können die Größe eines Subnetzes nach der Erstellung ändern. Ein Subnetz kann öffentlich oder privat sein.
- VNIC
Die Server in OCI-Data Centern weisen physische Netzwerkkarten (NICs) auf Wenn Sie eine Instanz auf einem dieser Server erstellen, kommuniziert die Instanz über virtuelle NICs (VNICs) des Netzwerkservice, die mit den physischen NICs verknüpft sind. Mit einer virtuellen Netzwerkkarte (VNIC) kann eine Instanz eine Verbindung zu einem VCN herstellen und legt fest, wie die Instanz eine Verbindung zu Endpunkten innerhalb und außerhalb des VCN herstellt. Jede VNIC befindet sich in einem Subnetz in einem VCN.
Empfehlungen
Stellen Sie die Lösung in einem kundenspezifischen virtuellen Cloud-Netzwerk-(VCN-)Design bereit, das öffentlichen Ingress von privaten Verarbeitungsservices trennt. Die Referenzarchitektur empfiehlt private Subnetze, Netzwerksicherheitsgruppen (NSGs), Servicegateways, private Endpunkte, OCI Identity and Access Management mit der geringsten Berechtigung, Compartments, dynamische Gruppen und von OCI Vault verwaltete Secrets, wenn Kundensicherheitsanforderungen isolierte Servicekommunikationspfade erfordern.
-
VCN: Platzieren Sie OCI Compute-GPU-Instanzpools, OCI Container Instances-Streamprozessoren, Oracle Cloud Infrastructure Queue-Consumer, Regelservices und operative Services in privaten Subnetzen. Zeigen Sie nur den erforderlichen Ingress über OCI Load Balancer oder OCI API Gateway an. Verwenden Sie gegebenenfalls OCI Object Storage und anderen OCI-Servicezugriff über Servicegateways oder private Endpunkte.
-
Sicherheit: Mit Oracle Cloud Guard können Sie die Sicherheit Ihrer Ressourcen in Oracle Cloud Infrastructure überwachen und aufrechterhalten. Cloud Guard verwendet Detektorrezepte, die Sie definieren können, um Ihre Ressourcen auf Sicherheitslücken zu untersuchen und Operatoren und Benutzer auf riskante Aktivitäten zu überwachen. Wenn eine falsche Konfiguration oder eine unsichere Aktivität erkannt wird, empfiehlt Cloud Guard Korrekturmaßnahmen und hilft Ihnen, diese Aktionen basierend auf Responder-Rezepten auszuführen, die Sie definieren können.
Für Ressourcen, die maximale Sicherheit erfordern, empfiehlt Oracle die Verwendung von Sicherheitszonen. Eine Sicherheitszone ist ein Compartment, das mit einem von Oracle definierten Rezept für Sicherheits-Policys verknüpft ist, die auf Best Practices basieren. Beispiel: Ressourcen in einer Sicherheitszone dürfen nicht über das öffentliche Internet zugänglich sein und müssen über vom Kunden verwaltete Schlüssel verschlüsselt werden.
-
Netzwerksicherheitsgruppen (NSGs): Verwenden Sie NSGs, um ein Set von Ingress- und Egress-Regeln zu definieren, die für bestimmte virtuelle Netzwerkkarten (VNICs) gelten. Verwenden Sie NSGs anstelle von Sicherheitslisten, da sie die VCN-Subnetzarchitektur von den Sicherheitsanforderungen Ihrer Anwendung trennen.
-
OCI Identity and Access Management und Secrets: Wenden Sie OCI Identity and Access Management-Policys mit der geringsten Berechtigung, Compartment-Grenzen und dynamische Gruppen an. Speichern Sie Zugangsdaten und Zertifikate in OCI Vault. Verschlüsseln Sie gespeicherte Medien und strukturierte Ereignis-Payloads, und verwenden Sie kurzlebige OCI Object Storage-Zugriffs-URLs zur Wiedergabe, anstatt Raw-Medienpfade verfügbar zu machen.
Überlegungen
-
Performance: Skalieren Sie die CPU-Streamverarbeitung separat von der GPU-Inferenz. Oracle Cloud Infrastructure Queue entkoppelt Bursts vom GPU-Verbrauch, während Queuetiefe, Consumer Lag, Inferenzlatenz, Durchsatz und GPU-Auslastung zusammen stabilere Skalierungssignale liefern als eine einzelne Metrik. Ein praktisches Startziel ist eine durchschnittliche GPU-Auslastung von ca. 70 Prozent, um die Flexibilität zu erhalten.
-
Sicherheit: Verwenden Sie private Subnetze, Netzwerksicherheitsgruppen (NSGs), Servicegateways oder private Endpunkte, OCI Identity and Access Management mit der geringsten Berechtigung, OCI Vault, Verschlüsselung, Gerätezertifikate, gegenseitige TLS (mTLS) und mandantenfähige Zugriffskontrollen. Behandeln Sie kontextbezogene Klassifizierungen als betriebliche Signale und nicht als Identitäts-Assertions. Behalten Sie die menschliche Überprüfung für sensible Workflows und Auditmodellversion, Regelversion, Konfidenzscore, Zeitstempel und Operatorresultat bei.
-
Verfügbarkeit: Behalten Sie Streamprozessoren und Modell-Worker nach Möglichkeit zustandslos bei, und behalten Sie Schrittreferenzen, eine zeitliche Historie und Wiedergabedaten in von OCI verwalteten Services bei. Überwachen Sie Kamera-Heartbeats, Queuetiefe, Consumer Lag, GPU-Kapazität, OCI Object Storage-Uploads und Benachrichtigungszustellung. Erstellen Sie Runbooks für Camera-Offline-Ereignisse, Warteschlangenrückstand, GPU-Nichtverfügbarkeit, doppelte Warnungen, Speicherfehler und Benachrichtigungsfehler. Nehmen Sie idempotente Ereignis-IDs, Wiederholungen und Dead-Letter-Handling auf.
-
Kosten: Vorziehen Sie ereignisgesteuerte Uploads gegenüber kontinuierlichen hochauflösenden Cloud-Uploads. Smart-Kameras können kontinuierliches Filmmaterial lokal beibehalten und Ereignismetadaten, Thumbnails oder kurze Clips hochladen. Die OCI-Verarbeitung kann Frames abtasten und hochauflösende Clips nur um bestätigte Ereignisse aufbewahren. Reduzieren Sie Bandbreite und Speicher durch Frame Sampling, H.265-Komprimierung, konfigurierbare Frames pro Sekunde (FPS), Bewegungs- oder Personenschwellenwerte, Zonenfilter, kurze Clips und OCI Object Storage-Lebenszyklus-Policys. Illustrative Aufbewahrungsebenen sind 7 Tage für Standardclips, 30 Tage für Sicherheitsereignisse mit hoher Priorität und 90 Tage für regulierte oder Untersuchungsworkflows.
Architektur bereitstellen
Beginnen Sie mit einem kleinen, repräsentativen Satz von Kameras und optimieren Sie Modell-, Sampling-, Queue-, Policy- und Alertschwellenwerte anhand der gemessenen Workload-Eigenschaften.
So stellen Sie die Architektur bereit:
- Grundlagen festlegen: Erstellen Sie VCNs und Subnetze, Compartments, NSGs, OCI Identity and Access Management-Policys und dynamische Gruppen, OCI Vault-Secrets, OCI Object Storage-Buckets, OCI Logging, OCI Monitoring und Lebenszyklus-Policys.
- Aufnahme konfigurieren: Stellen Sie OCI Load Balancer oder OCI API Gateway und die Secure Camera Bridge oder den Producer-Service bereit. Registrieren Sie Kamerastreams, hochgeladene Medienquellen oder Mobilgeräte- oder Edge-Produzenten.
- Streamverarbeitung bereitstellen: Stellen Sie containerisierte Streamprozessoren bereit, um RTSP-Sessions zu beenden, Medien, Beispielschritte zu dekodieren, bei Bedarf lokal zu puffern und Inferenzaufgabenelemente in Oracle Cloud Infrastructure Queue zu veröffentlichen.
- GPU-Inferenz bereitstellen: Stellen Sie zustandslose GPU-Worker in Compute-Instanzpools bereit. Konfigurieren Sie Erkennungs- und Klassifizierungsmodelle, Batching, Konfidenzschwellenwerte, Modellmetadaten und Queue Consumer.
- Entscheidungen und Integrationen konfigurieren: Externe Regeln in JSON, YAML oder einem Policy-Service. Wenden Sie Rollen-, Zonen-, Zeit-, Konfidenz-, Ereignishistorie- und Mandanten-Policys an, bevor Sie validierte Ereignisse an OCI Notifications, Webhooks, APIs, OCI Connector Hub oder Servicemanagementplattformen senden.
- Betrieb und Optimierung: Erstellen Sie Alarme für Queuetiefe, Inferenzlatenz, GPU-Auslastung, Kamerazustand, Uploadfehler und Übermittlungsstatus. Verwenden Sie diese Signale, um CPU- und GPU-Layer unabhängig zu skalieren. Testen Sie die Fehlerbehandlung, Wiedergabe, Aufbewahrung und Alertunterdrückung.
Mehr erfahren
- GPU-beschleunigte KI-Kameraanalysen auf OCI (Blog)
- Überblick über Oracle Cloud Infrastructure Queue
- Überblick über OCI Streaming
- OCI Compute-Ausprägungen
- OCI Compute-Autoscaling für Instanzpools
- Oracle Cloud Infrastructure Vision (Produktdokumentation)
- OCI Vision Stream-Videoanalyse
- Überblick über OCI Connector Hub
- Oracle Cloud Infrastructure-Dokumentation
- Best Practices-Framework für Oracle Cloud Infrastructure
- Oracle Cloud Kostenschätzer
