Software Libre Foundation
As time progresses businesses have become increasingly dependant on computers. Not only on the desktop side where
documents are made and interaction takes place. But also on the server side.
Sometimes processes important to your business have been delegated to these machines, and as your business
scaled up, your computers had to as well. On the desktop side this can usually be done by simply plugging
more computers into the network. Servers however, are regarded as a single node in this network where
data is kept as a single approachable instance, and can sometimes not be easily scaled up by adding another
server.
This can be true for any server that offers a service to a lot of users. This can be on the internet
,the intranet or anywhere where multiple people use an offered service at the same time.
This is the realm of clustering. Clustering is where a certain load is distributed over multiple servers,
where it does not matter for the client that is using the service on which server it runs. If the service
that the server runs is dynamic (meaning that the content of the service changes over time) they
understand that the client that connects must get the same result no matter which of the servers
it connects to.
The most common example of this would be where a website that has dynamic content has outgrown
its server. The web-browser (the client) must ofcourse always get the same result when
he goes to a website.
The GNU/Linux OS excels in this purpose for several reasons:
Sometimes high workloads are not of primary concern. What's more important is the availability
of a service. The service in question cannot be temporarily out of order without grief.
Here failover is important. This is when a server running a service fails, and another
one takes over its job without noticable delay. This is especially important when
a business' customers are using a service.
The most common example of these would be online shops, auctions, etc. Where
a customer is defined by his using a service.
For such sites downtime is direct loss, so their service (a website in this case)
must be online without exception.
Another kind of performance clustering is where throughput of data is important. There are few users, but the tasks at hand are computationally too intensive for a single computer. This sort of clustering is less common, and more isoteric in nature. Depending on the computation adjustment of software or even hardware is needed. Adjustment of software already indicates that the GNU/Linux operating system is often a good start for this sort of performance computing.
Depending on the needs of a service all of these can be combined in a flexible way. A good solution can scale up and down and implement redudancy and failover at the same time. No solution is ever optimal for more then one situation, therefor designing and building these systems is always a tailor-made solution.
Some pointers to some of the Free Software available to implement these solutions