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?