Che cos'è AutoScaling in AWS? - Come funziona - Componenti diversi

Sommario:

Anonim

Panoramica dell'autoscaling in AWS

Il ridimensionamento automatico, scritto anche come ridimensionamento automatico o talvolta ridimensionamento automatico è una tecnica nel cloud computing, in cui la quantità di risorse necessarie per una server farm per funzionare in modo efficiente, in genere misurata quando il numero di server attivi si ingrandisce o si riduce quando richiesto in base sul carico sull'intera server farm. Possiamo collegarlo da vicino al bilanciamento del carico. In genere il ridimensionamento automatico è un tipo di automazione per un processo manuale. Prendiamo uno scenario in cui hai un sito Web di e-commerce che gestisce e serve i clienti in modo efficiente, nessuno dei tuoi clienti si lamenta del ritardo del sito né stai perdendo utenti a causa delle prestazioni del sito. Man mano che l'attività cresceva, facevi marketing e le persone diventavano sempre più consapevoli del tuo sito Web giorno dopo giorno, il traffico sul sito Web stava aumentando. Da un lato sei stato felice di vedere l'aumento degli affari, ma devi anche vedere che il sito Web dovrebbe servire ogni cliente e non in ritardo. Diciamo che attualmente può servire 100 clienti alla volta significa che se 100 utenti hanno effettuato l'accesso al tuo sito, allora tutti possono navigare senza problemi e acquistare, e tutto questo funziona su una configurazione fissa dell'ipotesi t2.micro di AWS. Ora che un sito Web sta diventando popolare ci si aspetta circa 250 - 300 utenti alla volta, chiaramente sono necessari altri 2 server in cui è possibile dividere il traffico e quindi tutti possono navigare correttamente.

Il lavoro manuale che serve a calcolare la quantità di risorse necessarie per servire i clienti e ridimensionare il sistema in base al carico sulla server farm e alla divisione del traffico viene eseguito manualmente per lo scenario sopra riportato. Possiamo affermare che si tratta in realtà di un ridimensionamento, ma non di un ridimensionamento automatico perché è stato eseguito manualmente ma è possibile utilizzare il servizio di ridimensionamento automatico con un bilanciamento del carico in AWS che automatizzerà l'attività sopra descritta e questo è ciò che si chiama ridimensionamento automatico o ridimensionamento automatico in termini di cloud di calcolo.

Come funziona il ridimensionamento automatico in AWS?

In AWS ci sono più entità coinvolte nel processo di ridimensionamento automatico, ovvero: - Load Balancer e AMI sono due componenti principali coinvolti in questo processo. Innanzitutto, è necessario creare l'AMI del server corrente, in termini più semplici possiamo dire che un modello della configurazione corrente è costituito da tutte le impostazioni di sistema e dal sito Web corrente. Questo è possibile farlo nella sezione AMI di AWS. Se andiamo secondo il nostro scenario di cui sopra e hai configurato il ridimensionamento automatico in modo che il tuo sistema sia pronto per il traffico futuro.

Quando il traffico inizia ad aumentare, il servizio di scalabilità automatica AWS avvia automaticamente l'avvio di un'altra istanza con la stessa configurazione del server corrente con l'aiuto dell'AMI del server.

Poi arriva la parte successiva in cui dobbiamo dividere o instradare il nostro traffico in modo equo tra le istanze che sono state appena lanciate e questo sarebbe gestito dal bilanciamento del carico in AWS. Il bilanciamento del carico divide il traffico in base al carico su un determinato sistema, eseguono alcuni processi interni per decidere dove instradare il traffico.

La creazione di una nuova istanza dipende esclusivamente da un insieme di regole definite dall'utente che sta configurando il ridimensionamento automatico. Le regole possono essere semplici come l'utilizzo della CPU, ad esempio, è possibile configurare il ridimensionamento automatico quando l'utilizzo della CPU raggiunge il 70 -80%, quindi si desidera avviare una nuova istanza per gestire il traffico. Ci possono essere anche regole da ridimensionare.

Componenti del ridimensionamento automatico in AWS

Ci sono molti componenti coinvolti nel processo di scalabilità automatica, alcuni dei quali abbiamo già nominato prima come AMI, Load balancer e ce ne sono anche altri.

Componenti coinvolti nel ridimensionamento automatico: -

  • AMI (Amazon Machine Image)
  • Load Balancer
  • istantanea
  • Istanza EC2
  • Gruppi con scalabilità automatica

Possono esserci più componenti, ma puoi dire che la maggior parte dei componenti che possono essere ridimensionati possono far parte del ridimensionamento automatico.

1. AMI

Un'AMI è un'immagine eseguibile dell'istanza EC2 che è possibile utilizzare per creare nuove istanze. Per ridimensionare le risorse è necessario che il nuovo server disponga di tutta la configurazione dei siti Web e sia pronto per l'avvio. In AWS è possibile ottenere questo risultato da AMI che non è altro che un'immagine identica eseguibile di un sistema che è possibile utilizzare per creare nuove immagini e lo stesso sarebbe utilizzato da AWS in caso di ridimensionamento automatico per avviare nuove istanze.

2. Bilanciamento del carico

La creazione dell'istanza è solo una parte della scalabilità automatica, inoltre è necessario dividere il traffico tra le nuove istanze e il lavoro è gestito da Load Balancer. Un bilanciamento del carico può identificare automaticamente il traffico sui sistemi a cui è collegato e può reindirizzare le richieste sulla base di regole o in modo classico all'istanza con meno carico. Il processo di divisione del traffico tra le istanze che chiamiamo bilanciamento del carico. I sistemi di bilanciamento del carico vengono utilizzati per aumentare l'affidabilità di un'applicazione e l'efficienza per gestire utenti simultanei.

Un bilanciamento del carico svolge un ruolo molto importante nel ridimensionamento automatico. In genere i bilanciatori di carico possono essere di due tipi: -

  • Bilanciamento del carico classico.
  • Bilanciamento del carico dell'applicazione.

Bilanciamento del carico classico: - Il bilanciamento del carico classico segue un approccio molto semplice e distribuirà il traffico equamente a tutte le istanze. È molto semplice e al giorno d'oggi nessuno utilizza un bilanciamento del carico classico. Potrebbe essere una buona scelta per un semplice sito Web di pagine html statiche ma negli scenari attuali, ci sono app ibride o multi-componenti e applicazioni ad alto calcolo che hanno numerosi componenti dedicati a un particolare lavoro.

Bilanciamento del carico dell'applicazione

  • Il tipo più utilizzato di bilanciamento del carico in cui il traffico viene reindirizzato sulla base di determinate regole semplici o complesse che possono essere basate su "percorso" o "host" o come definito dall'utente.
  • Sarebbe meglio se prendessimo uno scenario di un'applicazione per l'elaborazione di documenti.
  • Supponiamo che tu abbia un'applicazione basata sull'architettura dei microservizi o sul monolitico e che il percorso "/ document" sia specifico per un servizio di elaborazione di documenti e altri percorsi "/ reports" che mostra solo i report dei documenti che vengono elaborati e le statistiche sui dati elaborati. Possiamo avere un gruppo con scalabilità automatica per un server che è responsabile dell'elaborazione dei documenti e un altro solo per mostrare i report.
  • Nel bilanciamento del carico dell'applicazione è possibile configurare e impostare la regola in base a un percorso che, se il percorso corrisponde a "/ document", reindirizza a un gruppo di scalabilità automatica per il server 1 o se corrisponde al percorso "/ reports", quindi reindirizzarlo a un gruppo di scalabilità automatica per server 2. Internamente un gruppo può avere più istanze e il carico verrà distribuito in modo classico equamente tra le istanze.

3. Istantanea

La copia dei dati che hai nel tuo disco rigido è in genere un'immagine della tua memoria. La differenza tipica tra snapshot e AMI è un'immagine eseguibile che può essere utilizzata per creare una nuova istanza ma l'istantanea è solo una copia dei dati che hai nella tua istanza. Se si dispone di uno snapshot incrementale dell'istanza EC2, lo snapshot sarebbe una copia di quei blocchi che sono stati modificati dall'istantanea precedente.

4. Istanza EC2 (Elastic Compute Cloud)

Un'istanza EC2 è un server virtuale in Elastic Compute Cloud (EC2) di Amazon che viene utilizzato per distribuire le tue applicazioni sull'infrastruttura Amazon Web Services (AWS). Il servizio EC2 consente di connettersi a un server virtuale con una chiave di autenticazione tramite connessione SSH e di installare diversi componenti dell'applicazione insieme all'applicazione.

5. Gruppo di scalabilità automatica

È un gruppo di istanze EC2 e il nucleo di Amazon EC2 AutoScaling. Quando si crea un gruppo di AutoScaling, è necessario fornire informazioni sulle sottoreti e un numero iniziale di istanze con cui si desidera iniziare.

Conclusione

Dai contenuti di cui sopra, abbiamo avuto una buona idea di cosa sia il ridimensionamento automatico e di quanto sia importante nel mondo di oggi.

  • Se vediamo la tecnologia e le richieste degli utenti aumentano di giorno in giorno e anche le loro aspettative di un'applicazione rapida ed efficiente.
  • Un'ottima applicazione è veloce, ti dà una buona esperienza utente e fa le cose per le quali è costruita e per raggiungere questo obiettivo hai bisogno di un backend e uno stack tecnologico molto robusti.
  • Dopo che sei in attività ed è un successo, è molto probabile che la tua base di utenti aumenti e ci saranno situazioni per gestire utenti simultanei nel momento in cui hai bisogno del ridimensionamento automatico per ridimensionare e ridimensionare in base alle situazioni per offrire ai tuoi utenti un'esperienza senza interruzioni.

Dal mio punto di vista, il ridimensionamento è un aspetto molto importante nel mondo di oggi e oggi o domani dobbiamo farlo, andare con il ridimensionamento automatico AWS e scalare i vostri prodotti.

Articoli consigliati

Questa è una guida a Che cos'è AutoScaling in AWS? Qui discutiamo della sua definizione, funzionamento e diversi componenti del ridimensionamento automatico in AWS. Puoi anche leggere il seguente articolo per saperne di più -

  1. Che cos'è AWS RedShift?
  2. Cosa è StringBuilder in C #
  3. Guida completa ai test funzionali
  4. Che cos'è lo sviluppatore back-end?
  5. Servizi di archiviazione AWS