I like building robots. I love the challenge of working their electronics. I love designing them. I love everything about them, and I made a few over the years. With some of my robots, I used sounds as the controller. With others, I used standard remote controls.
Everything about them is great until they break down. Then, I have to hunt and test every component to find the one piece that needs adjustment or replacement. It’s then I wish I had clustered their electronics. While robots are a special case, you can find the same problems in any electronic device including your computer services. This is why most companies cluster their data centers these days.
Clustering is using a network of computers and redundant interconnections to form a single, powerful, highly available system. This ensures that your critical data, processes, and systems remain active and available without interruption even when you switch machines or something unexpected happens.
What is clustering?
Derived from a DARPA program from the 1980s, computer clusters have become the dominant high performance IT solution for most companies today. In fact, according to Top500.org, which tracks the world’s most powerful computers, 70% of the fastest computer systems in the world are now clusters. What was once just a tool for geeks and technophiles is now the de facto standard for all information technology environments, and this development gave us all the other technologies we take for granted such as more powerful processors, higher fidelity computer models, and improved storage systems designed to service these clusters.
Basically, computer clusters are nothing more than two or more computers interconnected to each other to act like one big computer system for availability, higher scalability or both. Implemented through combinations of hardware, operating systems, middleware, systems management and applications, these clusters operate much like virtual machines giving the illusion that there is only one large server handling the entire load.
The advantages and applications of clustering
The high availability and power makes clustering an excellent solution to many IT applications. Basically, if your application needs to run continuously without failure, regardless of what’s happening, you need to implement a cluster solution.
Clusters are design so that if one of the computers in the cluster fails, one of the others will immediately pick up the slack that looks seamless to the end users. Some of these applications include:
1. High traffic websites for load balancing, and to maximize efficiency and usability. 2. Gaming servers used by large groups of players to avoid lag and log-on problems
3. Big projects that require high performance computing such as simulations
While these applications come from different industries, they all have the same requirements.
They all need:
1. Hugh availability to ensure that services are accessible at all time
2. A redundant network that will work even during disasters.
3. High performance systems that can handle heavy loads from multiple users
4. High reliability servicers that may be located in multiple locations from around the world
5. Organizations also tend to use computer clusters when they cannot afford a single machine powerful enough to provide these features on its own.
Clustering methods
At the heart of computer clustering is the concept of parallel computing. While we haven’t seen much advancement in it, parallel computing means splitting computing tasks between two or more machines. The process requires that everything from software to hardware to work together flawlessly.
However, with the little development we had in the field until recently, clustering has become a marketing buzzword for just about everything including products that are not really related to it.
At the moment, there are only three types of computer clustering on the market, even though only one of them is true clustering. These methods are:
1. Linking two computers via a shared storage bus
2. Link the two machines via shared memory
3. Combining several machines together via high-performance connections and routers
The first two methods are not clustering in spite what their sellers say. They form clustering components, but they are not clustering themselves. They may or may not use separate machines, and can be created virtually.
Only the third clustering method is true clustering. It requires physically connecting two or more computers, each with their own hardware and software, together to form a single, much bigger one. It’s only by linking real physical machines together with high performance connections and routers can you can create a tool that can perform routine file or application serving, load balancing, redundancy, and even parallel processing. It’s only then that your machines work together as a dynamic team rather than stand-alone boxes.
While the true inventers have been lost to history, computer clustering has become one of the world’s more powerful IT technologies. By combing several physical machines together, we get a machine that can handle just about anything we throw at it.
The high availability, high performance, and high reliability through redundant networks of powerful routers ensures that your critical data, processes, and systems remain active and available without interruption even when you switch machines or something unexpected happens.