Desidero scrivere questo rapporto sulla situazione mondiale dei servizi di Cloud Storage, alla luce dell’ uscita in beta di Apple con  iCloud.

Innanzitutto diciamo cos’è un Cloud Storage.

E’ un servizio online, attraverso internet, di un sistema di storage dei dati, che si traduce nei nostri personal computer o dispositivi mobile, in una specie di drive aggiuntivo dove possiamo salvare “illimitatamente” i nostri dati, sapendo che se ci salta il pc quei dati di sicuro non li perdiamo. Viene spesso usato anche per sincronizzare cartelle tra casa e ufficio per esempio, o sincronizzare la rubrica il calendario etc etc. Consente la condivisione dei dati con altri utenti della rete, per esempio è utilissimo come strumento di collaborazione tra più sedi. E’ utilissimo per allegerire gli application server, facendosi carico della pubblicazione dei contenuti.

Questo servizio per definirsi Cloud dovrebbe basarsi sulla logica del pay per use, essere self-service, misurabile, elastico, ed essere altamente affidabile e magari distribuito in più siti del globo.

Facciamo un piccolo elenco di ciò che attualmente c’è in giro:

  • AWS S3 – Uno storage su protocollo http/https di dimensione infinita, distribuito e ridondato innumerevoli volte, si usa in autenticazione mediante un account su Amazon Web Services, non molto veloce, ma con una affidabilità elevatissima. E’ vecchio di più di 5 anni, è il padre di tantissimi altri servizi di storage tra cui….
  • DropBox – Che si ricorda circa tre anni ed usa S3
  • Amazon Cloud Drive – recente, immagino si appoggi ad S3, pensate che molti articolisti in rete all’uscita di questo servizio hanno dichiarato che anche Amazon si stava  buttando nel Cloud
  • Microsoft Azure Storage – Uno dei 4 core il BLOB è concettualmente simile ad S3, forse più performante, ma è anche più giovane, avrà un paio d’anni
  • SkyDrive – Drive storage della piattaforma di Microsoft live con 25GB gratuiti
  • Ubuntu One – è un servizio di storage online offerto da Canonical per il suo Linux Ubuntu, disponibile anche per Android, iPhone e tra poco anche per Windows, cosi come l’ Amazon Cloud Drive, sono pubblicizzati per essere usati con file musicali, foto, video, insomma per l’intrattenimento
  • Google App Engine Datastore – Lo paragonerei all’ S3 ed all’ Azure Storage Blob, sono tutti è tre programmabili mediante scripting che si interfacciano ai webServices protetti dei relativi endpoint. Pensate che questi tre servizi, come accade possono generare una infinità di offerte di Cloud Storage dove il limite è solo la fantasia degli imprenditori e dei programmatori. Per esempio sono pubbliche le classi in molti linguaggi per fare le operazioni fondamentali, quali upload, delete, get. Per S3 sono pubbliche le classi anche per Android ed iPhone, basta solo cercare sui motori di ricerca e se ne trovano una infinità. Ricordo che già nel 2007 io avevo un codice in C# pubblico per realizzare un drive aggiuntivo per windows sempre collegato con S3, questo aveva anche un buffer per le latenze e per le disconnessioni
  • RackSpace CloudFiles – Si paragona a S3 e come questo può pubblicare via CDN i contenuti
  • GoGrid Cloud Storage – Uno storage che generalmente viene usato per gestire i dati dei vari server della loro piattaforma di Cloud Computing, ma accetta anche protocolli classici di rete quali Samba/CIFS, SCP, FPT ed RSYNC
  • Nirvanix Cloud NAS – Lo storage di Nirvanix è uno dei più vecchi, sta nel mercato da molti anni, hanno una solidissima esperienza e recentemente le loro offerte si sono diversificate ed aumentate.

Ce ne sarebbero molti altri da elencare, ma desidero ora dire che esistono anche moltissimi progetti open source per poter realizzare in “casa” un proprio Cloud Storage con server classici, progetti che spesso sono la matrice di questi grandi che abbiamo elencato. Per esempio :

  • Apache Cassandra, per dati strutturati, usata da facebook
  • OpenStack object storage,
  • Ceph,
  • GLuster,
  • pNFS,
  • Dynamo, il progetto di S3
  • Voldemort, progetto usato da Linkedin, sempre key-value
  • Lustre, filesystem distribuito
  • Google File System
  • Global File System di RedHat
  • Hadoop distribuited file system