Elastic Compute Cloud (EC2) spiegato in termini semplici

Un tempo la potenza di calcolo era compito dell’infrastruttura hardware locale. Ora, se la tua soluzione software risiede nel cloud, sta diventando un lavoro del servizio web Elastic Compute Cloud (EC2).

EC2 porta capacità di elaborazione ridimensionabile nel cloud. Gli utenti possono noleggiare computer virtuali con istanze su cui eseguono le proprie applicazioni. Le istanze possono avere varie configurazioni, diversi sistemi operativi, potenza di calcolo e capacità di archiviazione.

EC2 è un componente principale di Amazon Web Services (AWS). In quanto tale, è ampiamente utilizzato per quasi ogni possibile implementazione di progetti nel cloud. Ovviamente, a meno che non si stia cercando un’architettura serverless, nel qual caso EC2 è, al contrario, fuori discussione.

Componenti chiave di EC2

Fonte: docs.aws.amazon.com

Ogni AWS EC2 che decidi di utilizzare per il tuo progetto deve essere costituito da altri componenti AWS. Questi definiscono i parametri esatti della tua configurazione.

#1. Istanze

Un’istanza EC2 è fondamentalmente un’interpretazione cloud di una macchina virtuale. L’istanza può essere preparata e avviata in una varietà di configurazioni. È inoltre necessario definire un sistema operativo specifico per l’istanza e la potenza dell’istanza (quantità di CPU, RAM, ecc.).

Infine, puoi specificare la quantità di capacità di storage che deve essere collegata in modo permanente all’istanza EC2.

#2. Amazon Machine Images (AMI)

L’AMI è un modello preconfigurato contenente tutte le informazioni necessarie per un corretto avvio dell’istanza. Qui si specifica effettivamente su quale sistema operativo si desidera eseguire le applicazioni, come sarà il server delle applicazioni e quali applicazioni esatte devono essere installate.

#3. Negozio di blocchi elastici (EBS)

Si tratta di un servizio di storage che fornisce volumi di storage persistenti da utilizzare con l’istanza EC2. È qui che risiederanno tutti i dati dell’applicazione, nonché i dati dei clienti, una volta utilizzate le applicazioni sulle istanze EC2.

#4. Gruppi di sicurezza

Per ogni istanza EC2, dovrai richiedere un accesso di sicurezza controllato. Ciò vale sia per la comunicazione dal mondo esterno nell’istanza EC2 (traffico in uscita) sia tra i servizi AWS all’interno della tua infrastruttura cloud (traffico in entrata).

#5. Coppie di chiavi

Per una maggiore sicurezza, devi generare coppie di chiavi pubbliche e private da utilizzare per connetterti in modo sicuro alle istanze EC2.

#6. Indirizzi IP elastici

Per consentirti di accedere alla tua nuova istanza EC2 da Internet esterno o anche di farvi riferimento all’interno della tua infrastruttura sul cloud, devi assegnare un indirizzo IP statico alle istanze EC2. Da quel momento in poi, la macchina virtuale con un’istanza EC2 sarà raggiungibile.

#7. Gruppi di posizionamento

Con l’aiuto di questi, puoi creare raggruppamenti logici di istanze. Questi sono progettati per fornire connessioni di rete a bassa latenza e larghezza di banda elevata. Ciò serve sia per ragioni organizzative che di prestazioni.

#8. Ridimensionamento automatico

Si tratta di un servizio – piuttosto unico tra i vari fornitori di servizi cloud – che regola automaticamente il numero di istanze EC2 in un gruppo in base alle esigenze del carico di lavoro. Ciò significa che, una volta abilitata la scalabilità automatica, le istanze EC2 possono essere moltiplicate o upscalate in modo simile all’hardware per soddisfare la crescente domanda.

In alternativa, puoi diminuire o ridimensionare se la domanda è notevolmente inferiore al solito. La ragione principale di ciò è non essere lenti durante i picchi di carico. Ma anche per risparmiare quando non c’è molto da fare.

#9. Bilanciatori del carico

Per dirla in modo semplice e di alto livello, si tratta di un servizio che distribuisce il traffico in entrata su più istanze EC2 e, con ciò, migliora la disponibilità e la scalabilità.

#10. Cloud privato virtuale (VPC)

VPC è una rete virtuale separata logicamente che fornisce un ambiente sicuro e isolato per le istanze EC2. Puoi organizzare varie istanze EC2 nello stesso o in diversi VPC e quindi definire regole per il traffico in entrata e in uscita tra i VPC e, quindi, anche tra le diverse istanze EC2 nella tua infrastruttura cloud.

In genere, si desidera mantenere alcune istanze EC2 private e accessibili solo dal codice dell’applicazione. Allo stesso tempo, altri EC2 che desideri mantenere disponibili su Internet. VPC è una soluzione perfetta.

Caratteristiche principali di EC2

Fonte: aws.amazon.com

Le istanze EC2 forniscono capacità di elaborazione scalabile nel cloud AWS. Le aziende possono avviare rapidamente macchine virtuali con la potenza di calcolo e la capacità di storage di cui hanno bisogno senza investire in hardware fisico. Questo è il vero vantaggio dell’infrastruttura cloud e EC2 svolge un ruolo significativo.

Lo scopo abituale delle istanze EC2 è ospitare varie applicazioni o siti Web nel cloud. Puoi utilizzarli per soddisfare i tuoi carichi di lavoro, siano essi di natura batch, requisiti di elaborazione in tempo reale, applicazioni web o mobili.

La tipologia di lavoro per cui utilizzi l’EC2 è praticamente infinita. Potresti aver bisogno di una potenza notevole per l’elaborazione dei dati, l’apprendimento automatico o i giochi. Potrebbero essere necessari ulteriori ambienti di sviluppo o test per la tua infrastruttura. Quindi, puoi sicuramente sfruttare tutti i vantaggi delle istanze EC2.

Soprattutto, puoi distruggerli e ricrearli ogni volta che ne hai bisogno. In tal caso, risparmierai denaro per la tua infrastruttura di sviluppo e test per i periodi in cui non ne hai bisogno. La terminazione e la ricreazione su richiesta hanno, ovviamente, molte altre applicazioni per l’azienda.

Fondamenti del cloud computing

Visto che abbiamo già parlato di EC2, forse un piccolo passo indietro potrebbe essere utile per spiegare un po’ cos’è esattamente il Cloud computing.

Puoi vederlo come un modello per fornire risorse informatiche su Internet, che è on-demand e costruito come un servizio. È il meccanismo che consente di accedere alla potenza di calcolo con tutte le sue infrastrutture e applicazioni senza dover investire in hardware o infrastrutture fisiche. Il cloud computing si basa su una serie di principi fondamentali, tra cui:

  • Gli utenti hanno a disposizione il self-service su richiesta in qualsiasi momento. Server e spazio di archiviazione sono disponibili senza dover sottoporsi a un lungo processo di approvvigionamento.
  • È possibile accedere alle risorse tabletCloud da qualsiasi luogo e da qualsiasi cosa (ad esempio laptop, desktop, tablet, dispositivi mobili).
  • Le risorse informatiche o l’intera infrastruttura possono essere condivise e allocate dinamicamente per soddisfare ambienti e requisiti in evoluzione.
  • Puoi aumentare o ridurre rapidamente le risorse in base alla domanda attuale.
  • Il cloud computing in tempo reale significa essenzialmente un modello di prezzi a consumo, in cui gli utenti pagano solo per le risorse che effettivamente utilizzano. Inoltre, puoi monitorare l’utilizzo speso in tempo reale.

Modelli di servizio del Cloud Computing

Il cloud computing può avere tre modelli di servizio principali:

  • Infrastruttura come servizio (IaaS), che offre risorse di elaborazione virtualizzate, come server, archiviazione e rete, come servizio. La creazione di una soluzione praticabile dipende esclusivamente da te.
  • Platform as a Service (PaaS) è ​​un ulteriore passo avanti. Otterrai un’intera piattaforma per lo sviluppo, la distribuzione e la gestione delle applicazioni come servizio. Non devi preoccuparti in alcun modo dei dettagli dell’infrastruttura.
  • Software as a Service (SaaS) è ​​il grado più alto in cui ottieni applicazioni software complete, come posta elettronica, CRM o strumenti di produttività, come servizio. In questo caso, utilizzi semplicemente ciò che è già a tua disposizione.
  • Modelli di distribuzione del cloud computing

    Il cloud computing si differenzia anche per il modo in cui distribuisci e accedi alle risorse:

  • Cloud pubblico significa che le risorse cloud sono fornite da un provider di terze parti, come AWS, Microsoft Azure o Google Cloud, e sono accessibili tramite Internet.
  • Un cloud privato è se un’organizzazione costruisce il proprio data center e l’infrastruttura è accessibile solo all’interno della rete dell’organizzazione.
  • Un cloud ibrido è una combinazione di risorse cloud pubbliche e private, integrate per fornire un’infrastruttura comune interconnessa.
  • Il multi-cloud è una strategia in cui un’organizzazione utilizza più fornitori di cloud per soddisfare esigenze aziendali specifiche. Ad esempio, puoi combinare Amazon Cloud e SAP Datawarehouse Cloud per creare una soluzione composta da dati transazionali regolamentati in SAP con un data Lake creato in AWS.
  • Elasticità dell’EC2

    Fonte: aws.amazon.com

    L’elasticità è una caratteristica chiave del cloud computing. Si riferisce alla capacità dell’infrastruttura cloud di allocare e deallocare dinamicamente le risorse informatiche in risposta alle esigenze in continua evoluzione. Utilizzando l’elasticità, puoi aumentare o ridurre l’infrastruttura in base alle esigenze. Il tutto senza dover investire in hardware o infrastrutture fisiche.

    Di pari passo con ciò arriva un’altra proprietà del cloud, ovvero la scalabilità. È la capacità di un sistema di gestire quantità crescenti di carichi o traffico senza subire un calo delle prestazioni.

    Ad esempio, se la tua home page sta registrando un traffico improvviso insolitamente elevato a causa del rilascio di un nuovo prodotto molto atteso. Questo è il momento in cui la scalabilità entrerà in gioco e aumenterà tutte le tue risorse e il tuo potere per sentirti a tuo agio con questo carico elevato.

    La scalabilità si ottiene attraverso l’uso di risorse elastiche, come macchine virtuali, storage e reti, che possono essere aumentate o ridotte rapidamente e facilmente.

    La scalabilità automatica è quindi una funzionalità eccezionale che sfrutta la capacità di scalabilità e la automatizza in base alle aspettative di carico predefinite. Regolerà automaticamente il numero di risorse di elaborazione da utilizzare in base alla domanda. Ciò significa anche che non è necessario monitorare e modificare manualmente le risorse. L’aumento o la riduzione delle risorse può essere basato su vari parametri, come l’utilizzo della CPU, il traffico di rete o il tempo di risposta dell’applicazione.

    Infine, le risorse vengono allocate in modo dinamico e in tempo reale. Ciò ti dà la possibilità di ottimizzare l’utilizzo della tua infrastruttura. Assegna le tue risorse solo quando ne hai bisogno e rilasciale quando non ne hai più bisogno.

    L’allocazione dinamica delle risorse è una caratteristica fondamentale del cloud computing, poiché consente di raggiungere elevati livelli di utilizzo ed efficienza minimizzando allo stesso tempo i costi.

    Vantaggi dell’EC2

    Alcuni dei principali vantaggi di EC2 sono già evidenti. Ma giusto per metterlo in un contesto esplicito, i seguenti sono i più importanti da notare:

    Flessibilità

    Utilizza EC2 per aumentare o diminuire facilmente le risorse di elaborazione per soddisfare i livelli di carico attuali. Avvia o distruggi le istanze come desideri in questo momento. Metti in pausa e riavvia le istanze quando preferisci. Assicurati di avere sempre un backup nel caso in cui le cose vadano male.

    Efficienza dei costi

    Un risultato diretto della flessibilità è la maggiore opportunità di risparmiare denaro per la fornitura delle infrastrutture. Se configurate correttamente, le tue istanze EC2 verranno avviate e terminate al momento giusto. Di conseguenza, eviterai i costi associati a costi ingiustificati di approvvigionamento delle risorse.

    Alta disponibilità

    Con EC2, ottieni un’infrastruttura altamente disponibile con l’obiettivo di ridurre al minimo i tempi di inattività e garantire che applicazioni e servizi siano sempre accessibili.

    Affidabilità

    EC2 fornisce un’infrastruttura affidabile il cui intento è quello di essere operativo praticamente senza interruzioni e garantisce che applicazioni e servizi siano sempre disponibili e performanti.

    Accessibilità

    Puoi accedere da qualsiasi luogo, utilizzando desktop, laptop, tablet o smartphone. Allo stesso modo, hai piena libertà di applicare eventuali restrizioni all’accesso di cui hai bisogno.

    Portata globale

    EC2 è disponibile in più regioni in tutto il mondo, quindi puoi distribuire applicazioni e servizi più vicino ai tuoi clienti e rispettare le normative locali sulla privacy dei dati.

    Agilità

    Disponi di un’infrastruttura veramente agile che ti offre la possibilità di rispondere rapidamente alle mutevoli condizioni del mercato e di innovare più rapidamente.

    La sicurezza dei dati

    EC2 ti offre un’infrastruttura sicura che, in base alla progettazione, è stata creata per proteggere dati e applicazioni da accessi non autorizzati e minacce informatiche.

    Conformità

    EC2 è conforme a un’ampia gamma di standard e normative di settore, tra cui HIPAA, PCI DSS e GDPR.

    Collaborazione

    EC2 fornisce un ambiente collaborativo che consente ai team di lavorare insieme su progetti e di condividere risorse e dati.

    Sfide con EC2

    Sicuramente ci sono anche alcune sfide di cui dovresti essere consapevole quando usi EC2.

    #1. Gestione del costo

    La natura essenziale dell’intero modello di costo di AWS è renderlo il più complesso possibile e i prezzi di EC2 non fanno eccezione. È necessario gestire attentamente il proprio utilizzo per evitare costi imprevisti e avere a disposizione alcuni strumenti affidabili per monitorarlo continuamente. Puoi utilizzare alcuni strumenti di ottimizzazione dei costi, ad esempio AWS Cost Explorer o AWS Trusted Advisor.

    #2. Sicurezza

    Sebbene EC2 ti offra un’infrastruttura sicura, sei comunque responsabile della protezione delle tue applicazioni e dei tuoi dati. Dovresti implementare le migliori pratiche per la sicurezza, come l’utilizzo di password complesse, la crittografia dei dati e l’implementazione dei controlli di accesso.

    #3. Conformità

    Con EC2, è necessario garantire che l’utilizzo sia conforme agli standard e alle normative del settore. Pertanto, è essenziale rivedere regolarmente la documentazione di conformità di AWS e collaborare con gli esperti di conformità di AWS per garantire di soddisfare i requisiti di conformità richiesti dai tuoi clienti.

    #4. Prestazione

    Puoi influenzare le prestazioni di EC2 in base a diversi fattori, come ad esempio la latenza di rete, l’I/O del disco o l’utilizzo della CPU. Monitora sistematicamente le prestazioni della tua infrastruttura e utilizza strumenti di ottimizzazione delle prestazioni, come AWS CloudWatch e AWS X-Ray, per identificare e risolvere i problemi di prestazioni.

    #5. Disponibilità

    È vero che EC2 fornisce un’infrastruttura ad alta disponibilità, ma è comunque necessario garantire che anche le applicazioni e i servizi di cui si esegue il provisioning siano progettati per l’alta disponibilità. Utilizza a tale scopo servizi AWS come Elastic Load Balancing o Auto Scaling per garantire che le applicazioni e i servizi siano sempre disponibili.

    #6. Trasferimenti di dati

    Tieni presente i costi di trasferimento dei dati quando utilizzi EC2, poiché il trasferimento dei dati tra istanze EC2 e altri servizi AWS può comportare costi aggiuntivi. Ciò significa che non si tratta solo di scambiare dati tra la tua infrastruttura e Internet. Utilizza Amazon S3 e Amazon CloudFront per ridurre al minimo i costi di trasferimento dei dati.

    #7. Blocco del venditore

    La consapevolezza del potenziale vincolo del fornitore quando si utilizza EC2 deve essere nella tua lista di priorità. Progetta le applicazioni e i servizi in modo che siano portabili tra i provider cloud e utilizza standard e API aperti per garantire l’interoperabilità. In questo modo la tua soluzione diventerà cloud agnostic, diventando un ulteriore livello di flessibilità che rappresenta comunque un sostanziale vantaggio di mercato.

    Fonte: aws.amazon.com

    Sei curioso di conoscere le tendenze future e le innovazioni che puoi aspettarti di modellare il futuro di EC2? Eccoli.

    Senza server

    Il serverless computing è ancora un nuovo paradigma nel cloud computing, anche se è già stato implementato da diversi anni da alcuni dei team di sviluppo più progressisti. Gli sviluppatori eseguono il codice senza dover gestire server o infrastruttura. La funzione AWS Lambda o AWS Step è un esempio di servizio di elaborazione serverless che puoi creare su EC2.

    Apprendimento automatico

    EC2 è un’infrastruttura perfetta per l’esecuzione di modelli, previsioni e carichi di lavoro di machine learning. Puoi letteralmente generare data lake straordinariamente grandi di previsioni dei dati del modello in pochi minuti. Oltre a ciò, AWS offre una gamma di servizi di machine learning pronti all’uso, come Amazon SageMaker e Amazon Rekognition, basati su EC2.

    Informatica perimetrale

    L’edge computing è un nuovo paradigma nel cloud computing e riguarda l’elaborazione dei dati più vicino alla fonte piuttosto che in un data center centralizzato. Ciò significa che esegui tutti i carichi di dati estesi nell’area in cui generi i dati. Quindi, con l’aiuto di vari servizi di caching, si trasferiscono i dati in un archivio dati centrale, che non influisce più realmente sull’elaborazione delle operazioni dell’utente. AWS offre una gamma di servizi di edge computing, come AWS Greengrass e AWS IoT, che puoi distribuire su EC2.

    Containerizzazione

    La containerizzazione è una strategia di confezionamento di applicazioni e servizi in contenitori, che possono essere facilmente distribuiti e gestiti. Ottieni la garanzia di compatibilità quando è richiesto il trasporto di servizi tra istanze o infrastrutture. AWS offre una gamma di servizi di containerizzazione, come Amazon ECS e Amazon EKS, basati su EC2.

    Informatica quantistica

    L’informatica quantistica è ancora una volta un paradigma abbastanza nuovo che prevede l’utilizzo di fenomeni quantomeccanici, come la sovrapposizione e l’entanglement, per eseguire calcoli. AWS offre una gamma di servizi di calcolo quantistico, come Amazon Braket, e puoi averli su EC2.

    Parole finali

    EC2 è la parte fondamentale di ogni infrastruttura cloud seria e non scomparirà presto. Di solito, probabilmente lo vedrai tra i primi 3 servizi con la generazione di costi più elevata, ma è tutto per un motivo.

    EC2 è la spina dorsale dell’infrastruttura cloud, che cattura tutti gli altri servizi sulla sua superficie. Comprendere l’EC2 è quindi fondamentale se il tuo obiettivo è avere successo nel mondo del cloud computing.

    Successivamente, consulta le migliori pratiche per la sicurezza AWS EC2.