Use Drupal as a 'cloud system' frontend, what is your opinion? I'm working on a small project where I need implement some kind of cloud architecture.

I'd like to deploy multiple Drupal installs among multiple servers; one would act as a domain controller and other as nodes. It should be simple to scale; adding nodes to the cluster would be as simple as cloning a node install and changing it's parameters (such as IP address and name). The new node will then announce itself to the controller which would update its nodes-list records.

I also like to be able to manage users in a centralized way; I would add users to the controller and assign them one or many nodes; once created it would sync to the target node(s) (e.g. create the user in the unix list as well as in drupal install on the target node).

Finally, once logged in the controller, the user would be able to do various operations such as: 


download/upload files to nodes (on which he's granted to)
execute predefined shell commands such as starting/stopping services (probably as a module that would do all that stuff)


I hear that Drupal 7 has now some interesting file management modules in core; can they help in my case? Also, what would be the best communication protocol for accessing the different nodes from the controller? 

Is it possible to have a kind of RPC call to a module (on target node) from the controller and get the result back ?

Any thoughts or starting points?
You might want to look at Aegir.
It will let you manage multiple Drupal sites across multiple servers; you can add new servers via the Aegir master controller and once the servers are known to the controller you can create complex Drupal installs via the UI (Aegir master) with db on one server and code on other, mix and match, etc. 

One of the cool stuff is that Aegir can also take a drush make file and assemble a Drupal install for you; it supports Drupal distributions which let you not only install Drupal, but also Open Atrium, Pressflow, Open Publish, etc. 

If I were you I would definitely look at Aegir even if it doesn't take care of all my needs as it will be the only logical place to start extending. 

For an introduction see An introduction to the Aegir Hosting system. 

There are so many Aegir videos online; these are some of my favorites:


http://greenbeedigital.com.au/content/drupaldojo-introduction-aegir-hosting-system
By Miguel: http://greenbeedigital.com.au/content/installing-aegir-04-beta1
Again by Miguel; it's a must watch: http://greenbeedigital.com.au/content/building-drupal-applications-drushmake-provisioning-sites-aegir


If you like looking at code, here is the code for provisioning system which does all the magic: http://git.aegirproject.org/?p=provision.git;a=summary.