How to set up a computing cloud and how it works?
I think you're confusing cloud computing and grid computing here. Although they do have similarities.
Cloud computing is usually used to refer to solutions where data is stored somewhere on the internet and made available on any workstation that is online.
Grid computing is used to refer to applications where a lot of different agents solve parts of the same computing problem in parallel. (think Seti-at-home or folding-at-home)
But you can't use cloud or grid computing to just seamlessly run existing platforms. Both refer to architectures. There are a couple of platforms that are general implementations of these architectures but they're so different that you can't easilly run software on them that's not designed to run distributed.
If it is a cluster (or a grid) you like to set up I could strongly recommend Rocks. You install it on one computer that you use as a master. All other nodes is kickstarted but you need no knowledge of that since Rocks configures all that for you.
Rocks comes with all libraries and administrative applications needed to run a full blow cluster or a grid and is used by for example Fermilab. I've recently been using it to install a 1200+ nodes (10.000 cores!) cluster with it! And I would still use it on a 4 node cluster since it is no extra workload to install the master and you get the installation on all other machines for free!
For a defenition of cloud computing,I like blowdart's reply here, it's basically using online resources, so you're not allocating the resources yourself on a LAN, but using 3rd party services (like amazon/google and maybe microsoft soon?) to have access to processing and storage that you can scale if and when you need to. Developing for the cloud is completely different from normal development.
You could basically start with one node (like an amazon EC2 instance, and an S3 account), and in case you need more processing power, you could setup a process to power-up more instances, but they would still be different virtual servers running either the same, or many different images. You cannot treat the cloud (or grid) as one basic linux installation.
Interesting responses. I'm running what i'd call a cloud setup. Basically, i have one master server 15GB RAM and 1TB HDD, since the community version of MYSQl is unable to use remote files for its storage, my mysql server is ran on this server. In terms of the web server and processing there are 5 other servers running with equal specs who's sole purpose is to serve webpages for a single domain. The software on it uses apache server, i'm not sure what the software manager was called,i'll get back on that... but each server processes the same page, it is pretty much like parralel processing, fetch decode and execute. Except there are more than one servers doing the same thing. As mentioned before grid and cloud computing are both archtectural concepts. The concept is what allows companies such as microsoft, google and yahoo as well as facebook and weem.me and the lot, to run websites so fast. A perfectly good example is google, they can server pages so fast but have such a high volume of traffic. The basis of it is several server working in parralell to achieve the same goal and in doing so allows for scalability and serious computing power.