Sunday, January 27, 2008

Virtulization and testing

There is a lot of interest currently in testing using virtualization. An interesting article can be found here in Information Week

Because we deliver services via the software-as-a-service model, we needed to maintain our 24/7 functionality, hosting, availability, reliability, and scalability. We also wanted to maintain our reliable disaster recovery process while adding flexibility to deploy multiple environments, including test and development, sales demos, and load-testing environments. We determined that a VMware virtual infrastructure would provide us with all of these attributes at a more reasonable cost than a new physical infrastructure.
We first thought of virtualization when considering a tiered storage strategy and a disaster recovery plan across multiple environments. We determined virtualization would help us move data quickly to the right storage source depending on our needs. We also realized virtualization would make it easier to deploy redundancy in our production environment, along with providing the horsepower to run disaster recovery and other environments.
Licensing costs were a critical factor when creating our near-real-time disaster recovery center. When a near-real-time data copy is used in disaster recovery, Oracle requires the same licensing model on both sides. We discovered that IBM p570 servers using IBM Power6 processors at the database layer would let us deploy fewer but faster processors. This let us further lower our Oracle licensing costs. The IBM p570 servers have logical partitions for which we can allocate as much memory and CPU power as we want, and we can share excess capacity across the partitions. By virtualizing the logical partitions, we can scale easier. And with the databases on shared storage, we can create extra partitions for our other production server to failover to, if necessary.
Virtualization also let us configure the disaster recovery box so that while we run test and development environments, we can also run smaller Oracle partitions. If we want to conduct load testing, we just reconfigure the development partitions for true load testing service. If we have to run a disaster recovery process, we can use the whole box to run production.