L’architettura di cloud computing si riferisce all’insieme di server interconnessi, sistemi di archiviazione e nodi di controllo che possono abilitare l’elaborazione distribuita. Ogni sistema di cloud computing ha in genere sia un front-end, il computer client, sia un back-end costituito da server applicazioni, archiviazione dati e un qualche tipo di nodo di controllo. La rete che collega tutto è un altro aspetto importante che può essere associato all’architettura del cloud computing. I componenti nell’architettura di cloud computing possono essere collegati tra loro localmente o tramite Internet e il client in genere vi accede tramite Internet.
Ogni componente hardware associato all’architettura di cloud computing comunica in genere utilizzando interfacce di programmazione delle applicazioni (API), come vari servizi Web. Il front-end dell’architettura, che è ciò che il client o l’utente vede e con cui interagisce, può assumere una varietà di forme diverse. Alcune istanze di cloud computing utilizzano interfacce comuni, come i browser Web, che possono accedere alla posta elettronica basata su cloud o ad altri servizi. Altri usi del cloud computing hanno sistemi software proprietari progettati per compiti specifici.
La parte di back-end dell’architettura è tipicamente costituita da tre componenti principali. Uno di questi componenti è l’archiviazione dei dati, in cui è possibile inserire le informazioni per un successivo recupero. I dati possono essere archiviati nel cloud dai client o dalle applicazioni cloud. La capacità dei dati di un sistema cloud è in genere abbastanza grande per consentire la ridondanza. Ciò significa sostanzialmente che il componente di archiviazione dei dati nell’architettura cloud è generalmente progettato per archiviare più di una copia di ciascun set di dati nel caso in cui qualsiasi parte del sistema venga danneggiata o inaccessibile.
I server delle applicazioni sono un altro importante componente associato all’architettura di cloud computing. L’architettura cloud in genere coinvolge un numero di server applicativi diversi, ognuno dei quali può essere responsabile di una funzione diversa. Ciascuno di questi server è generalmente progettato per eseguire un programma o un servizio e molti di essi possono essere disponibili per il client tramite l’interfaccia front-end. Questo tipo di configurazione distribuita può consentire al sistema di funzionare in modo più snello rispetto ai precedenti progetti monolitici.
I componenti finali che possono essere strumentali nell’architettura del cloud computing sono i nodi di controllo. Questi computer specializzati possono essere collegati a server di archiviazione dati e applicazioni tramite Internet o un’altra rete. Il front-end di solito si interfaccia con un nodo di controllo, consentendo al client di interagire con i server delle applicazioni. I nodi di controllo in genere connettono anche server di applicazioni e client all’archiviazione dei dati.