Secondo me il cloud è un insieme di tecnologie, che ti consentono di creare, anche solo per alcuni secondi, le risorse necessarie in quel preciso momento, senza stare a preoccuparti di dove esse siano allocate.
[...]
Avresti una cloud se l'allocazione dinamica riesci a farla in giro per il mondo.
Dagli states stai ricevendo più traffico del previsto? Il middleware di gestione della cloud crea nuove istanze negli states.
A Londra sei in un momento di calma? Vengono eliminate le istanze in area Europea e spostate magari a Tokyo dove un articolo su un giornale ti sta portando delle visite sopra la media.
E così via. L'utente avrà sempre e solo un tradizionale FTP con il quale accedere al proprio sito, indipendentemente da dove esso sia.
E' compito del middleware fornito dal provider cloud a spostare e replicare i dati qua e la.
Come giustamente dice David, la latenza in ambito DB potrebbe essere un problema. Si potrebbe risolvere usando delle repliche (la butto li) dove il master sta nella sede del provider, e da li in poi viene replicato in giro per il mondo in base alle istanze che si andranno a creare.
Così facendo, i visitatori accederanno sempre al loro datacenter più vicino, avendo latenze basse, e mai al datacenter centrale.
Va da se che non puoi cloudizzare (marchio registrato) tutto.
Le applicazioni devono essere pensate per stare in cloud, ovvero devono avere una sorta di cache o meccanismi simili per far fronte alla non perfetta sincronia dei dati.
Anche google è così. I datacenter non sono sempre tutti sincronizzati. A volte le ricerche tirano fuori dei risultati, altre volte altri.
Segnalibri