A view of cloud computing
Definizione di cloud pubblico e privato
L'hardware e il software del data center è ciò che chiameremo cloud. Quando un cloud viene reso disponibile in modalità pay-as-you-go al pubblico, lo chiamiamo cloud pubblico; il servizio venduto è l'utility. Usiamo il termine cloud privato per riferirci ai data center interni di un'azienda o altra organizzazione, non resi disponibili al pubblico.
Cloud computing e utility computing
Pertanto, il cloud computing è la somma di SaaS e utility computing, ma non include i data center di piccole o medie dimensioni, anche se questi fanno affidamento sulla virtualizzazione per la gestione. Le persone possono essere utenti/provider di SaaS oppure utenti/provider di utility computing.
- Utility computing: servizio.
- Cloud computing: architettura alla base della quale sono progettati i servizi + utility computing.
Novità nel cloud computing
Dal punto di vista del provisioning hardware e dei prezzi, tre aspetti sono nuovi nel cloud computing.
- La comparsa di infinite risorse informatiche disponibili su richiesta, abbastanza rapidamente da seguire i picchi di carico.
- L'eliminazione di un impegno iniziale da parte degli utenti cloud, consentendo così alle aziende di iniziare in piccolo e aumentare le risorse hardware solo quando c'è un aumento delle loro esigenze.
- La possibilità di pagare per l'uso delle risorse informatiche a breve termine secondo necessità (ad esempio, processori a ore e immagazzinamento di giorno in giorno) e rilasciarle se necessario. Esempi: Amazon EC2, Google AppEngine, Azure di Microsoft.
Distributed and cloud computing
La tendenza generale dell'informatica è quella di sfruttare risorse Web condivise e enormi quantità di dati su Internet. La figura 1.1 illustra l'evoluzione dei sistemi HPC e HTC.
Sul versante HPC, i supercomputer (processori massivamente paralleli o MPP) vengono gradualmente sostituiti da cluster di computer cooperativi per il desiderio di condividere le risorse di calcolo. Il cluster è spesso una raccolta di nodi di calcolo omogenei che sono fisicamente collegati a distanza ravvicinata tra loro.
Sul lato HTC, vengono create reti peer-to-peer (P2P) per la condivisione di file distribuita e le applicazioni di distribuzione dei contenuti. Un sistema P2P è costruito su molte macchine client. Le macchine peer sono distribuite a livello globale. Le piattaforme P2P, cloud computing e servizi Web sono più focalizzate sulle applicazioni HTC che sulle applicazioni HPC. Le tecnologie di clustering e P2P portano allo sviluppo di griglie computazionali o griglie di dati.
Centralized computing
Elaborazione centralizzata: Si tratta di un paradigma informatico in base al quale tutte le risorse del computer sono centralizzate in un sistema fisico. Tutte le risorse (processori, memoria e storage) sono completamente condivise e strettamente accoppiate all'interno di un sistema operativo integrato. Molti data center e supercomputer sono sistemi centralizzati, ma vengono utilizzati in applicazioni parallele, distribuite e di cloud computing.
Parallel computing
Elaborazione parallela: Nell'elaborazione parallela, tutti i processori sono strettamente accoppiati con la memoria condivisa centralizzata o debolmente accoppiati con la memoria distribuita. La comunicazione tra processori avviene attraverso la memoria condivisa o tramite il passaggio di messaggi. Un sistema informatico in grado di eseguire il calcolo parallelo è comunemente noto come computer parallelo. I programmi in esecuzione su un computer parallelo sono chiamati programmi paralleli. Il processo di scrittura di programmi paralleli viene spesso definito programmazione parallela.
Distributed computing
Elaborazione distribuita: Questo è un campo dell'informatica/ingegneria che studia i sistemi distribuiti. Un sistema distribuito è costituito da più computer autonomi, ciascuno dotato di una propria memoria privata, che comunicano attraverso una rete. Lo scambio di informazioni in un sistema distribuito avviene tramite il passaggio di messaggi. Un programma che viene eseguito in un sistema distribuito è noto come programma distribuito. Il processo di scrittura dei programmi distribuiti è denominato programmazione distribuita.
Internet cloud
Un Internet Cloud può essere un sistema informatico centralizzato o distribuito. Il cloud applica il calcolo parallelo o distribuito, o entrambi. I cloud possono essere costruiti con risorse fisiche o virtualizzate su grandi data center centralizzati o distribuiti. In alternativa ai termini precedenti, alcuni nella comunità high-tech preferiscono il termine calcolo concorrente o programmazione concorrente. Questi termini in genere si riferiscono all'unione di calcolo parallelo e calcolo distribuito, sebbene i professionisti prevenuti possano interpretarli in modo diverso.
Modelli di sistema per l'elaborazione distribuita e il cloud
I sistemi distribuiti e di cloud computing sono costruiti su un gran numero di nodi di computer autonomi. Queste macchine sono interconnesse da SAN, LAN o WAN in modo gerarchico. Con la tecnologia di rete odierna, pochi switch LAN possono collegare facilmente centinaia di macchine come un cluster funzionante. Una WAN può connettere molti cluster locali per formare un cluster molto grande di cluster. In questo senso, si può costruire un enorme sistema con milioni di computer collegati a reti edge. I sistemi massicci sono considerati altamente scalabili e possono raggiungere una connettività su scala Web.
-
Programmazione distribuita e cloud computing
-
Tutte le domande dell'esame Programmazione distribuita e cloud computing
-
Programmazione Distribuita - Serverless Computing
-
Programmazione Distribuita