Amazon S3, storage online e Torrent

by Stefano on 5 aprile 2009

E’ un po’ di tempo che sto cercando un servizio di storage online serio. Dai tempi del mio approdo a Mac ho avuto modo di provarne diversi, e nessuno mi ha mai realmente soddisfatto. Gusti difficili, probabilmente.

La mia intenzione sarebbe quella di avere una copia di backup dei miei dati online, eventualmente crittografata, e contemporaneamente poter usare quello stesso servizio di storage per eventuali distribuzioni di file attraverso questo blog o tramite email, per evitare di sovraccaricare il server web.

Lo so, i puristi storgeranno un po’ il naso. Oggi le memorie di massa costano come noccioline, ed è poco sicuro lasciare i propri dati online. Ma se avete la necessità di accedervi sempre e comunque, e con delle velocità che non siano quelle proprie di una connessione ADSL, lo storage online è l’unica soluzione.

Ho avuto modo ad esempio negli scorsi mesi di provare Mozy. Che ha però due grossi difetti. Il primo è che non funziona dietro proxy. E quindi niente backup quando sono collegato al wifi in università. Il secondo è che, pur offrendo un fantastico backup incrementale, il recupero dei file richiede ore, se non giorni. Inoltre, non permette la distribuzione dei file via HTTP.

Ravanando quindi sulla rete alla ricerca di alternative, sono incappato molti mesi fa (ma comunque con immenso ritardo rispetto al suo rilascio) nel servizio S3 offerto da Amazon. E sebbene il nome invochi in me infausti sentimenti (se siete uno studente e la vostra università adotta il sistema S3 capirete a cosa mi sto riferendo), ho deciso di provarlo.

Cos’è

Amazon S3, detto in quattro parole, è un servizio di storage online. E fin qui nessun dubbio. Fa parte di una suite di applicazioni web più ampia, che comprende, tra gli altri, anche un servizio di “cloud distributed computing” (Amazon EC2), accessibile a tutti e con costi contenuti.

S3, ovvero Simple Storage Service, è accessibile mediante classici programmi FTP che offrono il supporto specifico, come, ad esempio, Cyberduck o Transmit per Mac o migliaia di altri programmi per Windows o Linux. Ma anche tramite REST e SOAP, che hanno permesso ad S3 di diventare famoso per essere utilizzato da moltissime applicazioni “2.0″, come, ad esempio, Twitter.

Proprio questa funzionalità, unita alla natura “open” di S3, rendono il servizio estremamente elastico. Chiunque può crearsi uno script per i propri backup, criptare i dati con l’algoritmo che più lo aggrada, e inserire lo script nella propria crontab, per poi utilizzare S3 solo ed esclusivamente come storage.

Esso si basa sulla stessa infrastruttura di storage che Amazon utilizza per i propri siti web, e questo lo rende flessibile nella risposta agli spike di traffico, conferendogli al tempo stesso una discreta disponibilità di banda.

All’interno di un account i file sono organizzati in bucket, una sorta di directory dal nome univoco, per le quali lo spazio di naming è condiviso tra tutti gli utenti. I bucket possono essere mantenuti privati, oppure resi pubblicamente accessibili tramite HTTP all’indirizzo

http://nomebucket.s3.amazonaws.com/

Il tutto assegnando e modificando permessi esattamente come qualsiasi altro client FTP.

E’ possibile quindi non solo caricare online i propri dati privati, crittografandoli e salvandoli in un bucket con permessi privati, ma anche avere un repository online dove immagazzinare tutti quei file che vogliamo distribuire ma che andrebbero normalmente a sovraccaricare il nostro server web.

Infine, mediante una entry CNAME nel nostro server DNS, possiamo addirittura modificare l’indirizzo sopraindicato con un sottodominio a piacere.

La chicca finale, che mi ha fatto innamorare di questo servizio, è però il supporto Torrent. Volete distribuire un programma che avete creato? Volete distribuirlo mediante S3 ma non volete sovraccaricare di richieste il server S3 (dato che comunque è un servizio a pagamento)?

Bene, è possibile distribuire i propri file via Torrent utilizzando S3 per il seeding del file. Basta semplicemente appendere un “?torrent” al nome del file, in questo modo:

http://nomebucket.s3.amazonaws.com/pdftest.pdf?torrent

I server S3 verranno utilizzati per il seeding iniziale e per tener traccia del file, ma, quando questo inizierà ad essere condiviso, subentrerà l’aspetto P2P e la distribuzione del file non andrà a consumare risorse su S3.

Dove posso trovare uno script per i miei backup?

Questo non lo so. Dopo tutti i test che ho fatto, devo ancora trovare uno script che fornisca la stessa comodità che fornisce Mozy, ovvero backup automatici e incrementali, con un archivio di 30 giorni. Il che mi ha fatto optare per il “chi fa da sè…”. Infatti ne sto scrivendo uno di persona.

Tuttavia, se qualcuno di voi conosce qualche software o qualche script interessante, si faccia avanti nei commenti.

Ma quanto costa?

Rispetto a ciò che offre, non molto. I costi sono a consumo, e quindi è necessario farsi due calcoli per evitare di avere spiacevoli sorprese. Inoltre sono differenziati tra Europa ed USA, ma, pur essendo in Europa, potete benissimo scegliere lo storage USA durante la sottoscrizione, optando quindi per un servizio più economico.

In ogni caso, con un utilizzo anche mediamente pesante del servizio, il prezzo non supera i 4/5 dollari al mese, che, con il cambio euro-dollaro favorevole, non sono un prezzo esagerato. Qui il listino e qui uno script per calcolare il costo finale in base all’utilizzo.

{ 5 comments… read them below or add one }

Jeby aprile 5, 2009 alle 15:22

Per il backup non puoi provare ad usare rsync (l’accesso è solo FTP? SSH no?) o Unison, però non so com’è da remoto… boh..

Replica

Cris aprile 5, 2009 alle 15:37

Un client fantastico per S3 è Jungle Disk, che per $20 una tantum mappa lo spazio come drive locale, anche con la possibilità di criptare ulteriormente i dati (con S3 la trasmissione è in SSL e i file online protetti dalla access key fornita da Amazon, JD aggiunge un’ulteriore password che cripta anche i filename volendo).

Il client ha un fenomenale sistema di backup builtin, incrementale e a pagamento (ben 1$ al mese!) altri utili servizi come l’invio delle sole parti modificate nel caso di backup di file molto grandi.

Ho provato a usare anche il client Gladinet, ma con S3 è molto più lento, mentre con i 25 Gb di Skydrive di Microsoft mi perde le date di modifica, no buono per ora.

Replica

Stefano Testi aprile 5, 2009 alle 22:00

@Jeby: No, l’accesso non è FTP, è tramite un protocollo particolare, che è implementato in alcuni client FTP. Si può usare rsync, installando prima un programmino che fornisce l’accesso, solo che devo ancora provarlo…

Replica

Filippo maggio 27, 2009 alle 16:43

Ciao Stefano,
ti segnalo un mio post relativo ai backup automatici e incrementali su Amazon S3:
http://www.ateapick.com/blog/backup-incrementali-su-amazon-simple-storage-service-amazon-s3

Spero possa esserti utile!

Replica

VA ottobre 5, 2009 alle 20:49

Ciao Stefano,
ti segnalo un mio post relativo ai backup automatici e incrementali su Amazon S3:
http://www.ateapick.com/blog/backup-incrementali-su-amazon-simple-storage-service-amazon-s3

Spero possa esserti utile!

Replica

Leave a Comment

Previous post:

Next post: