Condividi tramite


Procedure consigliate per l'architettura per macchine virtuali e set di scalabilità di Azure

Macchine virtuali di Azure è un tipo di servizio di calcolo che è possibile usare per creare ed eseguire macchine virtuali (VM) nella piattaforma Azure. Offre flessibilità in diversi SKU, sistemi operativi e configurazioni con vari modelli di fatturazione.

Questo articolo presuppone che come architetto sia stato esaminato l'albero delle decisioni di calcolo e che sia stato scelto Macchine virtuali come servizio di calcolo per il carico di lavoro. Le linee guida presenti in questo articolo forniscono raccomandazioni architettoniche che sono collegate ai principi dei pilastri del Framework Well-Architected.

Importante

Come usare questa guida

Ogni sezione include un elenco di controllo di progettazione che presenta aree di interesse per l'architettura insieme alle strategie di progettazione adattate all'ambito tecnologico.

Sono incluse anche raccomandazioni sulle funzionalità tecnologiche che possono aiutare a materializzare tali strategie. Le raccomandazioni non rappresentano un elenco completo di tutte le configurazioni disponibili per le macchine virtuali e le relative dipendenze. Vengono invece elencate le raccomandazioni principali mappate alle prospettive di progettazione. Usa le raccomandazioni per costruire una prova del concetto o per ottimizzare gli ambienti esistenti.

Architettura di base che illustra le raccomandazioni principali: Architettura di base delle macchine virtuali.

Ambito della tecnologia

Questa revisione è incentrata sulle decisioni correlate per le risorse di Azure seguenti:

  • Macchine virtuali

  • Set di scalabilità di macchine virtuali di Azure

    Diagramma che mostra le decisioni correlate per le macchine virtuali e i set di scalabilità di macchine virtuali di Azure.

I dischi sono una dipendenza cruciale per le architetture basate su macchine virtuali, ma non sono trattati in questo articolo. Per altre informazioni, vedere Procedure consigliate per l'architettura dell'archiviazione su disco Azure.

Affidabilità

Lo scopo del pilastro Affidabilità è fornire funzionalità continue attraverso la costruzione di una resilienza sufficiente e la capacità di recuperare rapidamente dai guasti.

I principi di progettazione dell'affidabilità forniscono una strategia di progettazione di alto livello applicata ai singoli componenti, ai flussi del sistema e al sistema nel suo complesso.

Elenco di controllo della progettazione

Avvia la tua strategia di progettazione basandoti sulla checklist di revisione del progetto per l'affidabilità. Determinare la rilevanza per i requisiti aziendali tenendo presenti gli SKU e le funzionalità delle macchine virtuali e le relative dipendenze. Estendere la strategia per includere altri approcci in base alle esigenze.

  • Esaminare le quote e i limiti delle macchine virtuali che potrebbero comportare restrizioni di progettazione. Le macchine virtuali hanno limiti e quote specifici, che variano in base al tipo di macchina virtuale o all'area. Potrebbero esserci restrizioni di sottoscrizione, ad esempio il numero di macchine virtuali per sottoscrizione o il numero di core per macchina virtuale. Se altri carichi di lavoro condividono la sottoscrizione, la possibilità di utilizzare i dati potrebbe essere ridotta. Controllare i limiti per le macchine virtuali, i set di scalabilità di macchine virtuali e i dischi gestiti.

  • Eseguire un'analisi della modalità di errore per ridurre al minimo i punti di errore analizzando le interazioni delle macchine virtuali con i componenti di rete e archiviazione. Scegli configurazioni come i dischi del sistema operativo effimeri per localizzare l'accesso al disco ed evitare salti di rete. Aggiungere un servizio di bilanciamento del carico per migliorare la conservazione automatica distribuendo il traffico di rete tra più macchine virtuali, migliorando la disponibilità e l'affidabilità.

  • Calcolare gli obiettivi del livello di servizio compositi in base ai contratti di servizio di Azure. Assicurarsi che lo SLO non sia superiore ai contratti di servizio di Azure per evitare aspettative irrealistiche e potenziali problemi.

    Tenere presente le complessità introdotte dalle dipendenze. Ad esempio, alcune dipendenze, ad esempio reti virtuali e schede di interfaccia di rete, non hanno contratti di servizio propri. Altre dipendenze, ad esempio un disco dati associato, hanno contratti di servizio che si integrano con i contratti di servizio delle macchine virtuali. È consigliabile prendere in considerazione queste varianti perché possono influire sulle prestazioni e sull'affidabilità delle macchine virtuali.

    Tenere conto delle dipendenze critiche delle macchine virtuali nei componenti come dischi e componenti di rete. Se si conoscono queste relazioni, è possibile determinare i flussi critici che influiscono sull'affidabilità.

  • Creare l'isolamento di stato. I dati del carico di lavoro devono trovarsi in un disco dati separato per evitare interferenze con il disco del sistema operativo. Se una macchina virtuale ha esito negativo, è possibile creare un nuovo disco del sistema operativo con lo stesso disco dati, che garantisce resilienza e isolamento degli errori. Per altre informazioni, vedere Dischi temporanei del sistema operativo.

  • Rendere ridondanti le macchine virtuali e le relative dipendenze tra le zone. Se una macchina virtuale va in errore, il carico di lavoro deve continuare a funzionare grazie alla ridondanza. Includere le dipendenze nelle scelte di ridondanza. Ad esempio, usare le opzioni di ridondanza predefinite disponibili con i dischi. Usare indirizzi IP ridondanti per zona per garantire la disponibilità dei dati e un tempo di attività elevato.

  • Essere pronti per scalare verticalmente e orizzontalmente per evitare la riduzione del livello di servizio e per evitare guasti. I set di scalabilità di macchine virtuali hanno funzionalità di scalabilità automatica che creano nuove istanze in base alle esigenze e distribuiscono il carico tra più macchine virtuali e zone di disponibilità.

  • Esplorare le opzioni di ripristino automatico. Azure supporta il monitoraggio del degrado dell'integrità e le funzionalità di riparazione automatica per le macchine virtuali. Ad esempio, i set di scalabilità forniscono riparazioni automatiche delle istanze. Negli scenari più avanzati, la riparazione automatica prevede l'uso di Azure Site Recovery, la presenza di uno standby passivo per il failover o la ridistribuzione dall'infrastruttura come codice (IaC). Il metodo scelto deve essere allineato ai requisiti aziendali e alle operazioni dell'organizzazione. Per altre informazioni, vedere Interruzioni del servizio vm.

  • Diritti per le macchine virtuali e le relative dipendenze. Comprendere il lavoro previsto della macchina virtuale per assicurarsi che non sia sottodimensionato e possa gestire il carico massimo. Avere capacità aggiuntiva per attenuare gli errori.

  • Creare un piano di ripristino di emergenza completo. La preparazione alle emergenze comporta la creazione di un piano completo e la scelta di una tecnologia per il ripristino.

    Le dipendenze e i componenti con stato, ad esempio l'archiviazione collegata, possono complicare il ripristino. Se i dischi vanno giù, quell'errore influisce sul funzionamento della macchina virtuale. Includere un processo chiaro per queste dipendenze nei piani di ripristino.

  • Eseguire operazioni con rigore. Le scelte di progettazione dell'affidabilità devono essere supportate da operazioni efficaci in base ai principi di monitoraggio, test di resilienza nell'ambiente di produzione, patch e aggiornamenti delle macchine virtuali dell'applicazione automatizzate e coerenza delle distribuzioni. Per indicazioni operative, vedere Operational Excellence.

Consigli

Raccomandazione Beneficio
(Set di scalabilità) Usare i set di scalabilità di macchine virtuali in modalità di orchestrazione flessibile per distribuire le macchine virtuali. Rendi la tua applicazione a prova di futuro per il ridimensionamento e per sfruttare le garanzie di alta disponibilità che distribuiscono le macchine virtuali tra domini di errore in una regione o in una zona di disponibilità.
(VMs) Implementare endpoint di salute che emettono stati di integrità dell'istanza sulle macchine virtuali.

(Set di scalabilità) Abilitare le riparazioni automatiche nel set di scalabilità specificando l'azione di ripristino preferita.
Prendere in considerazione l'impostazione di un intervallo di tempo durante il quale le riparazioni automatiche vengono sospese se lo stato della macchina virtuale cambia.
Mantenere la disponibilità anche se un'istanza viene considerata malfunzionante. Le riparazioni automatiche avviano il ripristino sostituendo l'istanza difettosa.

L'impostazione di un intervallo di tempo può impedire operazioni di ripristino accidentali o premature.
(Set di scalabilità) Attiva l'overprovisioning nei set di scalabilità. L'overprovisioning riduce i tempi di distribuzione e offre un vantaggio in termini di costi perché le macchine virtuali aggiuntive non vengono fatturate.
(Set di scalabilità) Preallocare le istanze con pool di standby. Le istanze del pool di standby rimangono inattive, ma sono pronte per assumere il controllo dei carichi di lavoro in caso di guasto. Questa funzionalità migliora l'affidabilità del sistema.
(Set di scalabilità) Consentire l'orchestrazione flessibile per distribuire le istanze di macchina virtuale tra il maggior numero possibile di domini di errore. Questa opzione isola i domini di errore. Durante i periodi di manutenzione, quando viene aggiornato un dominio di errore, le istanze di macchina virtuale sono disponibili negli altri domini di errore.
(Set di scalabilità) Distribuire tra zone di disponibilità nei set di scalabilità. Configurare almeno due istanze in ogni zona.
Il bilanciamento della zona distribuisce equamente le istanze tra le zone.
Le istanze di macchina virtuale vengono fornite in posizioni fisicamente separate all'interno di ciascuna area di Azure, progettate per tollerare i guasti locali.
Tenere presente che, a seconda della disponibilità delle risorse, potrebbe esserci un numero non uniforme di istanze tra zone. Il bilanciamento della zona supporta la disponibilità assicurandosi che, se una zona è inattiva, le altre zone dispongono di istanze sufficienti.
Due istanze in ogni zona forniscono un buffer durante gli aggiornamenti.
(Set di scalabilità) Per migliorare il tempo di attività del servizio mantenendo il controllo sulle implicazioni dei costi degli aggiornamenti, abilitare MaxSurge. Le nuove istanze vengono create in batch usando il modello di scalabilità più recente. Dopo che le nuove istanze sono integre, le istanze precedenti vengono eliminate in batch. Questo processo continua fino a quando non vengono aggiornate tutte le istanze, senza tempi di inattività durante gli aggiornamenti.
(VMs) Approfitta della funzionalità di prenotazione della capacità. La capacità è riservata al tuo uso ed è disponibile nell'ambito degli SLA applicabili. È possibile eliminare le prenotazioni di capacità quando non sono più necessarie e la fatturazione è basata sul consumo.

Sicurezza

Lo scopo del pilastro Sicurezza è fornire garanzie di riservatezza, integrità e disponibilità al carico di lavoro.

I principi di progettazione della sicurezza forniscono una strategia di progettazione di alto livello per raggiungere tali obiettivi applicando approcci alla progettazione tecnica delle macchine virtuali.

Elenco di controllo della progettazione

Avvia la tua strategia di progettazione in base alla checklist di revisione della progettazione per la sicurezza e identifica vulnerabilità e controlli per migliorare il profilo di sicurezza. Estendere la strategia per includere altri approcci in base alle esigenze.

  • Esaminare le baseline di sicurezza per le macchine virtuali Linux e Windows e i set di scalabilità di macchine virtuali.

    Come parte delle scelte tecnologiche di base, prendere in considerazione le funzionalità di sicurezza degli SKU delle VM che supportano il carico di lavoro.

  • Garantire aggiornamenti e patch di sicurezza tempestivi e automatizzati. Assicurarsi che gli aggiornamenti vengano implementati e convalidati automaticamente usando un processo ben definito. Usare una soluzione come Automazione di Azure per gestire gli aggiornamenti del sistema operativo e mantenere la conformità alla sicurezza apportando aggiornamenti critici.

  • Identificare le macchine virtuali che contengono lo stato. Assicurarsi che i dati siano classificati in base alle etichette di riservatezza fornite dall'organizzazione. Proteggere i dati utilizzando controlli di sicurezza come adeguati livelli di crittografia per dati a riposo e dati in transito. Se si hanno requisiti di riservatezza elevata, è consigliabile usare controlli di sicurezza elevata come la doppia crittografia e il confidential computing di Azure per proteggere i dati in uso.

  • Fornire la segmentazione alle macchine virtuali e ai set di macchine virtuali scalabili impostando i limiti di rete e i controlli di accesso. Posizionare le macchine virtuali nei gruppi di risorse che condividono lo stesso ciclo di vita.

  • Applicare i controlli di accesso alle identità che tentano di raggiungere le macchine virtuali e anche alle macchine virtuali che raggiungono altre risorse. Usare Microsoft Entra ID per le esigenze di autenticazione e autorizzazione. Inserire password complesse, autenticazione a più fattori e controllo degli accessi in base al ruolo per le macchine virtuali e le relative dipendenze, ad esempio i segreti, per consentire alle identità consentite di eseguire solo le operazioni previste per i ruoli.

    Limitare l'accesso alle risorse in base alle condizioni usando l'accesso condizionale di Microsoft Entra. Definire i criteri condizionali in base alla durata e al set minimo di autorizzazioni necessarie.

  • Usare i controlli di rete per limitare il traffico in ingresso e in uscita. Isolare le macchine virtuali e i set di scalabilità nella rete virtuale di Azure e definire i gruppi di sicurezza di rete per filtrare il traffico. Protezione da attacchi DDoS (Distributed Denial of Service). Usare i servizi di bilanciamento del carico e le regole del firewall per proteggersi da attacchi di esfiltrazione di dati e traffico dannoso.

    Usare Azure Bastion per fornire connettività più sicura alle macchine virtuali per l'accesso operativo.

    La comunicazione tra le macchine virtuali e le soluzioni PaaS (Platform as a Service) deve essere tramite endpoint privati.

  • Ridurre la superficie di attacco grazie alla protezione avanzata delle immagini del sistema operativo e alla rimozione di componenti inutilizzati. Usare immagini più piccole e rimuovere file binari non necessari per eseguire il carico di lavoro. Rafforzare le configurazioni delle macchine virtuali rimuovendo le funzionalità, ad esempio gli account e le porte predefiniti, che non sono necessarie.

  • Proteggere i segreti , ad esempio i certificati necessari per proteggere i dati in transito. È consigliabile usare l'estensione Azure Key Vault per Windows o Linux che aggiorna automaticamente i certificati archiviati in un insieme di credenziali delle chiavi. Quando rileva una modifica nei certificati, l'estensione recupera e installa i certificati corrispondenti.

  • Rilevamento delle minacce. Monitorare le macchine virtuali per individuare minacce e configurazioni errate. Usare Defender per server per acquisire le modifiche delle macchine virtuali e del sistema operativo e mantenere un audit trail di accesso, nuovi account e modifiche alle autorizzazioni.

  • Prevenzione delle minacce. Proteggersi da attacchi malware e attori malintenzionati implementando controlli di sicurezza come firewall, software antivirus e sistemi di rilevamento delle intrusioni. Determinare se è necessario un ambiente di esecuzione attendibile ( TEE ).

Consigli

Raccomandazione Beneficio
(Set di scalabilità) Assegnare un'identità gestita ai set di scalabilità. Tutte le macchine virtuali nel set di scalabilità ottengono la stessa identità tramite il profilo di macchina virtuale specificato.

(VM) È anche possibile assegnare un'identità gestita a singole macchine virtuali quando vengono create e quindi aggiungerle a un set di scalabilità, se necessario.
Quando le macchine virtuali comunicano con altre risorse, superano un limite di attendibilità. I set di scalabilità e le macchine virtuali devono autenticare la propria identità prima che sia consentita la comunicazione. Microsoft Entra ID gestisce l'autenticazione usando identità gestite.
(Set di scalabilità) Scegli le SKU di macchine virtuali con funzionalità di sicurezza.
Ad esempio, alcuni SKU supportano la crittografia BitLocker e il confidential computing fornisce la crittografia dei dati in uso.
Esaminare le funzionalità per comprendere le limitazioni.
Le funzionalità fornite da Azure sono basate su segnali acquisiti in molti tenant e possono proteggere le risorse meglio dei controlli personalizzati. È anche possibile usare i criteri per applicare tali controlli.
(Macchine virtuali, set di scalabilità) Applicare i tag consigliati dall'organizzazione nelle risorse fornite. L'assegnazione di tag è un modo comune per segmentare e organizzare le risorse e può essere fondamentale durante la gestione degli eventi imprevisti. Per altre informazioni, vedere Scopo della denominazione e dell'assegnazione di tag.
(VM, set di scalabilità) Impostare un profilo di sicurezza con le funzionalità di sicurezza che si desidera abilitare nella configurazione della macchina virtuale.
Ad esempio, quando si specifica la crittografia nell'host nel profilo, i dati archiviati nell'host della macchina virtuale vengono crittografati inattivi e i flussi vengono crittografati nel servizio di archiviazione.
Le funzionalità nel profilo di sicurezza vengono abilitate automaticamente quando viene creata la macchina virtuale.
Per altre informazioni, vedere Baseline di sicurezza di Azure per i set di scalabilità di macchine virtuali.
(VM) Scegliere le opzioni di rete sicure per il profilo di rete della macchina virtuale.

Non associare direttamente gli indirizzi IP pubblici alle macchine virtuali e non abilitare l'inoltro IP.

Assicurarsi che tutte le interfacce di rete virtuale abbiano un gruppo di sicurezza di rete associato.
È possibile impostare i controlli di segmentazione nel profilo di rete.
Gli utenti malintenzionati analizzano gli indirizzi IP pubblici. Questa attività rende le macchine virtuali vulnerabili alle minacce.
(VM) Scegliere le opzioni di archiviazione sicure per il profilo di archiviazione della macchina virtuale.

Abilitare la crittografia dei dischi e la crittografia dei dati inattivi per impostazione predefinita. Disabilitare l'accesso alla rete pubblica ai dischi delle macchine virtuali.
La disabilitazione dell'accesso alla rete pubblica consente di impedire l'accesso non autorizzato ai dati e alle risorse.
(VM, set di scalabilità) Includere le estensioni nelle macchine virtuali che proteggono dalle minacce.
Per esempio
- Estensione Key Vault per Windows e Linux
- Autenticazione dell'ID Microsoft Entra
- Microsoft Antimalware per Servizi cloud e macchine virtuali di Azure
- Estensione Crittografia dischi di Azure per Windows e Linux.
Le estensioni vengono usate per eseguire il bootstrap delle macchine virtuali con il software corretto che protegge l'accesso da e verso le macchine virtuali.
Le estensioni fornite da Microsoft vengono aggiornate di frequente per mantenere il passo con gli standard di sicurezza in continua evoluzione.

Ottimizzazione dei costi

L'ottimizzazione dei costi è incentrata su rilevare modelli di spesa, assegnare priorità agli investimenti in aree critiche e ottimizzare in altri per soddisfare il budget dell'organizzazione rispettando i requisiti aziendali.

I principi di progettazione di Ottimizzazione costi forniscono una strategia di progettazione di alto livello per raggiungere tali obiettivi e fare compromessi in base alle esigenze nella progettazione tecnica correlata alle macchine virtuali e al relativo ambiente.

Elenco di controllo della progettazione

Avvia la tua strategia di progettazione basata sulla checklist di revisione del design per l'ottimizzazione dei costi negli investimenti. Ottimizzare la progettazione in modo che il carico di lavoro sia allineato al budget allocato per esso. La progettazione deve usare le funzionalità di Azure appropriate, monitorare gli investimenti e trovare opportunità per ottimizzare nel tempo.

  • Stimare i costi realistici. Usare il calcolatore prezzi per stimare i costi delle macchine virtuali. Identificare la macchina virtuale migliore per il carico di lavoro usando il selettore di macchina virtuale. Per altre informazioni, vedere Prezzi di Linux e Windows .

  • Implementare limiti di costo. Usare i criteri di governance per limitare tipi di risorse, configurazioni e posizioni. Usare il controllo degli accessi in base al ruolo per bloccare le azioni che possono causare eccedenze.

  • Scegliere le risorse appropriate. La selezione di dimensioni e SKU del piano di macchina virtuale influisce direttamente sul costo complessivo. Scegliere le macchine virtuali in base alle caratteristiche del carico di lavoro. Il carico di lavoro è intensivo per la CPU o esegue processi interrompibili? Ogni SKU ha associate delle opzioni disco che influiscono sul costo complessivo.

  • Scegliere le funzionalità appropriate per le risorse dipendenti. Risparmiare sui costi di archiviazione di backup per il livello standard dell'insieme di credenziali usando l'archiviazione di Backup di Azure con capacità riservata. Offre uno sconto quando si esegue il commit di una prenotazione per un anno o tre anni.

    Il livello archivio in Archiviazione di Azure è un livello offline ottimizzato per l'archiviazione dei dati BLOB a cui si accede raramente. Il livello archivio offre i costi di archiviazione più bassi, ma costi e latenza di recupero dei dati più elevati rispetto ai livelli online ad accesso frequente e sporadico.

    Considerare l'uso del recupero in caso di disastro zona a zona per le VM per il ripristino in caso di guasto del sito, riducendo la complessità della disponibilità attraverso l'uso di servizi ridondanti a livello di zona. La complessità operativa ridotta può comportare vantaggi in termini di costi.

  • Scegliere il modello di fatturazione corretto. Valutare se i modelli basati sull'impegno per l'elaborazione ottimizzano i costi in base ai requisiti aziendali del carico di lavoro. Prendere in considerazione queste opzioni di Azure:

    • Prenotazioni di Azure: pagare in anticipo i carichi di lavoro prevedibili per ridurre i costi rispetto ai prezzi basati sul consumo.

      Importante

      Acquistare istanze riservate per ridurre i costi di Azure per i carichi di lavoro con un utilizzo stabile. Gestire l'utilizzo per assicurarsi di non pagare più risorse rispetto all'uso. Mantenere le istanze riservate semplici e mantenere basso il sovraccarico di gestione per ridurre i costi.

    • Piano di risparmio: se ci si impegna a spendere un importo orario fisso per i servizi di calcolo per uno o tre anni, questo piano può ridurre i costi.
    • Vantaggio Azure Hybrid: consente di risparmiare quando si esegue la migrazione delle macchine virtuali locali ad Azure.
  • Monitorare l'utilizzo. Monitorare continuamente i modelli di utilizzo e rilevare macchine virtuali inutilizzate o sottoutilizzate. In questi casi, arrestare le istanze VM quando non sono in uso. Il monitoraggio è un approccio chiave dell'eccellenza operativa. Per altre informazioni, vedere le raccomandazioni in Operational Excellence.

  • Cercare i modi per ottimizzare. Alcune strategie includono la scelta dell'approccio più conveniente tra l'aumento delle risorse in un sistema esistente o l'aumento delle prestazioni e l'aggiunta di più istanze di tale sistema o la scalabilità orizzontale. È possibile eseguire l'offload della domanda distribuendola ad altre risorse oppure è possibile ridurre la domanda implementando code prioritarie, offload del gateway, buffering e limitazione della velocità. Per altre informazioni, vedere le raccomandazioni in Efficienza delle prestazioni.

Consigli

Raccomandazione Beneficio
(VM, set di scalabilità) Scegliere le dimensioni e lo SKU corretti del piano della macchina virtuale. Identificare le dimensioni migliori delle macchine virtuali per il carico di lavoro.
Usare il selettore di macchine virtuali per identificare la macchina virtuale migliore per il carico di lavoro. Vedere Prezzi di Windows e Linux .

Per carichi di lavoro come processi di elaborazione batch altamente paralleli che possono tollerare alcune interruzioni, prendere in considerazione l'uso di macchine virtuali spot di Azure. Le macchine virtuali spot sono valide per sperimentare, sviluppare e testare soluzioni su larga scala.
Gli SKU vengono addebitati in base alle funzionalità offerte. Se non sono necessarie funzionalità avanzate, non esagerare negli SKU.

Le macchine virtuali spot sfruttano la capacità in eccesso in Azure a un costo inferiore.
(Set di scalabilità) Combinare macchine virtuali standard con macchine virtuali spot.
L'orchestrazione flessibile consente di distribuire macchine virtuali spot in base a una percentuale specificata.
Ridurre i costi dell'infrastruttura di calcolo applicando gli sconti sostanziali delle macchine virtuali spot.
(Set di scalabilità) Ridurre il numero di istanze di macchine virtuali quando la richiesta diminuisce.
Imposta una regola di riduzione delle risorse basata su criteri.
Il ridimensionamento delle risorse quando non sono in uso riduce il numero di macchine virtuali eseguite nel set di scalabilità, riducendo i costi.
(VM) Arrestare le macchine virtuali durante gli orari di minore attività. È possibile usare la funzionalità Avvio/Arresto di Automazione di Azure e configurarla in base alle esigenze aziendali. La funzionalità Start/Stop è un'opzione di automazione a basso costo che può influire significativamente sui costi dell'istanza inattiva.
(VM) Liberare le risorse della CPU usando Azure Boost. L'offload dei processi di virtualizzazione back-end libera risorse CPU per le macchine virtuali guest. Questa ottimizzazione consente di migliorare le prestazioni. Azure Boost è disponibile solo in macchine virtuali specifiche, quindi assicurarsi di scegliere anche le dimensioni delle macchine virtuali con Boost di Azure abilitato.
(VM, set di scalabilità) Sfrutta i vantaggi della mobilità delle licenze usando il Vantaggio Azure Hybrid. Le macchine virtuali hanno un'opzione di licenza che permette di portare in Azure le proprie licenze del sistema operativo Windows Server in locale.
Vantaggio Azure Hybrid consente anche di trasferire alcune sottoscrizioni Linux in Azure.
È possibile ottimizzare le licenze locali ottenendo i vantaggi del cloud.

Eccellenza operativa

L'eccellenza operativa si concentra principalmente sulle procedure per le pratiche di sviluppo , l'osservabilità e la gestione dei rilasci.

I principi di progettazione di eccellenza operativa forniscono una strategia di progettazione di alto livello per raggiungere tali obiettivi relativi ai requisiti operativi del flusso di lavoro.

Elenco di controllo della progettazione

Avvia la tua strategia di progettazione basata sull'elenco di controllo della revisione progettuale per l'Eccellenza Operativa per definire i processi di osservabilità, test e distribuzione relativi alle macchine virtuali e agli insiemi di scalabilità.

  • Monitorare le istanze della macchina virtuale. Raccogliere log e metriche dalle istanze della macchina virtuale per monitorare l'utilizzo delle risorse e misurare l'integrità delle istanze. Alcune metriche comuni includono l'utilizzo della CPU, il numero di richieste e la latenza di input/output (I/O). Configurare gli avvisi di Monitoraggio di Azure per ricevere notifiche sui problemi e per rilevare le modifiche alla configurazione nell'ambiente.

  • Monitorare l'integrità delle macchine virtuali e delle relative dipendenze.

    • Distribuire i componenti di monitoraggio per raccogliere log e metriche che offrono una visualizzazione completa dei dati di diagnostica delle macchine virtuali, del sistema operativo guest e dell'avvio. I set di scalabilità di macchine virtuali consentono di eseguire il rollup dei dati di telemetria, che consentono di visualizzare le metriche di integrità a livello di singola macchina virtuale o come aggregazione. Usare Monitoraggio di Azure per visualizzare questi dati per ogni macchina virtuale o aggregata in più macchine virtuali. Per altre informazioni, vedere Raccomandazioni sugli agenti di monitoraggio.
    • Sfruttare i vantaggi dei componenti di rete che controllano lo stato di integrità delle macchine virtuali. Azure Load Balancer, ad esempio, esegue il ping delle macchine virtuali per rilevare le macchine virtuali non integre e reindirizzare il traffico di conseguenza.
    • Configurare le regole di allerta di Monitoraggio di Azure. Determinare le condizioni importanti nei dati di monitoraggio per identificare e risolvere i problemi prima che influiscano sul sistema.
  • Creare un piano di manutenzione che includa l'applicazione regolare di patch di sistema come parte delle operazioni di routine. Includere processi di emergenza che consentono l'applicazione di patch immediata. È possibile avere processi personalizzati per gestire l'applicazione di patch o delegare parzialmente l'attività ad Azure. Azure offre funzionalità per la manutenzione delle singole macchine virtuali. È possibile configurare le finestre di manutenzione per ridurre al minimo le interruzioni durante gli aggiornamenti. Durante gli aggiornamenti della piattaforma, le considerazioni sul dominio di errore sono fondamentali per la resilienza. È consigliabile distribuire almeno due istanze in una zona. Due macchine virtuali per zona garantiscono almeno una macchina virtuale in ogni zona perché viene aggiornato un solo dominio di errore in una zona alla volta. Quindi, per tre zone, effettuare il provisioning di almeno sei istanze.

  • Automatizzare i processi per il bootstrap, l'esecuzione di script e la configurazione delle macchine virtuali. È possibile automatizzare i processi usando estensioni o script personalizzati. È consigliabile usare le opzioni seguenti:

    • L'estensione VM di Key Vault aggiorna automaticamente i certificati archiviati in Key Vault.

    • L'estensione script personalizzata di Azure per Windows e Linux scarica ed esegue script in macchine virtuali. Usare questa estensione è utile per la configurazione post-distribuzione, l'installazione di software o altre attività di configurazione o gestione.

    • Usare cloud-init per configurare l'ambiente di avvio per le macchine virtuali basate su Linux.

  • Disporre di processi per l'installazione degli aggiornamenti automatici. Prendi in considerazione l'uso di patching automatico dei guest VM per una distribuzione tempestiva delle patch critiche e di sicurezza. Usare Gestione aggiornamenti di Azure per gestire gli aggiornamenti del sistema operativo per le macchine virtuali Windows e Linux in Azure.

  • Creare un ambiente di test che corrisponda strettamente all'ambiente di produzione per testare gli aggiornamenti e le modifiche prima di distribuirli nell'ambiente di produzione. Sono disponibili processi per testare gli aggiornamenti della sicurezza, le linee di base delle prestazioni e gli errori di affidabilità. Sfruttare le librerie di errore di Azure Chaos Studio per inserire e simulare le condizioni di errore. Per altre informazioni, vedere Errore e libreria di azioni di Azure Chaos Studio.

  • Gestisci la quota. Pianificare il livello di quota richiesto dal carico di lavoro ed esaminare questo livello regolarmente man mano che il carico di lavoro si evolve. Se è necessario aumentare o ridurre la quota, richiedere le modifiche in anticipo.

Consigli

Raccomandazione Beneficio
(Set di scalabilità) I set di scalabilità di macchine virtuali in modalità di orchestrazione flessibile consentono di semplificare la distribuzione e la gestione del carico di lavoro. Ad esempio, è possibile gestire facilmente la riparazione automatica usando riparazioni automatiche. L'orchestrazione flessibile può gestire le istanze di macchine virtuali su larga scala. La gestione di singole macchine virtuali comporta un sovraccarico operativo.

Ad esempio, quando si eliminano istanze di macchine virtuali, è possibile eliminare o conservare i dischi e le schede di interfaccia di rete associati alle macchine virtuali. Le istanze di macchina virtuale possono essere distribuite in più domini di errore in modo che le operazioni di aggiornamento non interrompano il servizio.

È possibile usare tutte le API di macchina virtuale standard quando si gestiscono istanze di orchestrazione flessibili. Sia le macchine virtuali Linux che Windows possono trovarsi nello stesso set di scalabilità flessibile, semplificando la gestione di carichi di lavoro eterogenei.
(Set di scalabilità) Il collegamento o la disconnessione di una singola macchina virtuale a o da set di scalabilità di macchine virtuali in modalità di orchestrazione flessibile offrono la flessibilità necessaria per rispondere alle esigenze operative senza ridistribuire l'infrastruttura. Il collegamento di macchine virtuali consente di portare le macchine virtuali esistenti sotto la gestione di vmSS Flex, consentendo il controllo centralizzato sugli aggiornamenti, il ridimensionamento e il monitoraggio.

La rimozione di macchine virtuali da VMSS Flex consente di isolare una macchina virtuale per la risoluzione dei problemi o una configurazione speciale senza interrompere il resto del set di scalabilità.
(Set di scalabilità) Mantenere aggiornate le macchine virtuali impostando un criterio di aggiornamento. È consigliabile eseguire gli aggiornamenti in sequenza. Tuttavia, se è necessario un controllo granulare, scegliere di eseguire l'aggiornamento manualmente.

Per l'orchestrazione flessibile, è possibile usare Gestione aggiornamenti di Azure.
La sicurezza è il motivo principale per gli aggiornamenti. Le garanzie di sicurezza per le istanze non devono degradare nel tempo.

Gli aggiornamenti a rotazione vengono eseguiti a gruppi. Questo approccio garantisce che tutte le istanze non siano tutte inattive contemporaneamente.
(VMs, insieme di scalabilità) Distribuire automaticamente le applicazioni VM dalla Azure Compute Gallery definendo le applicazioni nel profilo. Le macchine virtuali nel set di scalabilità sono create e le app specificate sono preinstallate, il che rende più semplice la gestione.
Installare componenti software predefiniti come estensioni come parte del bootstrap.

Azure supporta molte estensioni che possono essere usate per configurare, monitorare, proteggere e fornire applicazioni di utilità per le macchine virtuali.

Abilitare gli aggiornamenti automatici nelle estensioni.
Le estensioni consentono di semplificare l'installazione del software su larga scala senza dover installare, configurare o aggiornare manualmente l'installazione in ogni macchina virtuale.
(VM, set di scalabilità) Monitorare e misurare l'integrità delle istanze della macchina virtuale.

Distribuire l'estensione dell'agente di monitoraggio nelle macchine virtuali per raccogliere i dati di monitoraggio dal sistema operativo guest con regole di raccolta dati specifiche del sistema operativo.

Abilitare le informazioni dettagliate sulle macchine virtuali per monitorare l'integrità e le prestazioni e visualizzare le tendenze dei dati raccolti.

Usare la diagnostica di avvio per ottenere informazioni mentre le macchine virtuali si avviano. La diagnostica di avvio diagnostica anche gli errori di avvio.
I dati di monitoraggio sono al centro della risoluzione degli eventi imprevisti. Uno stack di monitoraggio completo fornisce informazioni sulle prestazioni delle macchine virtuali e sull'integrità. Monitorando continuamente le istanze, è possibile essere pronti per o prevenire errori come l'overload delle prestazioni e i problemi di affidabilità.

Efficienza delle prestazioni

L'efficienza delle prestazioni riguarda mantenere l'esperienza utente anche quando si verifica un aumento del carico gestendo la capacità. La strategia include il ridimensionamento delle risorse, l'identificazione dei potenziali colli di bottiglia e la loro risoluzione, e l'ottimizzazione per prestazioni di picco.

I principi di progettazione efficienza delle prestazioni forniscono una strategia di progettazione di alto livello per raggiungere tali obiettivi di capacità rispetto all'utilizzo previsto.

Elenco di controllo della progettazione

Inizia la tua strategia di progettazione basandoti sull'elenco di controllo per la revisione della progettazione per l'Efficienza delle Prestazioni. Definire una linea di base basata su indicatori di prestazioni chiave per macchine virtuali e set di scalabilità.

  • Definire gli obiettivi di prestazioni. Identificare le metriche delle macchine virtuali per tenere traccia e misurare gli indicatori di prestazioni come tempo di risposta, utilizzo della CPU e utilizzo della memoria, nonché metriche del carico di lavoro, ad esempio transazioni al secondo, utenti simultanei e disponibilità e integrità.

  • Tenere conto del profilo delle prestazioni delle macchine virtuali, dei set di scalabilità e della configurazione del disco nella pianificazione della capacità. Ogni SKU ha un profilo di memoria e CPU diverso e si comporta in modo diverso a seconda del tipo di carico di lavoro. Condurre progetti pilota e modelli di verifica per comprendere il comportamento delle prestazioni nel carico di lavoro specifico.

  • Ottimizzazione delle prestazioni della macchina virtuale. Sfruttare i vantaggi dell'ottimizzazione delle prestazioni e migliorare le funzionalità richieste dal carico di lavoro. Ad esempio, usare NVMe (Non-Volatile Memory Express) collegato localmente per i casi d'uso ad alte prestazioni e la rete accelerata e usare SSD Premium v2 per ottenere prestazioni e scalabilità migliori.

  • Tieni conto dei servizi dipendenti. Le dipendenze del carico di lavoro, ad esempio la memorizzazione nella cache, il traffico di rete e le reti per la distribuzione di contenuti, che interagiscono con le macchine virtuali possono influire sulle prestazioni. Considerare anche la distribuzione geografica, ad esempio zone e aree, che possono aggiungere latenza.

  • Raccogliere i dati sulle prestazioni. Seguire le procedure consigliate per l'eccellenza operativa per il monitoraggio e la distribuzione delle estensioni appropriate per visualizzare le metriche che tengono traccia degli indicatori di prestazioni.

  • Gruppi di posizionamento di prossimità. Usare i gruppi di posizionamento di prossimità nei carichi di lavoro in cui è necessaria una bassa latenza per assicurarsi che le macchine virtuali si trovino fisicamente vicine tra loro.

Consigli

Raccomandazione Beneficio
(VM, set di scalabilità) Scegliere SKU per le macchine virtuali allineate alla pianificazione della capacità.

Avere una buona conoscenza dei requisiti del carico di lavoro, tra cui il numero di core, memoria, archiviazione e larghezza di banda di rete, in modo da filtrare gli SKU non adatti.
L'assegnazione dei diritti alle macchine virtuali è una decisione fondamentale che influisce significativamente sulle prestazioni del carico di lavoro. Senza il set corretto di macchine virtuali, potrebbero verificarsi problemi di prestazioni e accumulare costi non necessari.
(VM, set di scalabilità) Distribuire macchine virtuali dei carichi di lavoro sensibili alla latenza in gruppi di posizionamento di prossimità. I gruppi di posizionamento di prossimità riducono la distanza fisica tra le risorse di calcolo di Azure, che possono migliorare le prestazioni e ridurre la latenza di rete tra macchine virtuali autonome, macchine virtuali in più set di disponibilità o macchine virtuali in più set di scalabilità.
(VM) Valutare la possibilità di abilitare la rete accelerata. Consente la virtualizzazione di I/O radice singola (SR-IOV) a una macchina virtuale, migliorando notevolmente le prestazioni di rete.
(VM, set di scalabilità) Impostare le regole di scalabilità automatica per aumentare o ridurre il numero di istanze di macchine virtuali nel set di scalabilità in base alla richiesta. Se aumenta la richiesta da parte dell'applicazione, aumenta il carico sulle istanze di macchine virtuali nel set di scalabilità. Le regole di scalabilità automatica assicurano che le risorse siano sufficienti per soddisfare la domanda.

Criteri di Azure

Azure offre un set completo di criteri predefiniti correlati alle macchine virtuali e alle relative dipendenze. È possibile controllare alcune delle raccomandazioni precedenti tramite Criteri di Azure. Ad esempio, è possibile verificare se:

  • La crittografia è abilitata a livello di host. Assicurarsi che la crittografia sia abilitata a livello di host per garantire sicurezza aggiuntiva per i dati della macchina virtuale.

  • Vengono distribuite estensioni antimalware. Verificare che le estensioni antimalware vengano distribuite nelle macchine virtuali che eseguono Windows Server e impostate per gli aggiornamenti automatici per garantire la protezione continua.

  • L'applicazione automatica delle patch alle immagini del sistema operativo è abilitata. Verificare che l'applicazione automatica delle patch alle immagini del sistema operativo sia abilitata nei set di scalabilità per assicurarsi che le macchine virtuali rimangano aggiornate con le patch di sicurezza.

  • Vengono installate solo le estensioni vm approvate. Verificare che nelle macchine virtuali siano installate solo le estensioni approvate. Questo approccio consente di ridurre al minimo il rischio di vulnerabilità della sicurezza.

  • Gli agenti di monitoraggio e dipendenza sono abilitati. Assicurarsi che l'agente di monitoraggio e gli agenti di dipendenza siano abilitati in tutte le nuove macchine virtuali per facilitare il monitoraggio e la gestione delle dipendenze.

  • Vengono distribuiti solo gli SKU di macchine virtuali consentiti. Verificare che vengano distribuiti solo gli SKU di macchine virtuali approvati. Questo criterio garantisce la conformità ai vincoli di costo e ai requisiti delle risorse.

  • Gli endpoint privati vengono usati per l'accesso al disco. Assicurarsi che gli endpoint privati vengano usati per accedere in modo sicuro alle risorse del disco. Questo approccio consente di evitare l'esposizione alle reti pubbliche.

  • Il rilevamento delle vulnerabilità è abilitato. Abilitare il rilevamento delle vulnerabilità per le macchine virtuali. Per i computer Windows, configurare regole come le analisi giornaliere con Microsoft Defender Antivirus per rilevare potenziali minacce.

Per una governance completa, rivedere le definizioni incorporate nei Criteri di Azure per le macchine virtuali e altri criteri che potrebbero influire sulla sicurezza del livello di calcolo.

Raccomandazioni di Azure Advisor

Azure Advisor è un consulente cloud personalizzato che consente di seguire le procedure consigliate per ottimizzare le distribuzioni di Azure.

Per altre informazioni, vedere Azure Advisor.

Considerare gli articoli seguenti come risorse che illustrano le raccomandazioni evidenziate in questo articolo.