Consigli per la selezione dei servizi corretti
Si applica a questa raccomandazione per l'efficienza delle prestazioni di Azure Well-Architected Framework:
PE:03 | Selezionare i servizi corretti. I servizi, l'infrastruttura e le selezioni livello devono supportare la capacità di raggiungere gli obiettivi di prestazioni del carico di lavoro e supportare le modifiche di capacità previste. Le selezioni devono anche pesare i vantaggi dell'uso delle funzionalità della piattaforma o della creazione di un'implementazione personalizzata. |
---|
Questa guida descrive i consigli per la selezione dei servizi appropriati per il carico di lavoro. I consigli seguenti consentono di scegliere i servizi che soddisfano meglio i requisiti e le esigenze del carico di lavoro. Quando si usano i servizi progettati per gestire i requisiti del carico di lavoro, è possibile assicurarsi che il carico di lavoro soddisfi le destinazioni di prestazioni. Se si scelgono servizi inappropriati per il carico di lavoro, i servizi potrebbero non essere in grado di gestire le richieste del carico di lavoro. I servizi insufficienti possono causare tempi di risposta lenti, colli di bottiglia o errori del carico di lavoro.
Definizioni
Termine | Definizione |
---|---|
Zona di disponibilità | Un gruppo separato di data center all'interno di un'area. Ogni zona di disponibilità è indipendente dagli altri, con la propria alimentazione, raffreddamento e infrastruttura di rete. Molte aree supportano le zone di disponibilità. |
Servizio di calcolo | Servizio che fornisce l'infrastruttura necessaria per eseguire un'applicazione. |
Servizio di database | Servizio che fornisce database relazionali e non relazionali per l'applicazione. |
Infrastruttura | I componenti fisici del cloud computing e la posizione geografica dei componenti. |
Infrastruttura distribuita come servizio (IaaS, Infrastructure as a Service) | Servizio in cui il cliente è responsabile del sistema operativo, dell'identità, delle applicazioni e della rete. |
Piattaforma distribuita come servizio (PaaS, Platform as a Service) | Servizio in cui il provider di servizi cloud è responsabile del sistema operativo. Il provider di servizi cloud condivide la responsabilità del cliente per la gestione di identità, applicazioni e rete. |
Region | Perimetro geografico che contiene un set di data center. |
Risorsa | Singola entità o componente che è possibile creare, configurare e usare all'interno di un provider di servizi cloud. |
Servizio | Prodotto o offerta da un provider di servizi cloud. |
Codice di riferimento del prodotto (SKU) | Livello di servizio per un servizio di Azure. |
Servizio di archiviazione | Servizio che fornisce l'archiviazione per oggetti, blocchi e file. |
Strategie di progettazione chiave
I servizi scelti devono essere allineati alle destinazioni di prestazioni del carico di lavoro e adattabili alle future esigenze di capacità. Man mano che il carico di lavoro si espande o si evolve, i servizi usati devono corrispondere agli standard di prestazioni senza richiedere modifiche importanti. Considerare l'equilibrio tra le funzionalità della piattaforma e le implementazioni personalizzate. Le funzionalità della piattaforma offrono soluzioni immediate, ma opzioni predefinite personalizzate offrono una personalizzazione precisa. Le selezioni dei servizi devono essere sia in avanti che personalizzate per le esigenze specifiche, tenendo conto dei compromessi tra praticità e personalizzazione.
Comprendere i requisiti del carico di lavoro
La comprensione dei requisiti del carico di lavoro fa riferimento alla comprensione delle esigenze tecniche e funzionali di un carico di lavoro. Questa analisi consente di determinare le risorse, l'archiviazione, il calcolo, la rete e altre specifiche necessarie per eseguire il carico di lavoro. L'allineamento dei servizi alle esigenze specifiche di un carico di lavoro consente di evitare il overprovisioning o la sottoutilizzazione delle risorse.
Valutare le esigenze e le caratteristiche del carico di lavoro per determinare i requisiti e allineare i requisiti del carico di lavoro alle destinazioni di prestazioni a ogni livello. È necessario tenere conto dei vincoli o delle dipendenze. Quando si comprendono i requisiti del carico di lavoro, è possibile prendere decisioni informate. È possibile determinare l'infrastruttura corretta e implementare strategie per gestire carichi o variazioni di picco in richiesta.
Soddisfare le destinazioni di prestazioni. Selezionare i servizi che consentono di soddisfare le destinazioni di prestazioni per il carico di lavoro. Assicurarsi che un servizio possa supportare le esigenze di prestazioni e che sia possibile monitorare le prestazioni. Raccogliere i dati sulle prestazioni per i componenti critici.
Prendere in considerazione le restrizioni organizzative. Acquisire familiarità con le restrizioni che l'organizzazione potrebbe avere nei servizi distribuiti. Prendere in considerazione queste restrizioni quando si progetta la soluzione.
Prendere in considerazione i requisiti di conformità e sicurezza. I requisiti di conformità e sicurezza possono influire sui servizi e sulle configurazioni selezionati. Assicurarsi che un servizio scelto soddisfi i requisiti correlati all'archiviazione, alla crittografia, ai controlli di accesso, ai log di controllo e alle posizioni dei dati.
Prendere in considerazione le competenze del team. Il team compila e gestisce i carichi di lavoro. I diversi servizi richiedono competenze diverse. Scegliere i servizi che il team sa usare o eseguire il commit per eseguirne il training prima di scegliere un servizio. Assicurarsi che i membri del team dispongano delle competenze e delle conoscenze per usare in modo efficace i servizi e ottimizzare le prestazioni.
Compromesso: i servizi specializzati offrono funzionalità specifiche, ma potrebbero limitare la personalizzazione. Le risorse flessibili richiedono una maggiore gestione e configurazione rispetto ai servizi specializzati. I servizi gestiti offrono facilità di gestione, ma potrebbero avere meno controllo sull'infrastruttura sottostante rispetto alle risorse self-managed.
Comprendere i servizi
Informazioni sui servizi riguardano la conoscenza delle funzionalità, dei limiti e delle funzionalità degli strumenti e delle offerte di un fornitore. Una comprensione dei servizi consente di usare funzionalità predefinite, riducendo la necessità di soluzioni personalizzate complesse e migliorando l'efficienza delle prestazioni.
Prendere in considerazione vari fattori e ottenere una comprensione completa di un servizio prima di sceglierlo. Ricerca e valutazione di servizi e strumenti offerti dal provider. Determinare quali servizi e strumenti sono più allineati ai requisiti del carico di lavoro. Prendere in considerazione i fattori come servizi gestiti, opzioni serverless e servizi specializzati.
Informazioni sui limiti del servizio
I limiti dei servizi sono le soglie o i limiti predefiniti impostati dai provider di servizi. I limiti del servizio definiscono l'utilizzo massimo di risorse o funzionalità all'interno di tale servizio. Quando si ha familiarità con i limiti del servizio, è possibile evitare problemi come contesa delle risorse, riduzione delle prestazioni o interruzioni impreviste del servizio. È possibile pianificare e ridimensionare l'infrastruttura in modo appropriato. La pianificazione tiene conto di fattori quali volume di dati, capacità di elaborazione e requisiti di residenza dei dati.
Preferisce le funzionalità della piattaforma
Le funzionalità della piattaforma preferite usano funzionalità predefinite fornite da un provider per gestire attività specifiche senza codice personalizzato. Le funzionalità della piattaforma per la progettazione dei fornitori consentono di gestire in modo efficiente le attività specifiche su larga scala e gestiscono regolarmente queste funzionalità. Le funzionalità della piattaforma consentono di sfruttare meglio le funzionalità dell'infrastruttura cloud. Scegliere i servizi che consentono di disattivare la funzionalità alla piattaforma anziché scrivere e gestire il proprio codice personalizzato. In molti casi, le soluzioni PaaS (Platform-as-a-Service) offrono prestazioni migliori rispetto al codice personalizzato. Il codice personalizzato aggiunge complessità e rende il carico di lavoro soggetto a problemi di prestazioni. Sviluppare codice personalizzato solo quando le funzionalità del servizio non sono sufficienti.
Compromesso: il servizio migliore per il carico di lavoro potrebbe essere una tecnologia in cui il team non è qualificato, non può permettersi o potrebbe richiedere livelli di sicurezza aggiuntivi. Ad esempio, un servizio di bilanciamento del carico pubblico potrebbe soddisfare le esigenze di prestazioni. Tuttavia, se non si dispone di un web application firewall, potrebbe essere necessario distribuire un firewall per proteggere il carico di lavoro.
Valutare i requisiti dell'infrastruttura
L'efficienza delle prestazioni delle risorse è associata all'infrastruttura in cui risiedono. Rende la selezione dell'infrastruttura appropriata per l'efficienza delle prestazioni del servizio. La valutazione dei requisiti dell'infrastruttura significa identificare l'area geografica e le zone di disponibilità più adatte per supportare il carico di lavoro. Le considerazioni chiave in questo processo decisionale includono:
Informazioni sulle aree e sulle zone di disponibilità. Ogni area corrisponde a una posizione geografica distinta. Le zone di disponibilità rappresentano singoli data center fisici all'interno di una determinata area.
Modello di distribuzione a area singola e a più aree. Un modello di distribuzione a area singola distribuisce tutte le risorse in una singola area. Un modello di distribuzione a più aree distribuisce le risorse in più aree. Una distribuzione in più aree può ridurre la latenza agli utenti finali e ridurre i vincoli di capacità. Tuttavia, può anche aumentare il costo e la complessità del carico di lavoro. Scegliere il modello di distribuzione più adatto alle esigenze del carico di lavoro.
Informazioni sulle funzionalità disponibili. Diverse aree hanno diverse funzionalità disponibili, ad esempio il numero di servizi e zone di disponibilità. Comprendere le funzionalità disponibili in un'area prima di selezionarla. Assicurarsi che un'area soddisfi le esigenze di prestazioni del carico di lavoro.
Prendere in considerazione la latenza. La latenza, i dati di tempo necessari per il viaggio dall'origine alla destinazione aumentano gli altri servizi. I servizi che comunicano tra aree o zone di disponibilità possono affrontare una maggiore latenza. È consigliabile identificare i servizi che comunicano e posizionarli all'interno della stessa area. Inoltre, la selezione di un'area vicina alla base utente primaria può ridurre al minimo la latenza, offrendo un'esperienza utente migliore.
Informazioni sul mapping dei data center. Le zone di disponibilità potrebbero non eseguire il mapping coerente agli stessi data center tra sottoscrizioni diverse. Ad esempio, 'Zona 1' in 'Sottoscrizione A' potrebbe essere diverso da 'Zona 1' in 'Sottoscrizione B'. Quando si opera con più sottoscrizioni, è necessario conoscere questi mapping per selezionare le zone che rafforzano le prestazioni in modo ottimale.
Valutare i requisiti di rete
Valutare le esigenze di rete per determinare i servizi e le configurazioni del carico di lavoro appropriati. Assicurarsi che la rete possa supportare il carico di lavoro. Per valutare i requisiti di rete, prendere in considerazione:
Informazioni sul traffico di rete. Valutare il traffico di rete previsto per il carico di lavoro. Comprendere le esigenze di trasferimento dei dati e la frequenza delle richieste di rete.
Informazioni sui requisiti di larghezza di banda. Determinare i requisiti di larghezza di banda per il carico di lavoro. Prendere in considerazione la quantità di dati trasmessi e ricevuti tramite la rete.
Informazioni sulla latenza di rete. Valutare la latenza desiderata per il carico di lavoro. Usare reti virtuali private e reti backbone anziché attraversare Internet pubblico. Questa tecnica riduce la latenza del carico di lavoro.
Comprendere la velocità effettiva. Prendere in considerazione la velocità effettiva necessaria per il carico di lavoro. La velocità effettiva si riferisce alla quantità di dati che possono essere trasmessi tramite una rete in un determinato momento. Configurare le opzioni di routing di rete per sfruttare i vantaggi della velocità effettiva di rete.
Compromesso: la rete virtuale privata limita l'accesso pubblico e rende difficile distribuire e gestire le risorse.
Valutare i requisiti di calcolo
La valutazione dei requisiti di calcolo comporta la valutazione delle esigenze di calcolo specifiche di un carico di lavoro, inclusi fattori come il tipo di istanza, la scalabilità e la containerizzazione. Diversi servizi di calcolo hanno diverse funzionalità e caratteristiche che possono influire sulle prestazioni del carico di lavoro. Selezionare il servizio di calcolo ottimale per assicurarsi che il carico di lavoro venga eseguito in modo efficiente. Prendere in considerazione le strategie seguenti:
Informazioni sui tipi di istanza. I diversi tipi di istanza sono ottimizzati per carichi di lavoro diversi, ad esempio istanze ottimizzate per la CPU, ottimizzate per la memoria e GPU. Scegliere il tipo di istanza allineato alle esigenze.
Valutare la scalabilità automatica. Se il carico di lavoro ha una domanda variabile, prendere in considerazione un servizio di calcolo con una funzionalità di scalabilità automatica che può modificare automaticamente la capacità di calcolo in base alla richiesta. Il ridimensionamento automatico consente di avere risorse sufficienti durante i periodi di picco e impedisce il overprovisioning durante periodi di domanda bassa.
Prendere in considerazione la containerizzazione. I contenitori offrono vantaggi per le prestazioni rispetto a un carico di lavoro non containerizzato. È consigliabile usare la containerizzazione se si adatta alle esigenze dell'architettura. I contenitori migliorano le prestazioni di calcolo tramite isolamento, efficienza delle risorse, tempo di avvio rapido e portabilità.
Quando si usano contenitori, prendere in considerazione i fattori di progettazione, ad esempio il contenitore di tutti i componenti dell'applicazione. Usare runtime di contenitori basati su Linux per immagini leggere. Assegnare ai contenitori brevi cicli di vita per renderli non modificabili e sostituibili. Raccogliere i log e le metriche pertinenti dai contenitori, dagli host del contenitore e dal cluster sottostante. Usare questi dati per monitorare e analizzare le prestazioni. I contenitori sono solo un componente di un'architettura complessiva. Scegliere un agente di orchestrazione contenitore appropriato, ad esempio Kubernetes, per migliorare ulteriormente le prestazioni e la scalabilità.
Vantaggio contenitore Descrizione Isolamento I contenitori forniscono ambienti isolati per le applicazioni. I contenitori assicurano che le risorse dell'applicazione non interferiscano tra loro. Questo isolamento garantisce che le risorse di calcolo assegnate a un contenitore siano dedicate all'esecuzione di un'applicazione specifica, causando prestazioni migliori. Efficienza delle risorse I contenitori sono leggeri e condividono il kernel del sistema operativo host, che consente un utilizzo efficiente delle risorse. Più contenitori possono essere eseguiti nella stessa infrastruttura virtualizzata, che ottimizza l'uso delle risorse di calcolo. Tempo di avvio rapido Le immagini del contenitore sono predefinite e vengono avviate rapidamente quando necessario. Questo tempo di avvio rapido consente la scalabilità rapida. Consente alle applicazioni di aumentare o ridurre in base alla domanda ed evitare colli di bottiglia delle prestazioni. Portabilità I contenitori incapsulano tutte le dipendenze e le librerie necessarie all'interno dell'immagine. Con i contenitori, è più semplice spostare applicazioni in diversi sistemi operativi o ambienti. Questa portabilità consente la flessibilità nella distribuzione di applicazioni e consente una semplice migrazione tra provider cloud o ambienti locali. Scegliere il livello appropriato. All'interno di ogni servizio di calcolo è possibile impostare la capacità di calcolo, selezionare le funzionalità e abilitare le funzionalità. In base alle destinazioni di prestazioni, scegliere il livello di servizio appropriato per il servizio di calcolo.
Determinare il numero di istanze. Determinare il numero minimo di istanze richiesto dal carico di lavoro. Alcuni carichi di lavoro, anche al carico minimo, potrebbero richiedere più di un'istanza di una risorsa di calcolo. Impostare di conseguenza il numero minimo di istanze.
Valutare i requisiti di bilanciamento del carico
Il bilanciamento del carico garantisce che il traffico di rete venga distribuito in modo uniforme e impedisce a qualsiasi singolo server di essere sovraccaricato con le richieste. Il bilanciamento del carico consente di evitare colli di bottiglia e ridurre i tempi di risposta. Valutare i diversi servizi di bilanciamento del carico offerti dal provider di servizi cloud. Esaminare la documentazione e gli strumenti di confronto del provider di servizi cloud per comprendere le funzionalità. Selezionare il servizio più adatto per il carico di lavoro. Per selezionare un servizio di bilanciamento del carico, prendere in considerazione:
Informazioni sul tipo di traffico: determinare se il servizio di bilanciamento del carico deve gestire il traffico Web, ad esempio HTTP e HTTPS o altri protocolli, ad esempio Tcp (Transmission Control Protocol) o User Datagram Protocol (UDP).
Conoscere il routing globale o a livello di area: determinare se il carico di lavoro richiede il bilanciamento del carico all'interno di un'area specifica o in più aree.
Conoscere gli obiettivi a livello di servizio (SLOs): considerare il contratto di servizio (contratto di servizio). I diversi servizi di bilanciamento del carico offrono diversi livelli di prestazioni.
Informazioni sulle funzionalità: considerare i servizi di bilanciamento del carico che forniscono l'accelerazione del sito, la distribuzione ottimale del traffico e il bilanciamento del carico livello 4 a bassa latenza.
Valutare i requisiti dell'archivio dati
La valutazione dei requisiti dell'archivio dati riguarda la valutazione delle esigenze e delle condizioni specifiche per l'archiviazione, il recupero e la gestione dei dati. Questa valutazione considera fattori come volume di dati, velocità di accesso, coerenza e durabilità. Un carico di lavoro potrebbe richiedere più tipi di archivi dati in base a diversi requisiti aziendali e tecnici. L'identificazione dei servizi di archivio dati corretti e l'implementazione appropriata consentono di impedire colli di bottiglia e garantire l'accesso rapido ai dati.
Valutare i requisiti del database
Il database può influire su fattori come l'archiviazione dei dati e il recupero, l'elaborazione delle transazioni, le garanzie di coerenza e la gestione di dati di grandi dimensioni o in rapida modifica. Valutare le esigenze e i criteri per il database. Selezionare un sistema di database in grado di soddisfare tali requisiti. Valutare i requisiti del database prima di scegliere un database. Per valutare i requisiti del database e scegliere il database appropriato, seguire questa procedura:
Identificare le esigenze del carico di lavoro. Comprendere i requisiti specifici del carico di lavoro, ad esempio il volume di dati, i tassi di transazione previsti, la concorrenza, i tipi di dati e la crescita prevista. Valutare sistemi di database diversi in base alle esigenze del carico di lavoro. Ad esempio, se il carico di lavoro richiede un'elaborazione dati in tempo reale ad alte prestazioni, è possibile scegliere un sistema di database ottimizzato per l'inserimento rapido dei dati e la bassa latenza.
Prendere in considerazione il modello di dati. Determinare il modello di dati più adatto al carico di lavoro. Valutare i requisiti del database per garantire che il database scelto supporti le strutture di dati, le relazioni e i vincoli di integrità necessari. Ad esempio, se i dati hanno una struttura altamente relazionale, è possibile scegliere un sistema di gestione del database relazionale (RDBMS) che fornisce supporto affidabile per le transazioni e l'integrità referenziale. Il modello di dati potrebbe essere gerarchico, di rete, relazionale, orientato agli oggetti o NoSQL. Valutare la complessità del modello di dati. Assicurarsi che il database scelto supporti le strutture e le relazioni di dati necessarie.
Valutare le funzionalità. Prendere in considerazione fattori quali modelli di lettura/scrittura, complessità delle query, requisiti di latenza e esigenze di scalabilità. Valutare le funzionalità delle prestazioni di sistemi di database diversi di conseguenza. Alcuni database sono in excel nei carichi di lavoro di lettura,mentre altri sono ottimizzati per carichi di lavoro analitici o con utilizzo intensivo di scrittura.
Valutare il carico. Si considerino fattori quali volume di dati, tassi di transazione, rapporti di lettura/scrittura e crescita prevista. Scegliere un database in grado di gestire il carico di lavoro previsto per garantire un'operazione uniforme e impedire colli di bottiglia delle prestazioni man mano che il carico di lavoro viene ridimensionato. Prendere in considerazione i requisiti di scalabilità del carico di lavoro. Questi requisiti includono la crescita dei dati prevista, l'accesso utente simultaneo e la necessità di ridimensionamento orizzontale o verticale. Valutare le opzioni di scalabilità e le funzionalità di disponibilità fornite da sistemi di database diversi.
Valutare i requisiti di archiviazione
Scegliere servizi di archiviazione allineati ai modelli di accesso ai dati, requisiti di durabilità e esigenze di prestazioni. La maggior parte dei carichi di lavoro cloud usa una combinazione di tecnologie di archiviazione. Questa tecnica è nota come approccio di persistenza poliglot. Determinare la combinazione appropriata di servizi di archiviazione per il carico di lavoro. È anche possibile separare i dati per evitare la contaminazione. Ad esempio, potrebbe essere disponibile un account di archiviazione separato per il monitoraggio dei dati e dei dati aziendali. La scelta della combinazione e della corretta implementazione è importante per ottimizzare le prestazioni dell'applicazione.
Valutare i requisiti della cache
Una cache archivia i dati a cui si accede di frequente. La memorizzazione nella cache riduce la latenza di accesso ai dati e riduce il carico nei componenti di archiviazione dati. Consente al carico di lavoro di gestire più richieste senza ridimensionare. È comune memorizzare nella cache i dati del carico di lavoro e il contenuto statico. Una cache Redis può archiviare i dati di sessione, i risultati del database, le risposte api e i dati di riferimento, ad esempio le impostazioni di configurazione. Una rete di distribuzione del contenuto o un'app Web statica può memorizzare nella cache e servire contenuto statico. Prendere in considerazione la memorizzazione nella cache dei dati per migliorare le prestazioni del carico di lavoro. Scegliere l'opzione di memorizzazione nella cache corretta per il carico di lavoro, preferendo i servizi di memorizzazione nella cache della piattaforma, ad esempio Cache Redis di Azure, su quelli personalizzati o autonomi.
Facilitazione di Azure
Informazioni sui requisiti: usare Monitoraggio di Azure per raccogliere e analizzare i dati dal carico di lavoro. Il monitoraggio fornisce informazioni dettagliate sulle prestazioni e sull'integrità dei carichi di lavoro, consentendo di identificare e risolvere i problemi.
Informazioni e valutazione dei servizi: esaminare i servizi e i prodotti di Azure per determinare se soddisfano i requisiti di prestazioni. Azure offre diversi servizi che consentono di ottenere lo stesso risultato. È possibile allineare la scelta del servizio alle esigenze di prestazioni, al set di competenze del team e ai requisiti di costo.
Per un elenco dei limiti di Azure più comuni, consultare Limiti, quote e vincoli di servizi e sottoscrizioni di Azure.
L'esempio di limiti e quote di query illustra come eseguire query sui limiti e le quote per le risorse comunemente usate.
Azure dispone di molti servizi che possono supportare qualsiasi carico di lavoro. Esaminare le linee guida per la selezione per ogni tipo di servizio per semplificare la selezione in base ai requisiti. Vedere le guide seguenti per scegliere:
- Un’area
- Servizi di calcolo
- Servizi contenitore
- Servizi di archivio dati
- Servizi di bilanciamento del carico
- Servizi di archiviazione
Collegamenti correlati
- Aree di Azure con supporto della zona di disponibilità
- Raccomandazioni per la definizione di destinazioni di prestazioni
- Raccomandazioni per l'uso di zone e aree di disponibilità
- Quali sono le zone di disponibilità?
- Selezionare aree di Azure
Elenco di controllo dell'efficienza delle prestazioni
Fare riferimento al set completo di raccomandazioni.