Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Spot instances: ottimizzi utilizzo e risparmi con Auto Scaling group e Spot Scaling

By Matan BordoDec 12, 20236 min read

Questa pagina è disponibile anche in English, Deutsch, Español, Français, 日本語 e Português.

Vediamo come ottimizzare l'utilizzo delle Spot instances con gli Auto Scaling group (ASG), con strategie pensate per scenari diversi, e come massimizzare i risparmi con DoiT Spot Scaling.

Nella prima parte della nostra serie dedicata alle Spot instances abbiamo analizzato i concetti alla base di queste istanze, i loro vantaggi e gli aspetti chiave per sfruttarle in modo efficace.

Su queste basi, vediamo ora come ottimizzarne l'utilizzo con gli Auto Scaling group (ASG) ed entriamo nel dettaglio delle strategie di allocazione Spot, per capire quale si adatta meglio ai diversi scenari e perché.

Infine, vedremo come massimizzare i risparmi con DoiT Spot Scaling, che semplifica il complesso processo di configurazione e gestione degli ASG per le Spot instances.

Cosa sono gli Auto Scaling group (ASG)

Gli ASG sono uno strumento per gestire gruppi di istanze. Rendono i Suoi workloads più elastici regolando automaticamente il numero di istanze attive in base alla domanda e migliorano la tolleranza ai guasti.

Lo scaling out, quando la domanda aumenta, garantisce prestazioni e reattività; lo scaling in, nei periodi di domanda ridotta, aiuta a contenere i costi superflui.

Può configurarli definendo i tipi di istanza ammessi e le availability zone, i limiti minimo e massimo del numero di istanze, la mixed instance policy (percentuale di Spot instances vs. on-demand) e altri parametri. Una volta impostati, gli ASG automatizzano gran parte della gestione delle risorse.

Diagramma di un Auto Scaling group

Per esempio, se gestisce un sito ecommerce, rispondere alle variazioni di traffico web sarà molto più semplice grazie agli Auto Scaling group.

Gestire manualmente le variazioni di traffico richiederebbe monitoraggio costante e tempi di reazione rapidissimi per evitare crash o rallentamenti, con un potenziale impatto sull'esperienza utente e una conseguente perdita di fatturato.

ASG e Spot instances

Gli ASG sono particolarmente importanti nel contesto delle Spot instances perché aiutano a gestire le interruzioni Spot e a ottimizzarne l'utilizzo, sostituendo automaticamente le istanze interrotte con altre nuove.

Pur non distribuendo direttamente i workloads tra le istanze, gli ASG garantiscono la disponibilità del numero di istanze desiderato. La distribuzione dei workloads in ingresso o delle richieste web tra queste istanze è in genere affidata a servizi come gli Elastic Load Balancer. Gli ASG operano insieme a questi load balancer per indirizzare automaticamente il traffico verso ogni nuova istanza creata, bilanciando il carico in modo efficiente.

Inoltre, offrono la flessibilità di utilizzare tipi di istanza diversi all'interno dello stesso gruppo, permettendoLe di sfruttare diverse tipologie di Spot instances in base a disponibilità e costo.

Le strategie di allocazione Spot

Quando configura i Suoi Auto Scaling group, una delle impostazioni da definire è la Spot Allocation Strategy. Ecco i diversi approcci per aggiudicarsi e ottenere Spot instances:

Lowest price

La strategia Lowest price punta ai pool di istanze più economici disponibili. Privilegiando il prezzo rispetto alla capacità, non offre alcuna garanzia che questi pool dispongano di capacità sufficiente, aumentando il rischio di interruzioni.

Può utilizzarla, per esempio, per una pipeline di analisi dati che elabora dataset di grandi dimensioni. Questa pipeline può schedulare i propri job nei periodi in cui i prezzi Spot sono bassi, sfruttando la strategia lowest-price. Le interruzioni nei momenti di prezzi più alti hanno un impatto minimo, perché l'elaborazione può riprendere quando i prezzi tornano a scendere.

Capacity-optimized

La strategia Capacity-optimized dà priorità ai pool di istanze con maggiore capacità libera, riducendo di conseguenza il rischio di interruzioni.

La adotti quando l'alta disponibilità è cruciale e i Suoi workloads richiedono un pool di istanze più stabile, con meno interruzioni.

Per esempio, se gestisce un servizio di streaming, darà priorità alla disponibilità per non compromettere l'esperienza di visione dei Suoi utenti.

Diversified

La strategia Diversified distribuisce l'allocazione delle Spot instances su tutti i pool disponibili.

La scelga quando dispone della flessibilità necessaria per utilizzare diversi tipi di istanza o più availability zone, così da aumentare le probabilità di ottenere istanze.

È spesso la scelta migliore se opera in più region o se gestisce diverse applicazioni con requisiti di risorse differenti.

Price & capacity-optimized

La strategia di allocazione Price & capacity-optimized bilancia prezzo e disponibilità, offrendo le migliori probabilità di ottenere capacità Spot senza rinunciare all'affidabilità.

È ideale quando la domanda varia nell'arco della giornata ma offre servizi che richiedono alta disponibilità — per esempio, se gestisce uno store ecommerce.

Cosa può andare storto con le Spot instances negli ASG?

I clienti AWS hanno due preoccupazioni principali quando si tratta di includere le Spot instances — o ampliarne l'utilizzo — nei propri ASG: 1) l'affidabilità e 2) la complessità di configurazione.

Poiché AWS può interrompere le Spot instances con un preavviso di due minuti, l'affidabilità delle applicazioni può risentirne. Come accennato, l'impatto può essere più o meno rilevante a seconda del caso d'uso.

Aspetto ancora più importante: implementare le Spot instances negli Auto Scaling group può essere complesso, perché richiede una configurazione corretta di launch template, mixed instance policy e altre impostazioni.

Inoltre, individuare la configurazione più adatta affinché i Suoi ASG funzionino in modo affidabile ed efficiente in termini di costi con le Spot instances richiede un'analisi complessa di molteplici variabili. Deve scegliere i tipi di istanza, le AZ, le VPC e le strategie di allocazione più adatti, tra le altre variabili, per garantire capacità ottimale e massimizzare i risparmi con le Spot instances. Questo può comportare l'indicazione di più availability zone, la definizione di scaling policy e l'integrazione con altri servizi AWS.

Spot Scaling

DoiT Spot Scaling La aiuta ad adottare meglio — e quindi a risparmiare di più con — le Spot instances, suggerendo configurazioni best practice per i Suoi ASG.

Gestisce la composizione delle istanze dei Suoi Auto Scaling group (ASG) per consentirLe di sfruttare le Spot instances senza preoccuparsi delle interruzioni.

Per esempio, qui sotto vediamo un Auto Scaling group che potrebbe essere configurato meglio per massimizzare risparmi e disponibilità Spot. Nella configurazione attuale consente un solo tipo di istanza e ammette esclusivamente istanze on-demand.

Spot Scaling, invece, raccomanda ulteriori tipi di istanza con caratteristiche simili a quelle selezionate, ampliando il numero di pool di istanze potenzialmente sfruttabili.

Aprendo a più tipi di istanza e più availability zone, riduce la probabilità che non vi siano Spot instances disponibili.

Qualora non vi sia capacità libera in nessuno dei pool, Spot Scaling tornerà automaticamente a utilizzare istanze on-demand (anche se la Sua mixed instance policy è al 100% Spot), finché le Spot instances non saranno di nuovo disponibili.

Le basterà esaminare le raccomandazioni, modificarle come preferisce e poi cliccare su "Apply Recommendations". Da quel momento, sarà Spot Scaling a gestire l'ASG per Lei.

Come CattleEye ha ridotto la spesa EC2 di oltre il 60% con Spot Scaling

Eseguendo pipeline di inferenza su AWS Batch, CattleEye applica tecnologie di computer vision a telecamere standard, monitorando le mucche e analizzando i filmati per migliorare il benessere di oltre un milione di capi.

L'analisi in tempo reale dei bovini è però un'attività compute-intensive e AWS EC2 rappresenta la maggior parte dei costi di CattleEye. Inizialmente l'azienda utilizzava istanze GPU, il che rendeva difficile sfruttare le Spot instances. In più, non c'era tempo per valutare altre istanze idonee che avrebbero permesso un uso più ampio delle Spot.

CattleEye ha quindi adottato Spot Scaling per integrare meglio le Spot instances. Partendo da un utilizzo esclusivo di istanze on-demand, oggi il loro batch processing gira al 100% su Spot instances – e di conseguenza CattleEye risparmia oltre il 60% su EC2.

Provi qui il tour interattivo di Spot Scaling

Configurare e gestire le Spot instances all'interno degli ASG può sembrare un'impresa complessa, ma strumenti come DoiT Spot Scaling semplificano il processo. Suggerendo configurazioni ottimali e gestendo dinamicamente la composizione delle istanze, Spot Scaling assicura il massimo risparmio Spot senza rinunciare all'alta disponibilità.

Se sta implementando istanze EC2 con Auto Scaling group, scopra di più su Spot Scaling qui oppure ci contatti per scoprire come DoiT può aiutarLa a ottimizzare i costi di compute con le Spot instances e, più in generale, l'intera spesa cloud.