Comprensione del cloud computing: l'istanza AWS EC2
L'istanza EC2 — Come vengono create le istanze EC2 — Istanze EC2 e regioni AWS
Se non hai mai sentito parlare di AWS, ti consiglio di iniziare con questo articolo che copre le basi di client, server, database e cloud computing. Questo articolo esamina alcuni concetti importanti, ma non fornisce informazioni di base sul funzionamento interno di Internet o dei server.
Per un breve riassunto, il cloud computing è la vendita di risorse informatiche - pensate a database, server e software - su Internet. Gli individui, come te, possono affittare spazio e tempo sull'infrastruttura hardware che i provider di servizi cloud hanno costruito in tutto il mondo. Ciò semplifica il processo di distribuzione del software.
Dimentica la costosa configurazione dell'infrastruttura e lo spreco di risorse. Le piccole imprese e gli individui ora hanno accesso a risorse che una volta erano disponibili solo per le aziende Fortune 500. Possono distribuire applicazioni in tutto il mondo con pochi clic e pagheranno solo per le risorse che utilizzano, quando le utilizzano.
L'istanza EC2
Le istanze EC2 sono server virtuali in esecuzione sull'infrastruttura di cloud computing di Amazon. Un server AWS fisico ospita più server virtuali guest EC2. Analizziamolo dando un'occhiata ai server in passato, alle macchine virtuali e al modo in cui le macchine virtuali si relazionano alle istanze EC2.
Server nel passato
In passato, i server erano solo enormi computer fisici. Maggiore è la potenza di calcolo e lo storage di cui un'azienda ha bisogno, maggiore sarà l'infrastruttura hardware da costruire. C'era un grosso problema con questo paradigma: lo spreco di risorse. Un esempio perfetto è un sito Web che registra un traffico elevato solo in determinati periodi dell'anno. Supponiamo che un'azienda di matrimoni in Siberia abbia creato un'infrastruttura server e avviato un sito web. Decidono di lanciare a giugno.
Gli affari vanno a gonfie vele. I matrimoni si svolgono a destra ea sinistra e il loro sito Web sta registrando un traffico di utenti intenso. Fortunatamente, hanno pianificato in anticipo e costruito server per gestire il carico. Poi arriva l'inverno. Il traffico degli utenti precipita. Chi organizza un matrimonio in Siberia in pieno inverno? Quella robusta infrastruttura di server che era necessaria in estate è un fardello in inverno. L'azienda sta sostenendo i costi di manutenzione dell'hardware che non viene utilizzato completamente.
Le macchine virtuali riducono lo spreco di risorse
I server silenziosi di questa compagnia di matrimoni rappresentano il problema dello spreco di risorse. In passato, le aziende non disponevano di un modo conveniente per ripartire le risorse in modo efficiente per periodi di traffico utenti elevato e ridotto. La soluzione era la macchina virtuale (VM).
Le macchine virtuali sono computer secondari basati su software in esecuzione all'interno di una macchina fisica. Una macchina fisica può ospitare più macchine virtuali. La macchina fisica è chiamata macchina host e le VM sono chiamate macchine guest. A ciascuna macchina virtuale vengono assegnate le proprie risorse di elaborazione (memoria, CPU, storage) ed è distinta e isolata dalle altre macchine virtuali in esecuzione sulla stessa macchina. Questo grazie al loro kernel separato, il software che alimenta tutte le funzioni di base di un computer. La macchina host utilizza un hypervisor, un livello di software che crea ed esegue macchine virtuali condividendo le risorse dell'host.
Le VM virtualizzano i server. Consentono di suddividere una macchina in diversi ambienti informatici isolati. Ciò consente alle aziende di vendere spazio e tempo sul proprio hardware e mitigare lo spreco di risorse. Ad esempio, supponiamo che io sia il presidente di un negozio di attrezzature per lo sci di fondo siberiano. Voglio gestire un sito Web ma non voglio occuparmi della costruzione dell'architettura del server fisico. So che il traffico degli utenti sarà alto in inverno e basso in estate e voglio evitare lo spreco di risorse.
Decido di rivolgermi alla compagnia di matrimoni. Offro loro un accordo: li pagherò per distribuire il mio sito Web sul loro hardware fisico. Entrambi possiamo eseguire le nostre applicazioni su macchine virtuali, totalmente isolate dal punto di vista computazionale l'una dall'altra. È una vittoria. Mantengono l'hardware, io pago per il loro spazio e tempo quando ne ho bisogno ed entrambi mitighiamo lo spreco di risorse.
Le istanze EC2 sono server virtuali
Questo è ciò che fornisce AWS EC2, ma su scala molto più ampia. Le istanze EC2 sono macchine virtuali in esecuzione sull'hardware di Amazon. Più specificamente sono server virtuali. Proprio come una macchina virtuale, le istanze EC2 sono macchine guest gestite da hypervisor su macchine host. Queste macchine host sono server fisici di grandi dimensioni nei data center AWS.
Qualsiasi azienda o individuo può creare un account AWS dal proprio computer e avviare un'istanza EC2 sull'hardware di Amazon. Si tratta di una forma di Infrastructure as a Service (IaaS), una delle tecnologie innovative fornite dal cloud computing.
Come vengono create le istanze EC2
Quindi sappiamo cosa sono le istanze EC2, ma ci sono molti altri componenti tecnici che entrano nella loro creazione.
Immagini macchina Amazon (AMI)
Quando un'azienda cresce, di solito ha bisogno di ridimensionare i server per gestire il traffico degli utenti. Questo può essere fatto verticalmente aggiungendo risorse a un server esistente. Può anche essere fatto orizzontalmente, aggiungendo ulteriori server. Un modo in cui AWS rende semplice il ridimensionamento nel cloud è tramite l'Amazon Machine Image (AMI).
Le AMI sono modelli personalizzabili per le istanze EC2. Specificano una configurazione: un sistema operativo (Linux, Ubuntu, Windows, ecc.), un server delle applicazioni e tutte le installazioni software necessarie. In termini non tecnici, l'AMI è un progetto e l'istanza EC2 è la macchina costruita dal progetto. Se hai programmato in un linguaggio orientato agli oggetti, pensa a un'AMI come a una classe e alle istanze EC2 come a un oggetto generato da essa.
Anziché creare e configurare ogni istanza EC2, puoi creare più istanze EC2 configurate in modo identico dallo stesso modello AMI. È l'equivalente di ridimensionare orizzontalmente la tua architettura con pochi clic.
Tipi di istanza
Quando crei un'istanza EC2 da un modello AMI, devi anche scegliere un tipo di istanza. Ricorda che un'istanza EC2 è una macchina virtuale. Alle macchine virtuali vengono assegnate risorse da un computer host tramite l'hypervisor.
Il tipo di istanza descrive quante risorse verranno allocate alla tua macchina virtuale EC2. Un livello più ampio assegnerà a un'istanza EC2 più risorse dalla macchina host. Sosterrà anche più costi.
I tipi sono raggruppati in famiglie in base alle esigenze delle applicazioni di destinazione. Ad esempio, se un'applicazione necessita di molta potenza di elaborazione per la modellazione di big data, dovrebbe essere distribuita con un tipo di istanza della famiglia ottimizzata per il calcolo. Esempi più basilari di famiglie includono uso generale, ottimizzato per la memoria e ottimizzato per l'archiviazione.
AWS offre agli utenti un livello di prova gratuito. Questo è il livello t2.micro. Nelle zone (trattate nella sezione successiva) in cui il livello t2.micro non è disponibile, il livello gratuito è denominato t3.micro. In un articolo successivo, fornirò una guida passo passo per la distribuzione delle applicazioni in AWS. Queste applicazioni devono essere distribuite solo nel livello t2.micro o t3.micro e devono essere eliminate dopo il tutorial per evitare di incorrere in addebiti.
Da un'AMI puoi avviare più tipi di istanza diversi per il tuo server. Conterranno tutte la stessa configurazione specificata originariamente nell'AMI, ma differiranno nella quantità di risorse allocate in base ai livelli specificati per il tipo di istanza.
Archiviazione, sicurezza e altro ancora
È importante notare che ci sono molte altre funzionalità integrate nella creazione di istanze EC2. Ad esempio, puoi creare volumi Elastic Block Storage (EBS) come storage per un database. Puoi anche specificare configurazioni per impostazioni di sicurezza, monitoraggio, reti e molto altro. Tratterò questi argomenti in modo molto approfondito negli articoli successivi.
Istanze EC2 e regioni AWS
Quando si creano istanze EC2, una domanda non banale è dove crearle. Uno dei maggiori ostacoli alla velocità della rete è la distanza. Ovvero, la distanza dal client che richiede informazioni al server che emette una risposta. Avere una rete di risorse disponibili attraverso i continenti limita la distanza tra un'applicazione e il suo utente finale. Ciò è correlato a tempi di caricamento più rapidi per gli utenti finali. Fortunatamente AWS ha data center in tutto il mondo.
Regioni e zone di disponibilità
AWS separa grandi aree geografiche in regioni isolate in cui sono disponibili i servizi. Queste regioni sono suddivise in zone di disponibilità isolate. Queste zone consentono alle aziende di posizionare server e altre risorse il più vicino possibile ai propri utenti finali per ridurre al minimo i tempi di caricamento.
Le regioni e le zone di disponibilità sono isolate l'una dall'altra
Le regioni sono isolate dalle altre regioni e le zone di disponibilità sono isolate dalle altre zone di disponibilità. Questo è un modo tecnico per dire che un'istanza EC2 distribuita in una zona di disponibilità non è distribuita in un'altra. Le istanze EC2 replicate da un'AMI su più zone di disponibilità sono macchine virtuali distinte e separate. Gli errori in un'istanza non influiranno sulle istanze in un'altra zona.
Questo può essere utilizzato per eliminare i singoli punti di errore per l'applicazione. Ancora meglio, se un'istanza in una zona fallisce, puoi reindirizzare il traffico da quella zona a un'istanza EC2 che opera in un'altra zona. Ciò limita i tempi di inattività in caso di interruzioni.
Durante la creazione di un'AMI, le aziende possono specificare la regione in cui desiderano crearla. Successivamente possono copiare l'AMI in altre regioni, se lo desiderano. Quando crei un'istanza di un'istanza EC2 da un'AMI, tale AMI deve esistere nella stessa regione in cui stai tentando di distribuire l'istanza. L'istanza EC2 è specifica per una zona di disponibilità specificata al momento della creazione o scelta automaticamente da Amazon.
Leghiamolo insieme
Le istanze EC2 sono macchine virtuali. Le aziende possono utilizzare le istanze EC2 per affittare spazio e tempo sull'infrastruttura hardware globale di Amazon. Sono creati da Amazon Machine Images. Le AMI sono come modelli da cui è possibile creare più istanze con le stesse impostazioni di configurazione. Ognuna di queste istanze ha un tipo specificato che determina la quantità di risorse partizionate a tale istanza. Le istanze possono essere ulteriormente configurate con impostazioni di archiviazione, sicurezza e rete.
Le AMI sono legate a una regione AWS. Le istanze EC2 vengono create da AMI esistenti nella stessa regione AWS in cui verranno distribuite. Le istanze EC2 sono legate alle zone di disponibilità all'interno di regioni AWS più grandi. Queste regioni e zone sono isolate e forniscono alle aziende un modo per eliminare i singoli punti di errore.
Seguimi se vuoi leggere altri articoli che rendono le tecnologie web a livello di produzione facili da usare e da capire!
Ulteriori letture
- https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html
- https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html
- https://www.edureka.co/blog/ec2-instances-in-aws/
- https://www.techtarget.com/searchaws/definition/Amazon-EC2-instances#:~:text=An%20Amazon%20EC2%20instance%20is,Web%20Services%20(AWS)%20infrastructure.

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































