Guida a OCI per tecnici DevOps
Oracle Cloud Infrastructure (OCI) fornisce agli sviluppatori strumenti per creare, gestire e automatizzare applicazioni cloud native. Questa guida fornisce una panoramica di tali strumenti e della loro applicazione nel ciclo di vita di DevOps.
Il ciclo di vita DevOps
DevOps è un modo di lavorare che incoraggia più team, principalmente addetti allo sviluppo e alle operazioni, a collaborare e a raggiungere una consegna continua nel ciclo di vita dello sviluppo software. Diversi strumenti contribuiscono a diverse fasi del ciclo di vita.
|
Per quanto riguarda lo sviluppo, sono necessari strumenti che consentano di eseguire le seguenti operazioni:
|
E dal lato Operations sono necessari strumenti per aiutarti con i seguenti passaggi:
|
Molti degli strumenti che OCI fornisce per l'uso di DevOps sono strettamente connessi e affrontano più passaggi nel ciclo di vita. Le sezioni di questa guida raggruppano i passi correlati e le informazioni di conseguenza.
- Pianifica e gestisci la tua infrastruttura con gli strumenti configuration management (CM) e infrastructure-as-code (IaC).
- Codice per un cambiamento costante utilizzando strategie e strumenti di progettazione delle applicazioni.
- Crea, testa, rilascia e distribuisci con gli strumenti CI/CD.
- Agisci con sicurezza utilizzando la sicurezza OCI.
- Monitora con gli strumenti di osservabilità.
L'approccio DevOps
L'automazione viene utilizzata durante tutto il ciclo di vita di DevOps. Riduce la necessità di attività e interventi manuali e aumenta la frequenza delle consegne. La gestione della configurazione e l'infrastructure-as-code rendono possibile gran parte di questa automazione.
Configuration Management (CM) è il processo di applicazione dei metodi programmatici per garantire l'implementazione, la funzione e le prestazioni di un'applicazione.
Infrastructure-as-code (IaC) utilizza codice leggibile per definire, eseguire il provisioning e gestire l'infrastruttura. IaC è un componente chiave del modello di consegna continua.
In OCI, Ansible e Terraform sono gli strumenti più comunemente utilizzati che aiutano con CM e IaC. Ansible è principalmente uno strumento CM utilizzato per la configurazione dell'infrastruttura, l'applicazione di patch e la distribuzione e la manutenzione delle applicazioni. Terraform è uno strumento IaC utilizzato per il provisioning e la disattivazione dell'infrastruttura. Sono spesso usati insieme.
Gestione configurazione
Il servizio OCI DevOps è progettato per integrarsi perfettamente con due strumenti CM: Ansible e Chef.
Ansible
La raccolta Ansible di OCI automatizza il provisioning e la configurazione dell'infrastruttura delle risorse OCI, come i servizi di computazione, bilanciamento del carico e database.
I moduli Ansible di OCI sono un set di interpreti che consentono a Ansible di effettuare chiamate sugli endpoint API OCI. A un livello di base, Ansible porta un server o una lista di host a uno stato noto utilizzando i concetti riportati di seguito.
- Magazzino: spiega dove eseguire; può essere statico o dinamico
- Task: chiamata a un modulo Ansible
- Esecuzione: serie di task o ruoli Ansible mappati a un gruppo di host nell'inventario; eseguiti in ordine
- Libri di riproduzione: una serie di giochi che spiegano cosa eseguire e utilizzare YAML
- Ruolo: struttura standard per la specifica di task e variabili; consente la modularità e il riutilizzo
Chef
Chef è uno strumento di automazione per CM che si concentra sulla consegna e la gestione di interi stack IT. Con il servizio DevOps OCI, gli utenti possono gestire le risorse OCI utilizzando il plugin Chef Knife.
Puppet è un altro strumento CM comune utilizzato per progettare, distribuire, configurare e gestire i server. Puoi integrare Puppet con OCI, ma richiede uno script manuale perché OCI non dispone di un plugin diretto.
Infrastruttura sotto forma di codice
OCI utilizza Terraform per IaC. Terraform ha un linguaggio dichiarativo che ti consente di codificare l'infrastruttura e un motore che utilizza tali configurazioni per gestire l'infrastruttura.
Prova un LiveLab per iniziare a usare Terraform su OCI. Sono disponibili anche molti tutorial, esempi, modelli e soluzioni.
È possibile utilizzare il provider Terraform OCI e l'interfaccia CLI Terraform per redigere e applicare le configurazioni dal computer locale che gestisce l'infrastruttura OCI, tuttavia tale approccio presenta due problemi:
- Mancanza di controllo della versione: è necessario tenere traccia delle varie versioni del codice se è necessario eseguire il rollback o la diramazione.
- Collaborazione: è necessario centralizzare le configurazioni e i piani per garantire che tutti rimangano sincronizzati.
Anziché utilizzare direttamente Terraform, utilizza OCI Resource Manager, un host Terraform basato su cloud per il controllo del codice sorgente centralizzato, la gestione dello stato e l'accodamento dei job. Resource Manager semplifica la gestione dell'infrastruttura o degli stack da parte del personale DevOps nascondendo Terraform nei modelli.
Guardare un introduzione video al servizio Resource Manager o provare un indirizzo LiveLab.
Resource Manager include anche l'automazione basata su Terraform, come il rilevamento delle risorse e il rilevamento delle deviazioni. Poiché non è sempre realistico redigere prima le configurazioni Terraform ed eseguire il provisioning dell'infrastruttura, è possibile creare risorse nella console, quindi utilizzare Resource Manager Resource Discovery per generare lo stack e la configurazione. I report di rilevamento delle deviazioni possono determinare se le risorse di cui è stato eseguito il provisioning hanno stati diversi da quelli definiti nella configurazione dell'ultima esecuzione dello stack.
I microservizi ti consentono di progettare un'applicazione come una raccolta di servizi accoppiati in modo approssimativo che utilizzano il modello "share-nothing" ed eseguono come processi senza conservazione dello stato. Questo approccio semplifica la scalabilità e la manutenzione dell'applicazione.
In un'architettura di microservizi, ogni microservizio possiede un'attività semplice e comunica con i clienti o altri microservizi utilizzando meccanismi di comunicazione leggeri come le richieste API REST. Le applicazioni progettate come microservizi hanno le seguenti caratteristiche:
- Facile da gestire e implementabile in modo indipendente
- Facile scalabilità e alta disponibilità
- Abbinato ad altri servizi
- Sviluppato utilizzando il linguaggio di programmazione e il framework più adatto al problema
La containerizzazione è un approccio comune all'architettura dei microservizi. I container utilizzano la virtualizzazione del sistema operativo e conservano solo l'applicazione e i relativi file binari, il che si traduce in un avvio rapido e in una maggiore sicurezza.
Containererizzazione e Docker
Docker è una piattaforma di progetto e containerizzazione open source che standardizza il packaging delle applicazioni e delle loro dipendenze in container, che condividono lo stesso sistema operativo host. Utilizza i container Docker per una distribuzione rapida e coerente delle tue applicazioni, una distribuzione e una scalabilità reattive e la portabilità.
Un'immagine Docker è un modello di sola lettura con istruzioni per la creazione di un contenitore Docker. Un'immagine Docker contiene l'applicazione che si desidera venga eseguita come container da Docker e qualsiasi dipendenza. Per creare un'immagine Docker, creare prima un Dockerfile per descrivere tale applicazione, quindi creare l'immagine Docker dal Dockerfile.
Le immagini Docker possono essere memorizzate in un registro come il Container Registry OCI. Senza un registro, è difficile per i team di sviluppo mantenere un set coerente di immagini Docker per le loro applicazioni containerizzate. Senza un registro gestito, è difficile applicare i diritti di accesso e i criteri di sicurezza per le immagini.
Per un'esercitazione introduttiva, vedere Pushing an Image to Oracle Cloud Infrastructure Registry o provare a utilizzare LiveLab.
Kubernetes
La distribuzione di applicazioni containerizzate crea un nuovo problema: la gestione di migliaia di container. Kubernetes è uno strumento open source che orchestra automaticamente il ciclo di vita del container, distribuendo i container nell'infrastruttura di hosting. Kubernetes aumenta o diminuisce le risorse, a seconda della richiesta. Esegue il provisioning, pianifica, elimina e monitora lo stato dei contenitori.
Motore Kubernetes OCI
OCI Kubernetes Engine (OKE) (a volte indicato come OKE) è un servizio completamente gestito, scalabile e ad alta disponibilità che puoi utilizzare per distribuire le tue applicazioni containerizzate nel cloud.
Sebbene non sia necessario utilizzare un servizio Kubernetes gestito, Kubernetes Engine OCI è un modo semplice per eseguire cluster ad alta disponibilità con il controllo, la sicurezza e le prestazioni prevedibili di OCI che offrono ai team DevOps maggiore visibilità e controllo.
- Accedere ai cluster utilizzando
kubectl
, incluso in Cloud Shell, oppure utilizzare un'installazione locale dikubectl
. - Aumenta la disponibilità delle applicazioni utilizzando cluster che si estendono su più domini di disponibilità (data center) in qualsiasi area commerciale sfruttando i vantaggi del ridimensionamento automatico di pool di nodi e pod Kubernetes.
- Aggiorna facilmente e rapidamente i cluster di container, senza tempi di inattività, per tenerli aggiornati con l'ultima versione stabile di Kubernetes.
- Osservazione dei cluster Kubernetes mediante metriche, log e richieste di lavoro.
Funzioni
Funzioni ospita le applicazioni mentre si astrae dai server effettivi. L'architettura serverless ed elastica di Functions significa che non c'è amministrazione dell'infrastruttura o amministrazione del software da eseguire. Non esegui il provisioning o la gestione delle istanze di computazione e le patch e gli upgrade del software del sistema operativo vengono applicati automaticamente. Le funzioni garantiscono che l'applicazione sia altamente disponibile, scalabile, sicura e monitorata. Puoi scrivere codice in Java, Python, Node, Go, Ruby e C# (e per casi d'uso avanzati, porta il tuo Dockerfile e la tua VM Graal). È quindi possibile distribuire il codice, chiamarlo direttamente o attivarlo in risposta agli eventi.
L'integrazione continua e la distribuzione o la distribuzione continue (CI/CD) sono una best practice DevOps.
L'integrazione continua è la pratica che consente agli sviluppatori di integrare tutto il loro lavoro nel più breve tempo possibile nel ciclo di vita. Le modifiche di codice incrementali e frequenti vengono create, testate e riviste in base alle esigenze in base al feedback costante. Una modifica al codice dovrebbe attivare automaticamente passi standardizzati di build-and-test che garantiscono che le modifiche al codice che vengono unite nel repository siano prive di errori e funzionino con il codice esistente.
La distribuzione o distribuzione continua consente di apportare rapidamente modifiche al codice dagli sviluppatori agli utenti. Dopo aver superato i test di unità, integrazione, accettazione e altri test, il codice viene rilasciato in produzione in un'implementazione continua automatizzata o in un processo di consegna continua manuale.
OCI DevOps
Le pipeline di creazione e distribuzione sono il cuore del flusso di lavoro CI/CD DevOps.
Il servizio OCI DevOps ti consente di creare e distribuire pipeline visivamente script che automatizzano le chiamate a strumenti più mirati. DevOps ha la flessibilità di integrarsi con i flussi di lavoro CI/CD esistenti.
Per esplorare CI/CD in OCI, puoi creare una pipeline di CD utilizzando DevOps o sviluppare, eseguire il debug e distribuire applicazioni su Kubernetes Engine.
DevOps Progetti
Il primo passo per creare e distribuire applicazioni utilizzando il servizio DevOps OCI è creare un progetto DevOps. Un progetto DevOps è un raggruppamento logico di risorse DevOps necessarie per implementare un flusso di lavoro CI/CD. Nell'ambito della creazione del progetto nella console o utilizzando un'API o un'interfaccia CLI, è possibile creare le risorse riportate di seguito.
|
I progetti DevOps consentono di gestire le risorse del ciclo di vita di distribuzione del software in un'unica posizione e di condividerle facilmente. Quando utilizzi insieme OCI DevOps e i repository di artifact, puoi essere certo che la versione del software destinata al rilascio sia quella distribuita e che sia possibile eseguire il rollback a una versione precedente nota.
Codice
Nel servizio DevOps è possibile creare repository di codici privati in un repository di codici OCI, simile a Git. I commit, gli aggiornamenti, le diramazioni e l'uso dello storage sono visibili nella console e un ID Oracle Cloud (OCID) viene assegnato al repository quando viene creato. È inoltre possibile modificare, duplicare ed eliminare i repository.
In alternativa, è possibile utilizzare repository di codici esterni come GitHub e GitLab oppure eseguire il mirroring di un repository di codici esterno da GitHub, GitLab o Bitbucket Cloud in un repository di codici OCI. Se si utilizzano repository self-hosted (server GitLab e server Bitbucket) con indirizzi IP privati, è comunque possibile accedervi dalle pipeline.
Per ulteriori informazioni, vedere Gestione dei repository di codici e Aggiunta di una fase di build gestita.
Artifact
Un artifact è un riferimento a qualsiasi file binario, package, file manifesto Kubernetes, immagine del contenitore o altro file che costituisce l'applicazione e verrà consegnato a un ambiente di distribuzione di destinazione. Gli artifact generati dalla build e utilizzati nella distribuzione vengono memorizzati nei registri. OCI dispone di due tipi di registri per la memorizzazione, la condivisione e la gestione degli artifact:
- Container Registry è un servizio gestito e basato su standard aperti che memorizza più versioni di Docker o altre immagini di container, oltre a file correlati come file manifesti e grafici Helm. È possibile eseguire il push di queste immagini in un cluster Kubernetes per la distribuzione utilizzando Kubernetes Engine (OKE).
- Artifact Registry memorizza i pacchetti software, le librerie, i file .zip e altri tipi di file utilizzati per la distribuzione delle applicazioni. Questi file possono essere richiamati quando viene attivata la pipeline di distribuzione.
È inoltre possibile utilizzare registri artifact esterni come Sonatype o Artifactory ed eseguirne il mirroring nel Registro artifact di OCI. Ciò significa che puoi continuare a utilizzare l'impostazione corrente con OCI DevOps.
Pipeline di creazione e distribuzione
Le pipeline di creazione e distribuzione DevOps OCI riducono gli errori basati sul cambiamento e il tempo da dedicare a build e distribuzioni. Gli sviluppatori eseguono il commit del codice sorgente in un repository di codice, creano e testano gli artifact software con un motore di esecuzione build, distribuiscono gli artifact nei repository OCI e quindi eseguono una distribuzione nelle piattaforme OCI.
È possibile utilizzare DevOps per implementare varie strategie di pipeline di distribuzione, tra cui una strategia blue-green (che consiste di due ambienti di produzione identici), una strategia canary e una strategia continuativa.
Per istruzioni dettagliate sulla pipeline, vedere Gestione delle pipeline di build e Gestione delle pipeline di distribuzione.
I log delle esecuzioni e delle distribuzioni della build vengono memorizzati nel servizio di log OCI per l'audit e la governance. Il team può anche ricevere notifiche dagli eventi nelle pipeline DevOps tramite il servizio Notifiche OCI.
Puoi anche utilizzare il plugin di Compute Jenkins per centralizzare l'automazione dello sviluppo e ridimensionare le distribuzioni, consegnare gli artifact a OCI Artifact Registry e attivare le pipeline di distribuzione DevOps.
Un ambiente è una raccolta di risorse di computazione in cui vengono distribuiti gli artifact ed è la piattaforma di destinazione per l'applicazione. I tipi di ambiente runtime di destinazione supportati in OCI includono istanze di computazione VM o Bare Metal in Oracle Linux e CentOS, Kubernetes Engine e Functions. L'ambiente scelto per la distribuzione dipende dalle esigenze di flessibilità, sicurezza, velocità e altri requisiti:
- Gli host Bare Metal offrono il massimo controllo, sicurezza e costi. Una buona opzione per i progetti che richiedono uno spazio più costante, più grande o separato e sicuro. Vedere Panoramica di Compute.
- Le VM offrono maggiore versatilità, scalabilità e condivisione delle risorse. Le applicazioni condivise e l'hardware fisico offrono risparmi sui costi, velocità di ripristino di emergenza e provisioning più rapido. Vedere Panoramica di Compute.
- Kubernetes Engine è ideale per ambienti ad alta densità e per implementazioni di piccole e medie dimensioni in cui è necessario fare di più con meno risorse. Vedere Application Design.
- Le funzioni sono migliori con carichi di lavoro dinamici in cui l'uso cambia frequentemente, perché paghi solo per i servizi mentre li usi.
Prima di creare un ambiente DevOps, devi creare il cluster, la funzione o l'istanza di computazione del motore Kubernetes. È quindi possibile creare riferimenti a ambienti di destinazione diversi per la distribuzione DevOps.
DevSecOps è un approccio alla cultura, all'automazione e alla progettazione della piattaforma che integra la sicurezza come responsabilità condivisa durante l'intero ciclo di vita di DevOps.
La sicurezza continua ha tre elementi principali:
- Quando vengono aggiunte nuove funzioni, è necessario perfezionare e aggiornare continuamente le posture di sicurezza. Potrebbero essere aggiunti controlli di sicurezza nuovi o modificati (o alcuni potrebbero essere rimossi). Questi controlli devono essere continuamente testati durante i cicli di sviluppo e distribuzione utilizzando suite di test di sicurezza automatizzate.
- Le applicazioni cloud native devono essere create per la resilienza. Poiché anche un software accuratamente progettato e testato può contenere vulnerabilità della sicurezza, un solido sistema di monitoraggio della sicurezza deve identificare intrusioni e infezioni in tempo reale. Le risposte automatiche agli incidenti devono proteggere i servizi.
- Dal momento che le nuove funzioni vengono rilasciate in produzione tramite la pipeline CI/CD, i controlli di conformità alla sicurezza e i sistemi di valutazione della vulnerabilità delle applicazioni devono misurare e registrare qualsiasi nuova esposizione al rischio. I rischi identificati durante l'integrazione delle nuove funzioni richiedono la revisione del framework dei controlli di sicurezza, che deve essere modificato per mitigare tali rischi.
IAM
Vault
Come best practice, i tecnici di DevOps utilizzano il servizio Vault OCI per migliorare il livello di sicurezza generale per le distribuzioni di applicazioni e servizi.
È possibile utilizzare il servizio Vault per gestire centralmente chiavi e segreti di cifratura. I segreti sono credenziali come password, token o qualsiasi altro dato riservato che è necessario utilizzare con altri servizi OCI e applicazioni o sistemi esterni. La memorizzazione dei segreti in un vault garantisce maggiore sicurezza di quanto si possa ottenere memorizzandoli altrove, ad esempio nei file di codice o di configurazione.
Vault si integra direttamente con i servizi OCI, gli SDK e i client API e gestisce la cifratura delle credenziali delle password utilizzate con qualsiasi applicazione esterna.
Procedure ottimali di sicurezza per il motore Kubernetes
Quando si utilizza il motore Kubernetes OCI, seguire le seguenti best practice di sicurezza:
- Controlla l'accesso ai cluster di cui è stato eseguito il provisioning utilizzando sia i criteri IAM che le regole RBAC (Role-based Access Control) Kubernetes. Vedere Informazioni sul controllo dell'accesso e sul motore Kubernetes (OKE).
- Cifra gli oggetti dati riservati (ad esempio token e credenziali di autenticazione) come segreti Kubernetes quando vengono memorizzati in etcd.
- Utilizza i criteri di sicurezza pod per limitare o limitare l'accesso alle risorse. Vedere Utilizzo dei criteri di sicurezza pod con Kubernetes Engine (OKE).
- Utilizzare la sicurezza del pool di nodi per cluster e pod.
- Definire le regole di accesso alla rete per le comunicazioni da e verso i pod.
- Definisci modelli d'uso con più tenanacy per i cluster Kubernetes (isolamento).
- Migliora la sicurezza delle immagini dei container utilizzando la verifica delle firme e la scansione delle vulnerabilità. Vedere Firma di immagini per la sicurezza e Analisi delle immagini per individuare le vulnerabilità.
Quando si utilizzano OCI Functions, seguire le best practice di sicurezza riportate di seguito.
- Controlla l'accesso di richiamo e gestione a funzioni e applicazioni utilizzando IAM.
- Migliora la sicurezza delle immagini dei container utilizzando la verifica delle firme e la scansione delle vulnerabilità. Vedere Firma di immagini per la sicurezza e Analisi delle immagini per individuare le vulnerabilità.
- Seguire le linee guida per il controllo dell'accesso.
Gli strumenti DevOps dovrebbero aiutarti a comprendere appieno il funzionamento del tuo sistema e a scegliere le metriche giuste da monitorare in modo proattivo. Dovresti trovare problemi all'inizio del processo ed essere in grado di monitorare costantemente la salute.
Gli strumenti DevOps dovrebbero anche aiutarti a mantenere la sicurezza end-to-end dei sistemi informativi, che si tratti di data center fisico, reti o applicazioni.
Con il giusto approccio all'osservabilità, puoi ridurre i tempi di inattività, accelerare il tempo medio di rilevamento (MTTD) e il tempo medio di risoluzione (MTTR) e aumentare la soddisfazione dei clienti e l'erogazione dei servizi.
Servizi chiave di osservabilità OCI
Il monitoraggio può aiutarti a ottenere insight sui carichi di lavoro OCI con DevOps metriche per lo stato e le prestazioni. Puoi configurare allarmi con soglie per rilevare e rispondere alle anomalie dell'infrastruttura e dell'applicazione.
Sebbene le metriche OCI siano visibili nei grafici tramite la console, è possibile utilizzare il plugin Grafana per visualizzare le metriche delle risorse tra i provider in un singolo dashboard Grafana.
Il log può includere dati di log da centinaia di origini. È possibile generare log quali i log di audit e i log di flusso di rete e utilizzarli per diagnosticare i problemi di sicurezza. I log DevOps emettono tutti i log delle risorse di progetto DevOps.
Log Analytics è una soluzione cloud basata sul machine learning che monitora, aggrega, indicizza e analizza tutti i dati di log provenienti da ambienti on-premise e multicloud. Consente di cercare, esplorare e mettere in correlazione questi dati per risolvere i problemi più rapidamente, ricavare insight operativi e prendere decisioni migliori.
Notifiche è un servizio di pubblicazione/iscrizione ad alta disponibilità e a bassa latenza che invia avvisi e messaggi a funzioni, e-mail e partner di consegna dei messaggi, tra cui Slack e PagerDuty.
Eventi tiene traccia delle modifiche alle risorse utilizzando eventi conformi allo standard CloudEvents di Cloud Native Computing Foundation (CNCF). Elimina la complessità del tracciamento manuale delle modifiche tra le risorse cloud. Gli eventi DevOps sono file JSON emessi con alcune operazioni di servizio e che contengono informazioni su tale operazione. È possibile definire regole che attivano un'azione specifica quando si verifica un evento.
Servizi e strumenti di DevOps
- Application Dependency Management rileva le vulnerabilità alla sicurezza nelle dipendenze delle applicazioni.
- Application Performance Monitoring offre un set completo di funzioni per monitorare le applicazioni e diagnosticare i problemi di prestazioni.
- Artifact Registry fornisce repository per la memorizzazione, la condivisione e la gestione dei pacchetti di sviluppo software.
- Kubernetes Engine (OKE) ti aiuta a definire e creare cluster Kubernetes per consentire l'implementazione, il ridimensionamento e la gestione delle applicazioni containerizzate.
- Container Registry ti consente di memorizzare, condividere e gestire le immagini dei container (ad esempio le immagini Docker) in un registro gestito da Oracle.
- I dashboard della console consentono di creare dashboard personalizzati nella console per monitorare le risorse, la diagnostica e le metriche chiave per la tenancy in uso.
- DevOps è un servizio (CI/CD) che automatizza la distribuzione e la distribuzione del software.
- Eventi consente di creare l'automazione in base alle modifiche dello stato delle risorse in tutta la tenancy.
- Functions è una piattaforma serverless che consente di creare, eseguire e ridimensionare la business logic senza gestire alcuna infrastruttura.
- IAM utilizza i domini di Identity per fornire funzioni di gestione delle identità e degli accessi quali l'autenticazione, il Single Sign-On (SSO) e la gestione del ciclo di vita delle identità.
- Logging offre una singola interfaccia altamente scalabile e completamente gestita per tutti i log della tenancy.
- Log Analytics ti consente di indicizzare, arricchire, aggregare, esplorare, cercare, analizzare, mettere in correlazione, visualizzare e monitorare tutti i dati di log delle applicazioni e dell'infrastruttura di sistema.
- Il monitoraggio consente di eseguire query sulle metriche e gestire gli allarmi. Le metriche e gli allarmi consentono di monitorare lo stato, la capacità e le prestazioni delle risorse cloud.
- Le notifiche trasmettono messaggi ai componenti distribuiti tramite un pattern di pubblicazione/sottoscrizione, offrendo messaggi sicuri, altamente affidabili, a bassa latenza e duraturi.
- Resource Manager automatizza la distribuzione e le operazioni per tutte le risorse OCI utilizzando il modello IaC.
- Lo streaming offre una soluzione completamente gestita, scalabile e duratura per l'inclusione e l'utilizzo di flussi di dati ad alto volume in tempo reale.
- Il servizio Vault è un servizio di gestione della cifratura che memorizza e gestisce le chiavi di cifratura e i segreti per accedere in modo sicuro alle risorse.
- La scansione delle vulnerabilità consente di migliorare il livello di sicurezza controllando regolarmente gli host e le immagini dei container per individuare potenziali vulnerabilità.