Che cos'è il calcolo?

Nel cloud computing, il termine "calcolo" descrive i concetti e gli oggetti correlati al calcolo software. È un termine generico utilizzato per definire la potenza di elaborazione, la memoria, le reti, l'archiviazione e altre risorse necessarie per il successo computazionale di qualsiasi programma. 

Ad esempio, le applicazioni che eseguono algoritmi di machine learning o funzioni di rendering di grafica 3D richiedono molti giga di RAM e più CPU per essere eseguite correttamente. In questo caso, le CPU, la RAM e le unità di elaborazione grafica (GPU) vengono definite risorse di calcolo e le applicazioni hanno un utilizzo intensivo di calcolo.

Andiamo a vedere alcune domande frequenti sul calcolo per comprendere questo termine in un contesto di calcolo moderno.

Che cosa sono le risorse di calcolo?

Le risorse di calcolo sono quantità misurabili di potenza di calcolo che è possibile richiedere, allocare e utilizzare per le attività di calcolo. Alcuni esempi di risorse di calcolo includono:

CPU

L'unità di elaborazione centrale (CPU) è il cervello di qualsiasi computer. La CPU viene misurata in unità denominate millicore. Gli sviluppatori di applicazioni possono specificare quante CPU allocate sono necessarie per eseguire la loro applicazione e per elaborare i dati.

Memoria

La memoria viene misurata in byte. Le applicazioni possono effettuare richieste di memoria necessarie per un'esecuzione efficiente.

Se le applicazioni vengono eseguite in un singolo dispositivo fisico, il loro accesso alle risorse di calcolo di tale dispositivo è limitato. Ma se le applicazioni vengono eseguite nel cloud, possono accedere simultaneamente a più risorse di elaborazione da diversi dispositivi fisici. Andiamo a scoprire qualcosa di più su questo argomento.

Che cos'è il cloud computing?

Cloud computing è un termine generico che racchiude tutto ciò che riguarda la distribuzione delle risorse del computer via Internet. Gli utenti possono accedere a grandi quantità di potenza di calcolo on demand. Possono effettuare acquisti al minuto o all'ora e utilizzare qualsiasi quantità necessaria per le loro attività di calcolo.

La storia del cloud computing

Tradizionalmente, le applicazioni Web venivano ospitate in server fisici fissi. La potenza di calcolo richiesta per l'applicazione era limitata al server nel quale veniva eseguita. I proprietari dei siti Web potevano acquistare più server o spazio nell'ambito di un singolo server, ma dovevano pagare un prezzo fisso, indipendentemente dall'utilizzo. Dovevano anche gestire e aggiornare la loro infrastruttura di computer server.

Oggi, le applicazioni possono utilizzare risorse di calcolo di molti dispositivi diversi in modo flessibile. I fornitori cloud dispongono di vasti pool di risorse di calcolo, che comprendono sia server che data center fisici. Le aziende possono ospitare applicazioni e accedere a tali risorse di calcolo dal pool. Il fornitore gestisce completamente e ottimizza le risorse per fornire agli utenti flessibilità, scalabilità ed efficienza. Gli utenti devono solo aggiornare le proprie applicazioni, mentre la gestione dell'infrastruttura di calcolo viene effettuata dal fornitore cloud.

Software di contabilità: un esempio di cloud computing

Andiamo a vedere l'esempio di software di contabilità. Alcune decadi fa, le aziende dovevano acquistare e installare software nel proprio hardware fisico interno. Le funzionalità software erano limitate all'hardware sottostante. Nel tempo, il sistema esauriva la memoria o richiedeva aggiornamenti e i guasti dell'hardware potevano causare la perdita di dati aziendali critici.

Oggi, gli sviluppatori di software di contabilità possono eseguire il software nel cloud. Gli utenti possono accedervi nello stesso modo in cui accedono a un sito Web, possono acquistare piani a scaglioni in base alle loro esigenze. Le applicazioni software utilizzano la potenza di calcolo del cloud e il software stesso può essere dimensionato secondo necessità. Inoltre, i clienti non devono più temere eventuali perdite di dati.

Cosa sono i microservizi?

I microservizi, noti anche come architettura di microservizi, sono uno stile architetturale utilizzato per applicazioni software strutturate come una raccolta di servizi. 

Le applicazioni per aziende di norma vengono costruite con tre parti principali:

  1. Un'interfaccia utente lato client (un'app o una pagina HTML che viene eseguita in un dispositivo dell'utente finale)
  2. Un database (in cui vengono archiviati i dati dell'applicazione)
  3. Un'applicazione lato server (che definisce il lavoro funzionale e logico dell'operazione)

Questo stile di architettura monolitica è inflessibile e difficile da modificare. Piccole modifiche in una parte del sistema richiedono una nuova implementazione dell'intero monolito.

D'altro canto, l'architettura di microservizi progetta l'applicazione come una raccolta di servizi funzionali con gestione decentralizzata. Un microservizio tenta di risolvere un singolo problema, come una ricerca di dati, una funzione di registrazione o una funzione di servizio Web. Questi microservizi possono essere implementati in modo indipendente, usano le rispettive risorse di calcolo e comunicano tra di loro.

Ad esempio, un'applicazione che fornisce notizie può essere composta da microservizi indipendenti come sport, cronaca nera, notizie generali e così via. Ogni microservizio può gestire i rispettivi recupero e ordinamento dei contenuti. Inoltre, la scalabilità dei microservizi può aumentare o diminuire in base alla necessità. Durante un evento sportivo importante, il microservizio dello sport utilizza una potenza di elaborazione aggiuntiva, ma al termine dell'evento questa viene ridotta. 

Che cosa sono le macchine virtuali?

Le macchine virtuali sono blocchi di costruzione di base che ottengono la potenza di calcolo dal cloud. Una macchina virtuale è un software in grado di eseguire tutte le funzioni di un computer fisico, inclusi le applicazioni in esecuzione e i sistemi operativi. È una versione digitale di un computer fisico. Le macchine virtuali possono eseguire programmi e sistemi operativi, archiviare dati, connettersi alle reti e svolgere altre funzioni di calcolo. Possono anche richiedere manutenzione come aggiornamenti e monitoraggio dei sistemi.

Una macchina virtuale può essere eseguita in molti computer fisici sottostanti, fornendo alle applicazioni la potenza di calcolo necessaria per un'esecuzione corretta. Il cloud computing consente agli utenti di implementare e scalare le macchine virtuali on demand. Offre risorse di calcolo garantite in un ambiente sicuro e isolato, senza dover sostenere le spese necessarie per gestire i server fisici.

Che cos'è un'istanza Amazon EC2?

Nei servizi AWS Compute, le macchine virtuali sono denominate istanze. AWS EC2 fornisce vari tipi di istanze con diverse configurazioni di CPU, memoria, archiviazione e risorse di rete, in modo che un utente possa personalizzare le proprie risorse di calcolo in base alle esigenze dell'applicazione. 

Esistono cinque tipi di istanze:

Istanze per uso generico

Le istanze per uso generico assicurano un equilibrio tra le risorse di calcolo, memoria e rete e possono essere utilizzate per una vasta gamma di carichi di lavoro diversi. Tali istanze sono l'ideale per le applicazioni che utilizzano queste risorse in pari proporzioni come i server web e i repository di codice. 

Istanze ottimizzate per il calcolo

Le istanze ottimizzate per il calcolo vengono utilizzate per eseguire applicazioni di calcolo ad alte prestazioni che richiedono prestazioni di rete veloci, ampia disponibilità e operazioni con input/output (I/O) elevati al secondo. La modellazione e la simulazione scientifica e finanziaria, i big data, il data warehouse aziendale e la business intelligence sono esempi di questo tipo di applicazione.

Istanze di calcolo accelerate

Le istanze di calcolo accelerate impiegano acceleratori grafici o coprocessori per eseguire determinate funzioni in modo più efficiente rispetto a un software in esecuzione nella CPU, ad esempio i calcoli a virgola mobile, i criteri di ricerca dati e l'elaborazione grafica.

Istanze ottimizzate per la memoria

Le istanze ottimizzate per la memoria utilizzano un'infrastruttura con unità a stato solido e ad alta velocità per fornire un accesso ultra veloce ai dati e prestazioni elevate. Queste istanze sono ideali per le applicazioni che necessitano di più memoria e CPU meno potenti, come i database open source e le analisi dei Big Data in tempo reale.

Istanze ottimizzate per l'archiviazione

Le istanze ottimizzate per l'archiviazione sono progettate per i carichi di lavoro che richiedono prestazioni elevate di lettura e scrittura sequenziali per insiemi di dati di grandi dimensioni sull'archiviazione locale. Sono ottimizzate per fornire alle applicazioni decine di migliaia di operazioni I/O casuali a bassa latenza al secondo (IOPS).

Che cos'è un container?

Prima del rilascio del software, questo deve essere testato, suddiviso in pacchetti e installato. L'implementazione software si riferisce al processo di preparazione di un'applicazione per poterla eseguire in un computer o in un dispositivo.

Docker è uno di sviluppo software utilizzato dagli sviluppatori. Fornisce un modo standard per creare pacchetti di codice di un'applicazione ed eseguirli in qualsiasi sistema. Esso combina il codice software e le rispettive dipendenze all'interno di un container. I container (o immagini Docker) possono quindi essere eseguiti in qualsiasi piattaforma tramite un motore docker. Amazon Elastic Container Service (ECS) è un servizio di gestione di container altamente scalabile ad alte prestazioni che supporta i container Docker e consente di eseguire applicazioni in un cluster gestito di istanze Amazon EC2 in modo semplice. Ciò garantisce implementazioni rapide, affidabili e coerenti, indipendentemente dall'ambiente.

Un'applicazione per le prenotazioni ospedaliere: un esempio di Docker

Un ospedale, ad esempio, vuole creare un'applicazione per prenotare gli appuntamenti. Gli utenti finali possono utilizzare l'app su dispositivi Android, iOS, computer Windows, MacBook o tramite il sito Web dell'ospedale. Se il codice venisse implementato separatamente su ogni piattaforma, sarebbe difficile da aggiornare. Invece, si potrebbe utilizzare Docker per creare un singolo container universale dell'applicazione per le prenotazioni. Tale container può essere eseguito ovunque, incluse le piattaforme di calcolo come AWS.

Che cos'è il calcolo serverless con AWS Cloud?

Con calcolo serverless si intende lo sviluppo di applicazioni con un'infrastruttura server sottostante gestita esternamente. I servizi serverless come AWS Lambda hanno in dotazione la funzione di scalabilità automatica, elevata disponibilità incorporata e modello di fatturazione pay-for-value.

Per calcolo serverless si intendono i servizi, le prassi e le strategie che consentono alle aziende di sviluppo software di innovare e rispondere più rapidamente al cambiamento. I team possono rilasciare rapidamente le applicazioni, ottenere feedback e migliorare il software eliminando i costi operativi.

Ad esempio, una startup tecnologica crea un'applicazione per cercare e filtrare i corsi universitari. Per il lancio, l'azienda può adottare una soluzione serverless e focalizzarsi sull'ottimizzazione dell'esperienza utente e dei sistemi. L'uso dell'infrastruttura hardware completamente gestita può consentire invece di investire nel marketing.

 

Che cos'è il bilanciamento del carico elastico delle risorse di calcolo?

Il bilanciamento del carico è il processo di distribuzione omogenea delle risorse di calcolo e del carico di lavoro in un ambiente di cloud computing. Viene effettuato per ridurre il ritardo e mantenere il tempo di elaborazione, anche quando l'applicazione è molto richiesta. I bilanciatori del carico possono distribuire in modo intelligente le richieste del client in più server delle applicazioni in esecuzione in un ambiente cloud.

Elastic Load Balancing consente agli utenti di massimizzare le prestazioni e l'affidabilità delle applicazioni. Può distribuire automaticamente il traffico in entrata delle applicazioni tra molteplici destinazioni, quali istanze Amazon EC2, indirizzi IP, funzioni AWS Lambda e server virtuali. Può gestire i carichi mutevoli del traffico delle applicazioni, ridurre i costi e aumentare o ridurre l'applicazione in base alla domanda

E-commerce: un esempio di bilanciamento del carico elastico

Prendiamo ad esempio, un negozio di e-commerce online che esegue un'applicazione per selezionare le migliori offerte del giorno. Essendo un'applicazione a utilizzo intensivo di calcolo, essa utilizza il cloud computing e il bilanciamento del carico per gestire la domanda. Utilizza automaticamente risorse di elaborazione aggiuntive nei weekend, a Natale e durante altri picchi stagionali quando la domanda è in forte aumento. Negli altri giorni, il calcolo si riduce quando la domanda rallenta. Senza bilanciamento del carico, il negozio dovrebbe pagare tariffe per i periodi di picco anche nei giorni con poca domanda, con una conseguente riduzione dei margini di profitto.

Che cosa sono i servizi di calcolo?

I servizi di calcolo sono noti anche come Infrastructure-as-a-Service (IaaS). Le piattaforme di calcolo, come la piattaforma di calcolo AWS, forniscono un'istanza server e archiviazione virtuale, nonché API che permettono agli utenti di migrare i carichi di lavoro in una macchina virtuale. Gli utenti hanno allocato potenza di calcolo e possono avviare, interrompere, accedere e configurare le proprie risorse del computer come desiderano.

Come scegliere tra i vari servizi di calcolo AWS

La scelta della migliore infrastruttura AWS dipende da requisiti, ciclo di vita, dimensione del codice, domanda ed esigenze di calcolo dell'applicazione. Andiamo a vedere i tre esempi seguenti:

  1. Se vuoi implementare una selezione di istanze on demand che offrono un'ampia gamma di vantaggi in termini di prestazioni nel tuo ambiente AWS, la scelta migliore sarebbe Amazon Elastic Compute Cloud (EC2).
  2. Se devi eseguire applicazioni abilitate per Docker con pacchetti sotto forma di container in un a cluster di istanze EC2, potresti utilizzare Amazon Elastic Container Service (Amazon ECS).
  3. Se vuoi eseguire il codice utilizzando solo millisecondi di risorse di calcolo in risposta ad attivazioni basate su eventi in ambiente serverless, potresti utilizzare AWS Lambda.

Quali sono i vantaggi dei servizi di calcolo AWS?

I servizi AWS Compute offrono le più ampie e complete funzionalità di calcolo. I vantaggi chiave derivanti dall'uso della piattaforma di calcolo AWS includono:

Il calcolo giusto per i tuoi carichi di lavoro

Amazon EC2 (Amazon Elastic Compute Cloud) offre controllo granulare per la gestione dell'infrastruttura dell'applicazione, con la possibilità di scegliere processori, archiviazione e reti. Amazon Elastic Container Service (Amazon ECS) offre la scelta e la flessibilità per eseguire container.

Sicurezza integrata

AWS offre molte più caratteristiche chiave e servizi relativi a sicurezza, conformità e governance rispetto al principale competitor. AWS Nitro System presenta sicurezza integrata a livello di chip per monitorare, proteggere e verificare continuamente l'hardware dell'istanza.

Ottimizzazione dei costi

Con la piattaforma di calcolo AWS paghi solamente l'istanza o la risorsa di cui hai bisogno in base al tempo di utilizzo, senza impegni contrattuali a lungo termine o modelli di licenza complicati.

Flessibilità

AWS consente di costruire, implementare e presentare sul mercato le applicazioni più rapidamente. Ad esempio, Amazon Lightsail è un servizio di facile utilizzo che offre tutto ciò di cui hai bisogno per costruire un'applicazione o un sito Web.

Per determinare quale servizio di calcolo AWS è più adatto per la crescita della tua azienda, non esitare a contattare il nostro team di esperti o registrati oggi per un account AWS gratuito.

Fasi successive su AWS

Scopri ulteriori risorse correlate al prodotto
Ulteriori informazioni sui servizi di calcolo 
Registrati per creare un account gratuito

Ottieni accesso istantaneo al Piano gratuito di AWS.

Registrati 
Inizia subito nella console

Inizia subito a costruire con AWS nella Console di gestione AWS.

Accedi