uppose you have to deploy a highly available and scalable database backend solution for an Internet application (similar to what is described here
). A cluster immediately comes to mind. A cluster is a conglomerate of two or more machines that are capable of sharing their workload in a real-time, near real-time, or scheduled "toggle" mode. The following are its three main components:
- Machines running some form of an enterprise-level operating system, such as Linux, Windows, or Unix
- A networka key component of the clustered architecture
- Cluster-capable software products running within machines that are designated as the cluster members
Buying some hardware to prototype and test the proposed solution seems to be a reasonable course of action, but before you embark on a hardware purchasing spree, consider an option that will let you build a prototype of your clustered backend application right on your desktop: virtualization. Virtualization is based on the concept of creating an environment that appears to a "guest" operating system as hardware (a virtual machine), yet is simulated in a contained software environment by the host system.
Virtualization products support the creation of the first two essential clustering components in your scenario: provisioning of machines and the establishment of a network between these machines. The third key component, cluster-capable software, is independent of the physical architecture and therefore has to be installed as part of the prototyping process.
This article demonstrates how to prototype machine clusters for the proposed solution utilizing the popular virtualization product, VMware Workstation version 5.5.
|What You Need
|Windows 2000, 2003, or XP Machine
VMware Workstation version 5.5 for Windows
Popular Linux Distribution ISO files