What is it called when multiple physical servers share resources amongst each to act on behalf of a single opperating system or application for a common purpose? I think Microsoft calls it clustering, but I am not sure. Is this possible for any of the 'nix distributions availabe? What do I need to consider for implementation? I am trying to understand how cloud computing works. Thanks.
Yes, clustering is probably what you mean. Yes, it's available for various *nix (and OpenVMS) implementations. As to what to consider to implement - your budget and in particular the cost of a consultancy to do the design and implementation for you.
Cloud Computing is a generic marketing term rather than a physical type of setup.
Yes. Server Clustering is what it is. It shares disk storage(hence called as shared storage), networks. It also has shared cluster file system and volume managers specifically designed for that matter.
It is basically done when you want to make your application available for maximum time. Let's say you have clients accessing your application, you don't want them to see "server unavailable" message, just because one of your server is down.
So what you do is, you use server clustering. So when one of your physical server is down, your application is moved/failed over to other server (i.e. Active-Passive combination) Or there is also Active-Active combination in server clustering, where both the servers are running instance each for your application. And clients are redirected when one server is down,without them knowing it(using probably Virtual ips), to other server.
So with virtual ips, when one server is down, virtual ip is moved to other server(i.e. other server has two ips now pointing to same machine),redirecting your clients. I guess you fooled your clients and saved them at same time. This is what is Server Clustering.
Unix/Linux/Solaris/AIX are majorly used for server clustering.
However, there are many restrictions, generally it uses like 16-32 nodes(machines), should be running same version of OS. This makes it not very flexible. Cloud Computing is however flexible and you can combine different OSs.
Cloud computing allows you to deploy your whole application in cloud provided by service vendor and not bother about the hardware. It has like SaaS(Software as a service),PaaS(Platform as a Service), IaaS(Infrastructure as a Service) models. So depending on your need for software,hardware you can choose your model of cloud. I am also new to cloud though.
The "share resources amongst each to act on behalf of a single operating system" is throwing me.
The only thing I know of that can do clustering of resources at an operating system level would be something like: http://www.scalemp.com/