Come creare carichi di lavoro in macchine virtuali spot

Macchine virtuali di Azure

In questo articolo vengono descritte le procedure consigliate per la compilazione in macchine virtuali spot di Azure e viene incluso uno scenario di esempio distribuibile. Le macchine virtuali spot forniscono l'accesso alla capacità di calcolo con sconti significativi per le normali macchine virtuali. Questo sconto li rende una soluzione interessante per le organizzazioni che cercano di ottimizzare i costi, ma il risparmio viene fornito con una condizione. Le macchine virtuali spot possono perdere l'accesso al calcolo in qualsiasi momento. Chiamiamo questo processo una rimozione. I carichi di lavoro in esecuzione in macchine virtuali spot devono essere in grado di gestire queste interruzioni nel calcolo. Il carico di lavoro corretto e un meccanismo di orchestrazione flessibile sono le chiavi per il successo. Ecco le raccomandazioni per la creazione di macchine virtuali spot.

Informazioni sulle macchine virtuali spot

A livello tecnico, le macchine virtuali spot sono le stesse delle normali macchine virtuali. Usano le stesse immagini, hardware e dischi che si traducono nella stessa prestazioni. La differenza tra le macchine virtuali spot e regolari dipende dalla priorità e dalla disponibilità. Le macchine virtuali spot non hanno alcuna priorità per accedere alla capacità di calcolo e non hanno garanzie di disponibilità dopo l'accesso a tale capacità di calcolo. Verranno ora illustrate in modo più dettagliato la priorità e la disponibilità.

Nessun accesso prioritario. Le macchine virtuali regolari hanno accesso prioritario alla capacità di calcolo. Accedono alla capacità di calcolo ogni volta che lo richiedono. Le macchine virtuali spot, d'altra parte, vengono distribuite solo quando è disponibile capacità di calcolo di riserva e rimangono in esecuzione solo quando una normale macchina virtuale non richiede l'hardware sottostante.

Nessuna garanzia di disponibilità. Le macchine virtuali spot non hanno garanzie di disponibilità. Non hanno contratti di servizio. Le macchine virtuali spot possono perdere l'accesso alla capacità di calcolo immediatamente o in qualsiasi momento dopo la distribuzione (rimozione). Le macchine virtuali spot sono più economiche a causa della possibilità di rimozione. Ogni volta che Azure richiede la capacità di calcolo, viene inviato un avviso di rimozione e rimuove la macchina virtuale spot. Azure fornisce un preavviso minimo di 30 secondi prima che venga eseguita la rimozione effettiva. Per altre informazioni, vedere Monitorare continuamente la rimozione in questo articolo.

Informazioni sui prezzi delle macchine virtuali spot

Le macchine virtuali spot possono essere fino al 90% più economiche delle macchine virtuali normali (con pagamento in base al consumo). Lo sconto varia in base alla domanda, alle dimensioni della macchina virtuale, all'area di distribuzione e al sistema operativo. È consigliabile usare lo strumento prezzi delle macchine virtuali spot di Azure per ottenere una stima dei risparmi sui costi. Per altre informazioni, vedere:

È anche possibile eseguire una query sull'API prezzi al dettaglio di Azure per ottenere a livello di codice i prezzi spot per qualsiasi SKU di interesse.

Informazioni sui carichi di lavoro interrompibili

I carichi di lavoro interrompibili rappresentano il caso d'uso migliore per le macchine virtuali spot. I carichi di lavoro interrompibili presentano alcune caratteristiche comuni. Non hanno vincoli di tempo minimi, bassa priorità organizzativa e tempi di elaborazione brevi. Eseguono processi che possono arrestarsi improvvisamente e riprendere in un secondo momento senza danneggiare i processi organizzativi essenziali. Esempi di carichi di lavoro interrompibili sono applicazioni di elaborazione batch, analisi dei dati e carichi di lavoro che creano un agente di distribuzione continua con integrazione continua per un ambiente non di produzione. Queste funzionalità sono in contrasto con carichi di lavoro regolari o cruciali con contratti di servizio (SLA), sessioni permanenti e dati con stato. La tabella fornisce esempi per entrambi i tipi di carico di lavoro.

Funzionalità del carico di lavoro interrompibili Funzionalità regolari del carico di lavoro
Funzionalità Minimo o nessun vincolo di tempo
Priorità dell'organizzazione bassa
Tempi di elaborazione brevi
Contratti di servizio
Requisiti delle sessioni permanenti
Carichi di lavoro con stato

È possibile usare una macchina virtuale spot in carichi di lavoro non interrompibili, ma non deve essere l'unica origine della capacità di calcolo. Usare tutte le macchine virtuali normali necessarie per soddisfare i requisiti di tempo di attività.

Informazioni sulla rimozione

Le macchine virtuali spot non hanno contratti di servizio dopo la creazione e possono perdere l'accesso alle risorse di calcolo in qualsiasi momento. Questa perdita di calcolo viene chiamata rimozione. Rimozione delle unità di fornitura e domanda di calcolo. Quando la richiesta di una dimensione di macchina virtuale specifica supera un determinato livello, Azure rimuove le macchine virtuali spot per rendere disponibile il calcolo per le normali macchine virtuali. La domanda è specifica della posizione. Un aumento della domanda nell'area A non influisce sulle macchine virtuali spot nell'area B.

Le macchine virtuali spot hanno due opzioni di configurazione che influiscono sulla rimozione. Queste configurazioni sono il "tipo di rimozione" e "criteri di rimozione" della macchina virtuale spot. Queste configurazioni vengono impostate quando si crea la macchina virtuale spot. Il "tipo di rimozione" definisce le condizioni di una rimozione. Il "criterio di rimozione" determina le operazioni di rimozione nella macchina virtuale spot. Verranno ora affrontate entrambe le opzioni di configurazione.

Tipo di rimozione

La rimozione è causata da variazioni di capacità o variazioni di prezzo. Il modo in cui questi influiscono sulle macchine virtuali spot dipende dal tipo di rimozione scelto al momento della creazione della macchina virtuale. Il tipo di rimozione definisce le condizioni di una rimozione. I tipi di rimozione sono "sfratto solo capacità" e "prezzo o rimozione della capacità".

Rimozione solo capacità: questo tipo di rimozione attiva una rimozione quando la capacità di calcolo in eccesso scompare. Per impostazione predefinita, il prezzo è limitato alla tariffa con pagamento in base al consumo. Usare questo tipo di rimozione quando si è disposti a pagare fino al prezzo della macchina virtuale con pagamento in base al consumo.

Rimozione di prezzo o capacità: questo tipo di rimozione ha due trigger. Azure rimuove una macchina virtuale spot quando la capacità di calcolo in eccesso scompare o il costo della macchina virtuale supera il prezzo massimo impostato. Questo tipo di rimozione consente di impostare un prezzo massimo ben al di sotto del prezzo con pagamento in base al consumo. Usa questo tipo di rimozione per impostare un limite di prezzo personalizzato.

Criteri di rimozione

I criteri di rimozione scelti per una macchina virtuale spot influiscono sull'orchestrazione. Con l'orchestrazione si intende il processo di gestione di una rimozione. L'orchestrazione verrà illustrata in dettaglio più avanti. I criteri di rimozione sono "Stop/Deallocate policy" e "Delete policy".

Criterio di arresto/deallocazione: i criteri di arresto/deallocazione sono ottimali quando il carico di lavoro può attendere la capacità di rilascio all'interno dello stesso percorso e tipo di macchina virtuale. Il criterio Stop/Deallocate arresta la macchina virtuale e termina il lease con l'hardware sottostante. L'arresto e la deallocazione di una macchina virtuale spot equivale all'arresto e alla deallocazione di una macchina virtuale regolare. La macchina virtuale rimane accessibile in Azure ed è possibile riavviare la stessa macchina virtuale in un secondo momento. Con il criterio Stop/Deallocate, la macchina virtuale perde la capacità di calcolo e gli indirizzi IP non statici. Tuttavia, i dischi dati della macchina virtuale rimangono e continuano a essere addebitati. La macchina virtuale occupa anche i core nella sottoscrizione. Le macchine virtuali non possono essere spostate dall'area o dalla zona anche se arrestate/deallocate. Per altre informazioni, vedere Stati di alimentazione e fatturazione delle macchine virtuali.

Elimina criterio: usare il "Criterio di eliminazione" se il carico di lavoro può modificare la posizione o le dimensioni della macchina virtuale. La modifica della posizione e/o delle dimensioni della macchina virtuale consente di ridistribuire la macchina virtuale più velocemente. Il criterio Elimina elimina la macchina virtuale e qualsiasi disco dati. La macchina virtuale non occupa core nelle sottoscrizioni. Per altre informazioni sui criteri di rimozione, vedere Criteri di rimozione.

Progettare per l'orchestrazione flessibile

L'orchestrazione è il processo di sostituzione di una macchina virtuale spot dopo una rimozione. Si tratta della base della creazione di un carico di lavoro interrompibile in modo affidabile. Un buon sistema di orchestrazione offre flessibilità predefinita. Grazie alla flessibilità, si intende progettare l'orchestrazione in modo da avere opzioni, usare più dimensioni delle macchine virtuali, distribuire in aree diverse, essere consapevoli dell'eliminazione e tenere conto di diversi scenari di rimozione per migliorare l'affidabilità e la velocità del carico di lavoro.

Di seguito sono state descritte raccomandazioni che consentono di progettare un'orchestrazione flessibile per il carico di lavoro interrompibile.

Progettare per la velocità

Per un carico di lavoro in esecuzione in macchine virtuali spot, la capacità di calcolo è un tesoro. Il potenziale imminente di rimozione dovrebbe elevare l'apprezzamento per il tempo di calcolo assegnato e dovrebbe tradursi in decisioni di progettazione significative che assegnano priorità alla velocità del carico di lavoro. In generale, è consigliabile ottimizzare il tempo di calcolo disponibile. È necessario compilare un'immagine di macchina virtuale con tutto il software necessario preinstallato. Il software preinstallato consente di ridurre al minimo il tempo tra la rimozione e un'applicazione completamente in esecuzione. Si vuole evitare di usare il tempo di calcolo nei processi che non contribuiscono allo scopo del carico di lavoro. Un carico di lavoro per l'analisi dei dati, ad esempio, deve concentrare la maggior parte del tempo di calcolo sull'elaborazione dei dati e il minor numero possibile di raccolta dei metadati di rimozione. Eliminare i processi non essenziali dall'applicazione.

Usare più dimensioni e posizioni delle macchine virtuali

È consigliabile creare un'orchestrazione per usare più tipi di vm e dimensioni per aumentare la flessibilità. L'obiettivo è fornire le opzioni di orchestrazione per sostituire una macchina virtuale rimossa. Azure ha diversi tipi di vm e dimensioni che offrono funzionalità simili per circa lo stesso prezzo. È consigliabile filtrare le macchine virtuali min vCPU/Core e/o min RAM e il prezzo massimo per trovare più macchine virtuali con la potenza per eseguire il carico di lavoro e adattarsi al budget. Ogni tipo di macchina virtuale ha una velocità di rimozione espressa come intervallo percentuale (0-5%, 5-10%, 10-15%, 15-20%, 20+%). Le percentuali di rimozione possono variare tra le aree. È possibile trovare una percentuale di rimozione migliore per lo stesso tipo di macchina virtuale in un'area diversa. È possibile trovare le percentuali di rimozione per ogni tipo di macchina virtuale nel portale nella scheda "Informazioni di base". Selezionare i collegamenti "Dimensioni" ("Visualizza cronologia prezzi" o "Visualizza tutte le dimensioni"). È anche possibile ottenere dati di macchina virtuale spot a livello di codice usando Azure Resource Graph. Per altre informazioni, vedere:

Usare i criteri di rimozione più flessibili

Il criterio di rimozione della macchina virtuale spot rimossa influisce sul processo di sostituzione. Un criterio di rimozione di eliminazione è più flessibile rispetto a un criterio di rimozione arrestato/deallocato.

Considerare prima i criteri di eliminazione: è consigliabile usare un criterio di rimozione di eliminazione se il carico di lavoro può gestirlo. L'eliminazione consente all'orchestrazione di distribuire macchine virtuali spot sostitutive in nuove zone e aree. Questa flessibilità di distribuzione può aiutare il carico di lavoro a trovare capacità di calcolo di riserva più velocemente rispetto a una macchina virtuale arrestata/deallocata. Le macchine virtuali arrestate/deallocate devono attendere la capacità di calcolo di riserva nella stessa zona in cui è stata creata. Per i criteri di eliminazione, è necessario un processo per monitorare le eliminazioni esterne all'applicazione e orchestra le distribuzioni in aree diverse e/o con SKU di macchine virtuali diversi.

Comprendere i criteri arrestati/deallocati: i criteri arrestati/deallocati hanno meno flessibilità rispetto ai criteri di eliminazione. Le macchine virtuali spot devono trovarsi nella stessa area e nella stessa zona. Non è possibile spostare una macchina virtuale arrestata/deallocata in un'altra posizione. Poiché le macchine virtuali hanno una posizione fissa, è necessario un elemento sul posto per riallocare la macchina virtuale quando la capacità di calcolo diventa disponibile. Non è possibile prevedere quando sarà disponibile la capacità di calcolo. È quindi consigliabile usare una pipeline di pianificazione automatizzata per tentare una ridistribuzione dopo una rimozione. Una rimozione deve attivare la pipeline di pianificazione e i tentativi di ridistribuzione devono controllare continuamente la capacità di calcolo fino a quando non diventa disponibile.

Criteri Se
Eliminazione Calcolo e dati temporanei
Non pagare per i dischi dati
Budget minimo
Arrestato/deallocato È necessaria una dimensione specifica della macchina virtuale
Non è possibile modificare la posizione
Processo di installazione lungo dell'applicazione
Tempo di attesa indefinito
Non guidato solo dai risparmi sui costi

Monitorare continuamente la rimozione

Il monitoraggio è la chiave per l'affidabilità del carico di lavoro nelle macchine virtuali spot. Le macchine virtuali spot non hanno contratto di servizio dopo la creazione e possono essere rimosse in qualsiasi momento. Il modo migliore per migliorare l'affidabilità del carico di lavoro nelle macchine virtuali spot consiste nell'prevedere quando verranno rimossi. Con queste informazioni, è possibile tentare un arresto normale del carico di lavoro e attivare l'automazione che orchestra la sostituzione.

Usare gli eventi pianificati: è consigliabile usare il servizio Eventi pianificati per ogni macchina virtuale. Azure invia segnali alle macchine virtuali quando saranno interessati dalla manutenzione dell'infrastruttura. Le eliminazioni sono qualificate come manutenzione dell'infrastruttura. Azure invia il Preempt segnale a tutte le macchine virtuali almeno 30 secondi prima di essere rimosso. Un servizio denominato Eventi di pianificazione consente di acquisire questo Preempt segnale eseguendo una query su un endpoint in un indirizzo 169.254.169.254IP statico e non instradabile.

Usare query frequenti: è consigliabile eseguire query sull'endpoint Pianifica eventi abbastanza spesso per orchestrare un arresto normale. È possibile eseguire una query sull'endpoint Eventi pianificati fino a ogni secondo, ma una seconda frequenza potrebbe non essere necessaria per tutti i casi d'uso. Queste query devono provenire da un'applicazione in esecuzione nella macchina virtuale spot. La query non può provenire da un'origine esterna. Di conseguenza, le query utilizzeranno la capacità di calcolo della macchina virtuale e ruberanno la potenza di elaborazione dal carico di lavoro principale. Dovrai bilanciare le priorità concorrenti per soddisfare la tua situazione specifica.

Automatizzare l'orchestrazione: dopo aver raccolto il Preempt segnale, l'orchestrazione deve agire su tale segnale. In base ai vincoli di tempo, il Preempt segnale deve tentare un arresto normale del carico di lavoro e avviare un processo automatizzato che sostituisce la macchina virtuale spot. Per altre informazioni, vedere:

Creare un sistema di distribuzione

L'orchestrazione richiede una pipeline automatizzata per distribuire nuove macchine virtuali spot quando viene rimossa. La pipeline deve essere eseguita all'esterno del carico di lavoro interrompibile stesso per garantire la persistenza. Il funzionamento della pipeline di distribuzione dipende dai criteri di rimozione selezionati per le macchine virtuali spot.

Per un criterio di eliminazione, è consigliabile creare una pipeline che usa dimensioni e distribuzioni di macchine virtuali diverse in aree diverse. Per un criterio di arresto/deallocazione, la pipeline di distribuzione richiederà due azioni distinte. Per la creazione iniziale di una macchina virtuale, la pipeline deve distribuire le macchine virtuali di dimensioni corrette nella posizione corretta. Per una macchina virtuale rimossa, la pipeline deve provare a riavviare la macchina virtuale fino a quando non funziona. Una combinazione di avvisi di Monitoraggio di Azure e Funzioni di Azure è uno dei diversi modi per automatizzare un sistema di distribuzione. La pipeline potrebbe usare modelli bicep. Sono dichiarativi e idempotenti e rappresentano una procedura consigliata per la distribuzione dell'infrastruttura.

Prepararsi per la rimozione immediata

È possibile che la macchina virtuale spot venga designata per la rimozione non appena viene creata e anche prima dell'esecuzione del carico di lavoro. Solo perché c'era capacità di creare una macchina virtuale spot, non significa che sarà persistente. Le macchine virtuali spot non hanno garanzie di disponibilità (CONTRATTI di servizio) dopo la creazione. L'orchestrazione deve tenere conto delle eliminazioni immediate. Il Preempt segnale fornirà comunque un preavviso minimo di 30 secondi per la rimozione.

È consigliabile incorporare i controlli di integrità delle macchine virtuali nell'orchestrazione per prepararsi alle eliminazioni immediate. L'orchestrazione per le eliminazioni immediate non può basarsi sul segnale Pianifica eventi Preempt . Solo la macchina virtuale stessa può eseguire query sul Preempt segnale e non c'è tempo sufficiente per avviare un'applicazione, eseguire una query sull'endpoint Pianifica eventi e arrestare normalmente. Il controllo integrità deve quindi risiedere all'esterno dell'ambiente del carico di lavoro. I controlli di integrità devono controllare lo stato della macchina virtuale spot e avviare la pipeline di distribuzione per sostituire la macchina virtuale spot quando lo stato cambia per deallocare o arrestare.

Pianificare più eliminazioni simultanee

Se si esegue un cluster di macchine virtuali spot, è necessario progettare il carico di lavoro per resistere a più eliminazioni simultanee. È possibile rimuovere più macchine virtuali spot nel carico di lavoro contemporaneamente. Una rimozione simultanea di più macchine virtuali potrebbe influire sulla velocità effettiva dell'applicazione. Per evitare questa situazione, la pipeline di distribuzione deve essere in grado di raccogliere segnali da più macchine virtuali e distribuire più macchine virtuali sostitutive contemporaneamente.

Progettare per un arresto normale

I processi di arresto della macchina virtuale devono essere inferiori a 30 secondi e consentire la chiusura della macchina virtuale prima di una rimozione. Il tempo necessario per l'arresto dipende dalla frequenza con cui il carico di lavoro esegue query sull'endpoint Eventi pianificati. Più spesso si esegue una query sull'endpoint, più lungo può essere il processo di arresto. Il processo di arresto deve rilasciare risorse, svuotare le connessioni e scaricare i registri eventi. È consigliabile creare e salvare regolarmente checkpoint per salvare il contesto e creare una strategia di ripristino più efficiente. Il checkpoint è solo informazioni su quali processi o transazioni deve essere avviata la macchina virtuale successiva. Devono indicare se la macchina virtuale deve riprendere la posizione in cui è stata interrotta la macchina virtuale precedente o se la nuova macchina virtuale deve eseguire il rollback delle modifiche e avviare nuovamente l'intero processo. È consigliabile archiviare i checkpoint all'esterno dell'ambiente della macchina virtuale spot. Un account di archiviazione funzionerebbe.

Testare l'orchestrazione

È consigliabile simulare eventi di rimozione per testare l'orchestrazione negli ambienti di sviluppo/test. Per altre informazioni, vedere Simulare la rimozione.

Progettare un carico di lavoro idempotente

È consigliabile progettare un carico di lavoro idempotente. Il risultato dell'elaborazione di un evento più volte deve essere uguale all'elaborazione di un evento una sola volta. Le eliminazioni possono portare a arresti forzati nonostante gli sforzi per garantire arresti normale. Gli arresti forzati possono terminare i processi prima del completamento. I carichi di lavoro Idempotenti possono ricevere lo stesso messaggio più volte e il risultato rimane invariato. Per altre informazioni, vedere idempotency.

Usare un periodo di riscaldamento dell'applicazione

La maggior parte dei carichi di lavoro interrompibili esegue applicazioni. Le applicazioni richiedono tempo per l'installazione e il tempo necessario per l'avvio. Hanno bisogno di tempo per connettersi all'archiviazione esterna e raccogliere informazioni dai checkpoint. È consigliabile disporre di un periodo di riscaldamento dell'applicazione prima di consentire l'avvio dell'elaborazione. Durante il periodo di riscaldamento, l'applicazione deve avviare, connettersi e prepararsi a contribuire. È consigliabile consentire a un'applicazione di avviare l'elaborazione dei dati solo dopo aver convalidato l'integrità dell'applicazione.

Diagram of the workload lifecycle with an application warmup period

Configurare le identità gestite assegnate dall'utente

È consigliabile usare le identità gestite assegnate dall'utente per semplificare il processo di autenticazione e autorizzazione. Le identità gestite assegnate dall'utente consentono di evitare di inserire le credenziali nel codice e non sono associate a una singola risorsa, ad esempio identità gestite assegnate dal sistema. Le identità gestite assegnate dall'utente contengono autorizzazioni e token di accesso dall'ID Microsoft Entra che possono essere riutilizzati e assegnati alle macchine virtuali spot durante l'orchestrazione. La coerenza dei token tra macchine virtuali spot consente di semplificare l'orchestrazione e l'accesso alle risorse del carico di lavoro di cui dispongono le macchine virtuali spot.

Con le identità gestite assegnate dal sistema, una nuova macchina virtuale spot potrebbe ottenere un token di accesso diverso dall'ID Microsoft Entra. Se è necessario usare le identità gestite assegnate dal sistema, è consigliabile rendere i carichi di lavoro resilienti alle 403 Forbidden Error risposte. L'orchestrazione dovrà ottenere token da Microsoft Entra ID con le autorizzazioni appropriate. Per altre informazioni, vedere Informazioni sulle identità gestite per le risorse di Azure.

Scenario di esempio

Lo scenario di esempio distribuisce un'applicazione di elaborazione code che qualifica come carico di lavoro interrompibile. Gli script nello scenario sono illustrativi. Lo scenario illustra un push manuale monouso per distribuire le risorse. Non è stata fornita una pipeline di distribuzione con questa implementazione. Tuttavia, una pipeline di distribuzione è essenziale per automatizzare il processo di orchestrazione. Il diagramma illustra l'architettura dello scenario di esempio.

Diagram of the example scenario architecture.

Le note seguenti illustrano gli aspetti chiave dell'architettura:

  1. Definizione dell'applicazione vm: la definizione dell'applicazione vm viene creata nella raccolta di calcolo di Azure. Definisce il nome dell'applicazione, la posizione, il sistema operativo e i metadati. La versione dell'applicazione è una versione numerata della definizione dell'applicazione vm. La versione dell'applicazione è un'istanza dell'applicazione vm. Deve trovarsi nella stessa area della macchina virtuale spot. La versione dell'applicazione è collegata al pacchetto dell'applicazione di origine nell'account di archiviazione.
  2. Archiviazione account: L'account di archiviazione archivia il pacchetto dell'applicazione di origine. In questa architettura si tratta di un file tar compresso denominato worker-0.1.0.tar.gz. Contiene due file. Un file è lo orchestrate.sh script bash che installa l'applicazione di lavoro .NET.
  3. Macchina virtuale spot: la macchina virtuale spot viene distribuita. Deve trovarsi nella stessa area della versione dell'applicazione. Viene scaricato worker-0.1.0.tar.gz nella macchina virtuale dopo la distribuzione. Il modello bicep distribuisce un'immagine Ubuntu in una macchina virtuale della famiglia Standard. Queste configurazioni soddisfano le esigenze di questa applicazione e non sono raccomandazioni generali per le applicazioni.
  4. Archiviazione coda: L'altro servizio in esecuzione nel ruolo di lavoro .NET contiene la logica della coda dei messaggi. Microsoft Entra ID concede alla macchina virtuale spot l'accesso alla coda di archiviazione con un'identità assegnata dall'utente usando il controllo degli accessi in base al ruolo.
  5. Applicazione di lavoro .Net: lo script orchestrate.sh installa un'applicazione di lavoro .NET che esegue due servizi in background. Il primo servizio esegue una query sull'endpoint Pianifica eventi e cerca il Preempt segnale e invia questo segnale al secondo servizio. Il secondo servizio elabora i messaggi dalla coda di archiviazione e rimane in ascolto del Preempt segnale dal primo servizio. Quando il secondo servizio riceve il segnale, interrompe l'elaborazione della coda di archiviazione e inizia l'arresto.
  6. Endpoint eventi pianificati query: una richiesta API viene inviata a un indirizzo IP statico non instradabile 169.254.169.254. La richiesta API esegue una query sull'endpoint evento pianificato per i segnali di manutenzione dell'infrastruttura.
  7. Application Insights: l'architettura usa Application Insights solo a scopo di apprendimento. Non è un componente essenziale dell'orchestrazione del carico di lavoro interrompibile. È stato incluso come modo per convalidare i dati di telemetria dall'applicazione di lavoro .NET. L'applicazione di lavoro .NET è stata configurata per inviare dati di telemetria ad Application Insights. Per altre informazioni, vedere Abilitare le metriche attive dall'applicazione .NET.

Distribuire lo scenario

GitHub logo È stato creato un repository GitHub denominato carico di lavoro interrompibile in locale con modelli, script e istruzioni dettagliate per distribuire questa architettura. In questo repository sono disponibili altri dettagli tecnici sull'architettura e sugli artefatti di progettazione.

Passaggio successivo

Per altre informazioni su Spot Macchine virtuali, vedere Azure Spot Macchine virtuali.