Progettazione per scalabilità

Un sistema scalabile fornisce elasticità. La possibilità di aggiungere e rimuovere automaticamente le risorse consente alle risorse di corrispondere più da vicino alla domanda corrente in un determinato momento.

Scala le risorse cloud per soddisfare i requisiti del carico di lavoro

Architetto enterprise, architetto cloud, lead infrastruttura

Identificare le risorse di calcolo e memorizzazione richieste da diversi livelli di utilizzo del carico di lavoro. È possibile aggiungere risorse scalando orizzontale (scale-out) o scalando verticale (scale-up).
  • Scalatura orizzontale significa aggiungere altre istanze di calcolo per il carico di lavoro. Questo è molto più conveniente e fornisce una migliore disponibilità rispetto alla scalabilità verticale. La maggior parte delle applicazioni senza conservazione dello stato sono più adatte per la scalabilità orizzontale, in cui le sessioni vengono memorizzate nei datastore centralizzati (database, cache persistente come redis) anziché nelle istanze di calcolo.
  • Scalatura verticale significa aggiungere più core OCPU all'istanza di calcolo. Ad esempio, modificare le istanze di Oracle Cloud Infrastructure Compute o di database in una forma più grande.

Alcune risorse sono completamente elastiche, alcune risorse vengono scalate automaticamente in modo nativo, altre supportano la scalabilità tramite un'API che è possibile utilizzare per automatizzare la scalabilità. Identificare le risorse che possono essere scalate automaticamente e utilizzarle per ridimensionare il consumo dei carichi di lavoro. Se il carico di lavoro lo consente, scegliere un servizio che ridimensiona automaticamente può ridurre radicalmente la complessità operativa di un ambiente.

I seguenti servizi Oracle Cloud Infrastructure supportano la scalabilità:

  • Oracle Cloud Infrastructure Object Storage

    Fornisce una piattaforma di archiviazione su larga scala e ad alte prestazioni che offre una durata dei dati affidabile ed efficiente in termini di costi. Il servizio di storage degli oggetti può memorizzare una quantità illimitata di dati non strutturati di qualsiasi tipo di contenuto, inclusi dati analitici e contenuti ricchi, come immagini e video. Object Storage offre più interfacce di gestione che consentono di gestire facilmente la memoria su scala. L'elasticità della piattaforma consente di avviare piccole dimensioni e scalare senza problemi, senza subire alcun degrado nelle prestazioni o nell'affidabilità del servizio. È un servizio regionale.

  • Storage di file Oracle Cloud Infrastructure

    È un file system scalabile elastico che supporta da kilobyte di dati a petabyte.

  • Calcolo automatico Oracle Cloud Infrastructure- Scalatura automatica

    Consente di regolare automaticamente il numero di istanze di calcolo in un pool di istanze in base alle metriche delle prestazioni, ad esempio l'utilizzo della CPU. Questo ti aiuta a fornire prestazioni coerenti per gli utenti finali durante i periodi di alta domanda e ti aiuta a ridurre i costi durante i periodi di bassa domanda. Selezionare una metrica delle prestazioni da monitorare e impostare le soglie che la metrica delle prestazioni deve raggiungere per attivare un evento di scala automatica. Quando l'uso del sistema soddisfa una soglia, il ridimensionamento automatico alloca dinamicamente le risorse in tempo quasi reale. Man mano che aumenta il carico, le istanze vengono sottoposte a provisioning automatico: il pool di istanze viene ridimensionato. Man mano che il carico diminuisce, le istanze vengono rimosse automaticamente: il pool di istanze viene scalato in.

  • Forme di calcolo Oracle Cloud Infrastructure

    È possibile utilizzare l'API per regolare la forma di un'istanza. Le forme standard allocano CPU e memoria in incrementi e forme flessibili consentono qualsiasi configurazione CPU da 1 CPU a 64 CPU. È possibile utilizzare il servizio Oracle Cloud Infrastructure Monitoring per monitorare le metriche VM e generare un allarme quando viene soddisfatta una determinata metrica. La notifica di allarme può chiamare una funzione per regolare la forma della VM, se necessario.

    Nota:

    La scalabilità di un'istanza VM causerà un riavvio.
  • Oracle Cloud Infrastructure Functions

    Oracle Cloud Infrastructure Functions offre una piattaforma completamente gestita, altamente scalabile, on-demand e Functions-as-a-Service, basata su Oracle Cloud Infrastructure di livello enterprise e basata sul motore open source di Fn Project. Utilizza Oracle Cloud Infrastructure Functions quando vuoi concentrarti sulla scrittura di codice per soddisfare le esigenze aziendali. Non devi preoccuparti dell'infrastruttura di base perché Oracle Cloud Infrastructure Functions garantirà che la tua applicazione sia altamente disponibile, scalabile, sicura e monitorata. Puoi distribuire il codice, richiamarlo direttamente o attivarlo in risposta agli eventi e ricevere la fatturazione solo per le risorse consumate durante l'esecuzione.

  • Servizi Oracle Cloud Infrastructure Load Balancing

    Se necessario, un load balancer può modificare dinamicamente la sua larghezza di banda. È possibile utilizzare l'API per automatizzare questa scala.

  • Autonomous Database

    Il database autonomo ti consente di aumentare o ridurre la capacità della CPU o dello storage senza alcun impatto sul sistema. Puoi utilizzare l'API per automatizzare il ridimensionamento. Facoltativamente, Autonomous Database fornisce il ridimensionamento automatico fino a tre volte l'OCPU, che consente il ridimensionamento automatico senza chiamare un'API separata.

  • Sistemi database Virtual Machine

    Il sistema DB VM ti consente di modificare la forma di un sistema DB VM attivo o inattivo. Puoi utilizzare l'API per automatizzare questo ridimensionamento. Inoltre, puoi ridimensionare lo storage online del sistema DB VM e Oracle fornisce la utility di ridimensionamento dinamico Oracle.

    Nota:

    La modifica della forma di un sistema DB VM ne determina il riavvio. Per i sistemi DB VM multinodo, questa procedura viene eseguita in sequenza per garantire la disponibilità del servizio. Assicurarsi di configurare il Timeout rimozione nei servizi dell'applicazione in modo da configurare il tempo di attesa delle operazioni di ridimensionamento prima della rimozione delle sessioni server.
  • Oracle Exadata Database Service

    Oracle Exadata Database Service ti consente di eseguire lo scale-up o lo scale-down della CPU per i nodi esistenti senza tempi di inattività. Le versioni X8M o successive consentono di aggiungere nodi di database e di storage al cluster per aumentare la CPU, lo storage o entrambi. Per automatizzare questo ridimensionamento, puoi utilizzare l'API o la utility di ridimensionamento dinamico Oracle.

Distribuire il traffico tra domini e aree di disponibilità

Architetto enterprise, architetto cloud, lead infrastruttura

Utilizzare i criteri di bilanciamento del carico, DNS e gestione del traffico per distribuire il traffico su più domini e aree di disponibilità.

Utilizzare i seguenti servizi per distribuire il traffico su più domini e aree di disponibilità:

  • Oracle Cloud Infrastructure Domain Name System (DNS)

    Il servizio DNS (Domain Name System) di Oracle Cloud Infrastructure consente di creare e gestire le zone DNS. È possibile creare zone, aggiungere record alle zone e consentire alla rete edge di Oracle Cloud Infrastructure di gestire le query DNS del dominio.

  • Criteri di indirizzamento per la gestione del traffico di Oracle Cloud Infrastructure

    Il servizio Criteri di indirizzamento per la gestione del traffico di Oracle Cloud Infrastructure consente di guidare il traffico verso gli endpoint in base a varie condizioni, tra cui l'integrità degli endpoint e le origini geografiche delle richieste DNS.

    È possibile configurare i criteri per fornire risposte intelligenti alle query DNS, per cui risposte diverse (endpoint) possono essere utilizzate per la query a seconda della logica definita dal cliente nel criterio. I criteri di gestione del traffico possono tenere conto dello stato delle risposte per fornire funzionalità di failover, fornire la capacità di caricare il traffico di bilanciamento su più risorse e tenere conto della posizione in cui è stata avviata la query per fornire un meccanismo semplice, flessibile e potente per guidare in modo efficiente il traffico DNS.

  • Oracle Cloud Infrastructure Load Balancing

    Il servizio Oracle Cloud Infrastructure Load Balancing automatizza la distribuzione del traffico da un unico punto di accesso a più server raggiungibili dalla rete cloud virtuale (VCN).

    Il servizio offre un load balancer con la scelta di un indirizzo IP pubblico o privato e larghezza di banda di cui è stato eseguito il provisioning. Un load balancer migliora l'utilizzo delle risorse, facilita la scalabilità e contribuisce a garantire un'elevata disponibilità. È possibile configurare più criteri di bilanciamento del carico e controlli dello stato specifici dell'applicazione per assicurarsi che il load balancer indirizzi il traffico solo a istanze in buono stato. Il load balancer può ridurre la finestra di manutenzione drenando il traffico da un Application Server non in buono stato prima di rimuoverlo dal servizio per la manutenzione.

Esegui test caricamento

Architetto cloud, lead infrastruttura, sviluppatore applicazioni

Adottare una metodologia di test del carico per misurare se l'attività di ridimensionamento soddisferà i requisiti dell'applicazione. Eseguire regolari test di carico sull'applicazione per convalidare i metodi di scala. Assicurarsi che i casi di prova riflettano il traffico reale degli utenti, se possibile, in quanto i test artificiali possono fornire un falso senso di fiducia.