Questa lezione introduce il concetto di sistema distribuito, spiegando come più computer, server e componenti software possano collaborare attraverso una rete per fornire un unico servizio. Il testo evidenzia l’importanza di scalabilità, affidabilità, disponibilità e trasparenza: l’utente percepisce il sistema come un’unica entità, anche se le risorse sono distribuite su più macchine.
Viene poi introdotto il ruolo del middleware, che facilita la comunicazione tra componenti diversi e nasconde parte della complessità dell’infrastruttura. Nella seconda parte, la lezione collega i sistemi distribuiti al cloud computing, mostrando come servizi come Spotify, Instagram e Google Drive si basino su server, data center e risorse remote accessibili via Internet.
Sistema distribuito
In molti servizi reali l’infrastruttura è molto complessa: più computer, server e componenti software collaborano tra loro per fornire un unico servizio.
In questi casi si parla di sistemi distribuiti.
Un sistema distribuito è un modello informatico in cui più componenti, collegati attraverso una rete, collaborano tra loro per svolgere un compito o fornire un servizio. Le risorse hardware e software non si trovano tutte in un solo computer, ma sono distribuite su più macchine interconnesse (van Steen & Tanenbaum, 2023).
L’obiettivo di un sistema distribuito è sfruttare le risorse disponibili in modo efficiente, migliorando la scalabilità, l’affidabilità e la disponibilità del sistema complessivo (van Steen & Tanenbaum, 2023).
Per esempio, se un servizio è distribuito su più server, può gestire più utenti contemporaneamente e può continuare a funzionare anche se una parte dell’infrastruttura ha un problema.
Una caratteristica importante dei sistemi distribuiti è la trasparenza: utenti e sviluppatori possono percepire il sistema come un’unica entità coerente, anche se le sue risorse sono distribuite su più computer (van Steen & Tanenbaum, 2023).
In un sistema distribuito l’esistenza di più elaboratori è invisibile all’utente che ha l’impressione di avere a che fare con un unico sistema di calcolo.
Un middleware è un software che agisce come intermediario tra applicazioni o componenti software all’interno di un sistema distribuito: è grazie al middleware che l’utente percepisce la trasparenza (van Steen & Tanenbaum, 2023).
Infatti il suo scopo principale è facilitare la comunicazione, la gestione e l’interazione tra diverse parti di un sistema, specialmente quando queste parti possono risiedere in punti diversi della rete.
Molti sistemi distribuiti usano il middleware per ottenere la trasparenza.
Esempio
Spotify è un servizio di streaming musicale che consente agli utenti di ascoltare musica online da un vasto catalogo di brani.
Questo servizio è fornito attraverso un’architettura distribuita, poiché i brani sono distribuiti su più server, ma l’utente non percepisce questa distribuzione e ha l’impressione di interagire con un’unica entità.
Cloud computing
Una tecnologia che sfrutta ampiamente il sistema distribuito è il cloud computing (Buyya et al., 2011).
In passato molti software venivano installati ed eseguiti principalmente in locale, cioè sul dispositivo dell’utente.
Oggi, invece, molti servizi informatici si appoggiano a infrastrutture remote accessibili tramite Internet.
Con l’evoluzione della rete, diventata molto più veloce e sicura, i servizi informatici si stanno spostando dal software locale ai servizi web: l’utente utilizza tramite il browser l’interfaccia dell’applicazione, mentre una parte importante dell’elaborazione può essere eseguita dai server remoti, che invia all’interfaccia solo il risultato da visualizzare.
Questo cambiamento offre un vantaggio all’utente: il suo dispositivo non deve sostenere tutto il carico dell’applicazione, perché una parte del lavoro viene svolta dai server remoti.
Il concetto che si riferisce all’uso di servizi informatici attraverso la rete è chiamato cloud computing, che va oltre la semplice presenza di risorse su Internet e implica l’accesso e l’utilizzo di risorse virtuali come servizi (Mell & Grance, 2011).
Questi servizi possono includere l’archiviazione di dati, l’elaborazione dei dati, la distribuzione di applicazioni, l’analisi dei dati e molto altro.
Quindi:
Con il termine cloud si indica l’insieme delle risorse hardware e software che rendono possibile il cloud computing: server, sistemi di archiviazione, reti, software e data center collegati tra loro (Liu et al., 2011; Mell & Grance, 2011).
Quindi:
Il cloud rappresenta un insieme di risorse hardware e software rendono possibile il cloud computing.

Il cloud consente agli utenti di accedere agli stessi file e alle stesse applicazioni da praticamente ogni dispositivo, perché l’elaborazione e l’archiviazione hanno luogo in server che si trovano in datacenter, invece che localmente, nel dispositivo dell’utente (Mell & Grance, 2011).
È questo il motivo per cui un utente può accedere al suo account di Instagram usando un nuovo telefono dopo che quello vecchio si è rotto e può trovare l’account ancora lì, con tutte le foto, i video e la cronologia delle conversazioni.
Esempio
Google Drive è considerato un sistema cloud per diverse ragioni:
Per le imprese, passare al cloud computing può ridurre alcuni costi informatici, in particolare alcuni costi fissi: ad esempio, potrebbero non dover più gestire direttamente i server necessari a quei servizi, dato che lo farà il il provider di servizi cloud che useranno (Buyya et al., 2011).
Questo è particolarmente significativo per le piccole imprese, le quali potrebbero non essere in grado di avere una propria infrastruttura interna ma possono esternalizzare i fabbisogni di infrastruttura in modo conveniente attraverso il cloud.
Il cloud può anche rendere più facile per le imprese operare a livello internazionale, perché i dipendenti e i clienti possono accedere agli stessi file e alle stesse applicazioni ovunque essi si trovino, purché dispongano di una connessione Internet.
Il cloud si basa spesso su sistemi distribuiti perché il servizio è fornito da molte risorse coordinate tra loro: server, sistemi di archiviazione, reti e data center (Buyya et al., 2011; van Steen & Tanenbaum, 2023).
Dal punto di vista dell’utente, però, questa complessità è in gran parte nascosta: il servizio appare come un’unica applicazione accessibile da Internet (van Steen & Tanenbaum, 2023).





No responses yet