Sistema distribuito

Questo è una sezione del capitolo “Internet” del libro “Principi della multimedia digitale”.
Il testo introduce il sistema distribuito e il cloud.

Un sistema distribuito è un modello informatico in cui più componenti collaborano tra loro per svolgere un compito o fornire un unico servizio.
In un sistema distribuito, le risorse hardware e software sono distribuite su più computer interconnessi all’interno di una rete.
L’obiettivo principale di un sistema distribuito è sfruttare le risorse disponibili in modo efficiente, migliorare la scalabilità, l’affidabilità e la disponibilità del sistema complessivo.

La caratteristica chiave di un sistema distribuito è la trasparenza, cioè la qualità che gli utenti e gli sviluppatori dovrebbero percepire il sistema come un’entità coerente, indipendentemente dalla distribuzione fisica delle risorse.

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 

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 su diverse parti di una rete.

A sinistra una rete di computer senza middleware, a destra con il middleware

Quindi, in definitiva, la definizione di un sistema distribuito è:
Un sistema distribuito è una rete di elaboratori gestiti da un middleware che facilita la coerenza e la collaborazione tra le diverse parti, contribuendo così a un funzionamento più efficiente e coordinato del sistema nel suo insieme.

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 visto che i brani sono distribuiti nei server di tutto il mondo ma l’utente è inconsapevole e percepisce che sta dialogando con una sola entità.

Cloud

Una tecnologia che sfrutta ampiamente il sistema distribuito è il cloud.
Fino a qualche tempo fa i servizi informatici erano solo in locale (pensate al photoshop che avete scaricato nel vostro computer, esso lavora in locale, non ha bisogno di una connessione Internet).
Con la rete che si è evoluta, che è diventata molto più veloce e sicura; i servizi informatici si stanno spostando dal software locale ai servizi web: ovvero gli utenti, tramite il browser web hanno un’interfaccia utente dell’applicazione. ma il vero lavoro lo esegue il server che manda all’interfaccia solo il risultato da visualizzare.

Questo cambio di mentalità ha come il vantaggio all’utente di non caricare al suo dispositivo l’onere dell’applicazione ma di lasciarlo fare tutto ad un server, che probabilmente è una macchina più performante del suo dispositivo.
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. 
Questi servizi possono includere l’archiviazione di dati, l’elaborazione dei dati, la distribuzione di applicazioni, l’analisi dei dati e molto altro.
Quindi:

  • ll cloud computing è un modello di fornitura di servizi informatici basato sull’uso di risorse remote accessibili via Internet,
  • Nel cloud computing, il client ospita solo l’interfaccia visiva mentre quasi o tutta la logica del servizio lo esegue un sistema distribuito.

Il termine “cloud” (in italiano: “nuvola”) si riferisce genericamente alle risorse informatiche che eseguono il cloud computing. Le risorse informatiche sono server, dispositivi di archiviazione, reti e servizi, che sono ospitati su Internet, in un data center, anziché su dispositivi o server locali. Quindi:
Il cloud rappresenta un insieme di risorse hardware e software che eseguono il cloud computing.

Il cloud computing è un modello concettuale che consente al dispositivo dell’utente di accedere via Internet al cloud e di usare qualche servizio

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.
È 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:
Struttura del database:

  • Archiviazione remota: Google Drive consente agli utenti di archiviare i propri file e documenti su server remoti gestiti da Google. Questi file non sono fisicamente memorizzati sul dispositivo dell’utente, ma piuttosto sui server di Google in data center distribuiti.
  • Accesso da qualsiasi luogo: Gli utenti possono accedere ai loro file su Google Drive da qualsiasi dispositivo connesso a Internet, come computer, tablet o smartphone. Ciò significa che puoi visualizzare, modificare e condividere i tuoi documenti ovunque ti trovi.
  • Condivisione e collaborazione: Google Drive consente agli utenti di condividere i propri file con altre persone, consentendo la collaborazione in tempo reale. Gli utenti possono lavorare insieme sugli stessi documenti e visualizzare le modifiche in tempo reale.
  • Sincronizzazione automatica: Le modifiche apportate ai file su Google Drive vengono automaticamente sincronizzate tra tutti i dispositivi in cui l’utente accede al suo account. Questo assicura che le versioni più recenti dei file siano sempre disponibili.
  • Scalabilità: Google Drive offre agli utenti uno spazio di archiviazione flessibile che può essere facilmente ampliato in base alle esigenze. Gli utenti possono scegliere di acquistare spazio di archiviazione aggiuntivo se necessario.
  • Gestione centralizzata: Gli utenti possono organizzare e gestire i propri file attraverso un’interfaccia web intuitiva. Puoi creare cartelle, suddividere i file in categorie e utilizzare strumenti di ricerca per trovare rapidamente ciò che ti serve.
  • Aggiornamenti automatici: Google Drive è un servizio gestito da Google, il che significa che gli utenti beneficiano automaticamente di nuove funzionalità e miglioramenti senza dover effettuare l’installazione manuale di aggiornamenti.

Per le imprese, passare al cloud computing rimuove alcuni costi relativi all’informatica e costi fissi: ad esempio, non dovranno più aggiornare e mantenere i propri server, dato che lo farà il provider (fornitore di servizi) di servizi cloud che useranno. 
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 alle imprese operare a livello internazionale, perché i dipendenti e i clienti possono accedere agli stessi file e alle stesse applicazioni ovunque essi si trovino, basta che hanno una connessione web.
Ovviamente il cloud è un sistema distribuito perché l’utente che utilizza il cloud non ha la percezione che sta comunicando con un server remoto ma gli sembra che funziona tutto in locale.

Vuoi aiutarmi a scrivere articoli come questo?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

No responses yet

Sostieni il progetto

Tutti i materiali che condivido nascono da una convinzione molto semplice: una buona formazione non dovrebbe limitarsi a insegnare quali pulsanti premere, ma aiutare a comprendere le idee, i principi e i processi che stanno dietro agli strumenti.
Per questo dedico una parte significativa del mio tempo a studiare, organizzare e produrre contenuti gratuiti dedicati al multimedia, al design e alla comunicazione visiva. Articoli, lezioni, approfondimenti e risorse che hanno l’obiettivo di rendere accessibili argomenti spesso affrontati in modo frammentario o superficiale.
Questo lavoro richiede però tempo, ricerca e cura. Ogni guida, ogni video, ogni materiale pubblicato gratuitamente è il risultato di molte ore di studio, scrittura e revisione.
Sostenere il progetto attraverso Patreon significa permettermi di continuare a produrre contenuti educativi di qualità, mantenerli accessibili al maggior numero possibile di persone e dedicare più energie alla costruzione di una risorsa che possa essere utile a studenti, professionisti e appassionati.
Se credi che una conoscenza più profonda, rigorosa e consapevole del multimedia abbia valore, il tuo contributo non sostiene soltanto il mio lavoro: aiuta a rendere queste risorse disponibili per tutta la comunità.
Grazie per il supporto e per la fiducia.

Patreon è troppo impegnativo?

Puoi sostenermi anche con una donazione libera, senza abbonamento e senza impegno.
Anche un piccolo contributo mi aiuta a continuare a creare giochi, contenuti didattici e materiali gratuiti con più libertà.