Dropbox e Go: un’alchimia di successo per l’efficienza nel cloud

Sfido chiunque di voi a dire di non aver mai utilizzato Dropbox.

Tutti almeno una volta nella vita lo abbiamo sfruttato per trasferire file in tempo reale ed in maniera efficace, ma forse quello che nessuno sa è che la forza di Dropbox sta proprio nel codice sorgente con cui è stato sviluppato: Golang (o semplicemente Go).

In questo articolo non parleremo di codice in senso stretto quindi potete stare tranquilli, non vedremo alcuna riga di codice o tecnicismi, come la complessità computazionale o altre cose che potrebbero risultare noiose, ma porremo il nostro focus sul comprendere perché sono state effettuate delle scelte che si sono dimostrate vincenti ed il ragionamento che sta alla base di tali.

Dropbox è un software, che viene utilizzato da professionisti e non, per archiviare i propri file, un po’ come succede anche su Drive di Google o Onedrive di Microsoft.
Include anche un piano per le piccole e medie imprese che hanno a disposizione vari terabyte di memoria cloud così da poter caricare, scaricare e lavorare in tempo reale su file condivisi, anche di dimensioni elevate ed in contemporanea.
Questo approccio permette di ottimizzare i processi interni e lo scambio di file, meccanismi che senza alcun software specifico richiederebbero molto più tempo e un waste-time inutilmente alto.

Ovviamente vi starete chiedendo come Go, possa influire in qualche modo nella vicenda.
Go, per chi non lo conoscesse già, è un linguaggio di programmazione open source sviluppato da Google. Come Python e Java, presenta un’alta semplicità d’uso, ma al contempo riprende, come i linguaggi a basso livello (ad esempio C e C++), l’efficienza e la scalabilità. Occupa pochi megabyte, motivo per cui viene utilizzato in applicazioni a microservizi, e possiede la capacità di gestire la concorrenza, ovvero la possibilità di eseguire più istruzioni contemporaneamente

Vi avevamo promesso che non saremmo entrati in tecnicismi, e manterremo la promessa, però affinchè possiate capire come mai Dropbox abbia scelto di utilizzare Go è necessario che ci condivida alcuni concetti.

Go è un linguaggio compilato che, come detto, oltre a occupare uno spazio ridotto (parliamo di circa una decina di megabyte all’interno di ambienti cloud come AWS) viene trasformato in codice macchina prima di essere eseguito. Ciò consente di ottenere prestazioni molto elevate, e cosa più importante, tali prestazioni rimangono elevate anche all’aumentare dei dati da processare. Questa è una delle caratteristiche che lo differenzia da altri linguaggi di programmazione Backend come Python ad esempio che, seppur possano sembrare efficienti inizialmente, all’aumentare del carico di dati (load data), risulteranno sempre meno performanti.

Inoltre Go è un linguaggio che tende a ridurre al minimo la “formalità” del linguaggio, evitando inutili parentesi ed altri elementi di sintassi così da permettere una migliore comprensione del codice oltre ad un debug più semplice ed immediato.

Adesso che abbiamo chiaro in mente come mai Go sia un linguaggio geniale ed abbiamo compreso il motivo della sua rapida ascesa, possiamo porre il nostro focus sul perché è stato utilizzato da molte aziende come Dropbox, Spotify o Netflix.

Go offre le prestazioni e l’efficienza richieste da Dropbox per garantire ai propri clienti le risorse in modo efficiente e in tempo reale. Infatti, le richieste devono essere soddisfatte tempestivamente senza mai fallire. Tutto ciò è possibile grazie alla stabilità e all’affidabilità che contraddistinguono il linguaggio in questione.

Inoltre per una piattaforma che offre servizi di risorse cloud, la scalabilità offerta da Go e la grande quantità di librerie offerte dalla community, permettono a Dropbox di mantenere le medesime prestazioni anche al variare del numero di utenti e all’aumentare della mole di dati processati, semplicemente effettuando un auto-scaling delle risorse rapido e dinamico.

In un mondo in continua evoluzione e dove i tempi di attesa sono sempre più prossimi allo zero, Go si inserisce per garantire al software dinamicità, efficienza e scalabilità, caratteristiche fondamentale per la realizzazione di un buon software cloud based.

Scopri come la potenza di Golang può trasformare la tua soluzione, indipendentemente dalla natura del progetto! Richiedi ora una consulenza gratuita dal nostro team.

Continua a leggere

Nessun risultato

La pagina richiesta non è stata trovata. Affina la tua ricerca, o utilizza la barra di navigazione qui sopra per trovare il post.