December 23, 2008
We have talked about virtual lab automation being a strategic purchase in your lab in the previous post. Let us now examine the related view of how virtual lab automation solutions can help control and reduce operational costs. I would put down cost reduction along two dimensions.
- Improved resource utilization — lowering your CapEx on lab infrastructure: With a centralized virtual lab automation solution, lab managers can monitor holistic machine utilization (of all test lab machines) prior to investing in additional machine infrastructure. Lab administrators have a central dashboard view of utilization levels and capacity – and can therefore make better infrastructure CapEx decisions. Further, the storage utilized by lab users is better utilized – by mechanisms such as delta disk technology used in VLA.
- Improved lab operations – enable synergies to keep costs low: From a lab operations standpoint, a centralized VLA solution offers the ability for a wide and divergent user base across the organization (many teams such as support, QA, Development, Training etc.) to tap into, self serve and use the lab (bounded by policies and quotas to control the use of the shared infrastructure by various resources). The lab costs are therefore shared across the organization. Along with this, users and teams can share the lab infrastructure – including configurations, VMs templates etc. thereby leveraging synergies across various efforts. Contrast this with the situation where various teams (across the same location or across geographies) each individually invested in lab infrastructure … thereby driving the costs up.
VLA enables a central self service lab infrastructure
December 15, 2008
A few days back, readers indicated that they did not expect a slowdown in the development of new software under these tough economic conditions. I had posted a survey and a discussion thread on the Software Testing Club — to find out if people will test more and develop less during the economic downturn. I found that the majority expected to develop and test more during the economic slowdown (vs. just running maintenance and testing projects while maintaining status quo).
The interest in building and testing new software brings up a related question — As you/your teams are building/enhancing systems how are you viewing your IT budgets related to tools for software development and testing (software engineering)?
- Are you looking to make strategic investments in tools to improve your workforce productivity and value?
- Or are you looking to invest in tools to reduce/control your IT costs?
- Or both?
- Or (worst case) neither?
Strategic IT Investments – Impact the Corporate Top Line: These are tools that improve your software development/testing workforce productivity. They also enhance the worker’s value in the software development life cycle (SDLC). They are strategic IT investments which directly impact the organization’s revenue or top line. These tools will help you improve software quality and achieve more in a shorter time frame, i.e., they will shrink your SDLC (allowing you to reach market faster). This usually happens through automating processes, better data exchange, reducing friction in communications and so on.
Cost Rationalization – Reduce/Control Your IT Costs: On the other hand, you could invest in tools that control/reduce your IT costs. These tools will help you drive synergies, eliminate duplications in the system, improve efficiencies and so on.
I believe that there is merit to both considerations. In my next 2 posts I’ll talk about virtual lab automation solutions along each of these dimensions.
In the meanwhile, tell us … what is your priority in the tool set for software development and testing? Improve the top line or reduce costs?
- Srihari Palangala
December 8, 2008
In my previous post I talked about “When Creating Test Environments Can Get out of Hand“. VM sprawl is a well known and often discussed problem in the production side of the data center. However, it is an equally important problem when virtualization is used in pre-production, like in dev/test environment creation. Letting VM creations go out of hand in pre-production can result in – resource hogging, an increase in operational costs, difficulty in tracking software licenses and VM creations and a problem during compliance/audit checks. Read my previous post for a full description and an analysis on when you might be at risk with the VM sprawl problem.
Here is an example of a user facing difficulty with the VM sprawl problem.
So, what is the solution to reign in and arrest VM sprawl in the pre-production side of the data center?
Virtual Lab Automation and Lab Management
If you are looking to control VM sprawl in your dev/test environments (or other non-production environments like /support/pre-sales/training) you should consider looking at virtual lab automation (VLA) and management solutions available in the market. VMware has a solution available (VMware Lab Manager), Surgient (Virtual Application Platform) has platform available and so does VMLogix (VMLogix LabManager). You can find the key differentiators between VMware Lab Manager and VMLogix LabManager here.
Using Virtual Lab Automation to Arrest VM Sprawl
How does VMLogix LabManager help control VM sprawl in your Pre-Production Environments?
VMLogix LabManager is a management application that allows you to leverage virtualization to consolidate and automate the lab IT infrastructure. You can view videos of the product here. The product provides the following specific management capabilities that helps reign in VM sprawl in your test environment creation:
- Centralized Management System: VLA centralizes your software lab infrastructure and provides users easy access to it through a web browser interface. This includes access to the library of VM templates, the deployed VMs, the virtual hosts, storage etc. Centralized management provides a clear view of resource availability and utilization levels. Users from multiple groups in the organization and/or from multiple geographic locations can also access and use the same shared infrastructure (without going and spawning off their own copies of VMs and configurations).
- Control VM sprawl across Hypervisors: VMLogix LabManager is hypervisor agnostic (Citrix, Microsoft and VMware platforms) and supports the management of VMs and configurations created across multiple hypervisors. It provides you with a single pane of glass view into managing VMs across multiple hypervisors.
- Monitor Resource Utilization: LabManager can help you track lab resource utilization and add additional virtual host capacity to the central pool only when you know it is required based on historical usage data. This capability ensures that the central pool of hosts are capable of handling the required user load and does not require users to run VMs on their local machines for want of compute power.
- Prevent Resource Hogging: As an administrator you can set user policies and quotas – to control storage utilization and resource hogging deployments. User configurations can have deployment leases setup to free up resources when it is no longer being actively utilized in a deployment. When resources are freed up in a timely manner, then the shared infrastructure can be put to use effectively for the entire lab user base.
- Control Sprawl By Avoiding VM duplications: Your lab users can share and collaborate with the lab artifacts (such as VM templates) — that way, users avoid re-work creating their “own copies” of a VM template and thereby reducing sprawl.
- Lab Operational Transparency and Self-Service Access: Your lab users know the exact lab resources available and can request lab infrastructure on demand in a self serve manner. This provides individual users the required ease of use, transparency and speed of resource access while administrators maintain overall control of the lab.
If you are looking to effectively use virtualization in your pre-production environments and do not want to be bogged down by management problems resulting from VM sprawl, you should evaluate the VLA solutions in the market. VMLogix has a 30 day free evaluation which you can request here.
- Srihari Palangala
December 3, 2008
Server virtualization is an accepted and mainstream technology used by increasing number of software testers today. The technology helps testers rapidly create virtual machine test environments. Testers who are new to virtualization rely on basic hypervisor technologies from VMware (e.g., VMware Server), Microsoft (e.g., Virtual PC) etc. to create these virtual machine test environments. One of the downsides of using a bare hypervisor is the problem of introducing Virtual Machine (VM) sprawl. A detailed post on the downsides of relying only on a basic hypervisor are discussed here.
The Problem of VM Sprawl: Virtualization technology makes it extremely easy for end users to create and deploy VMs. This can quickly get out of hand – resulting in an increasing number of VMs and difficulty in tracking and managing the VMs. This problem is referred to as VM sprawl. Most often, VM sprawl issues have a profound impact when VMs are used in production (and this is discussed often). However, it is an equally important problem to be aware of when you are actively using virtual machines in your dev/test environments.
When is your Dev/Test Organization at Risk with This VM Sprawl Problem: Here are typical scenarios that are would quickly lead to a VM sprawl problem in your organization.
- Your organization or group lacks clear policies to control the creation and deployment of VMs in your environment
- When VMs are abundantly used by your dev/test teams (e.g., it is the de-facto choice when users need new machines. And everyone operates with their own instance of VMware Server/MS Virtual PC etc.)
- The risk of being affected with the VM sprawl problem are higher if your organization is running distributed teams (offshore/distributed company locations)
Why is the VM sprawl problem relevant to the Dev/Test Organization: So, if you do think that your organization is at risk, what are the specific problems that you are likely to run into if you let things continue ‘as-is’ and without addressing the VM sprawl problem?
- Resource hogging: It is likely that some of your dev/test staff would let their VMs run continuously on server resources – sometimes without keeping a track of when it is being actually used or left idle. This will lead to server resources being blocked and being unavailable for others to use.
- Increase in operational costs: Since every user creates and runs their own VMs, the cost of storage, server resources required etc. will go up linearly.
- Difficult to track license usage: It will be practically impossible for IT administrators to keep track of specific software/OS licenses being used in each VM
- Compliance and audit: This is less of a problem in dev/test, but a problem regardless. If your administrator ever needs to respond to a compliance audit, it will be a nightmare tracking and reporting the inventory of all machines being run
- Impossible to track VM creations: It will be quickly impossible to manually (via Microsoft Excel, Word etc.) track VM creations by individuals as well as the resource utilization by each user
If VM sprawl is a problem that you are seeing in your dev/test environments or is likely to be a problem that you will run into shortly, you should consider looking at lab management solutions like VMLogix LabManager. These solutions do a good job of herding the VMs created in a lab (dev/test) environment and provide powerful tools to manage these configurations.
My next post will talk about how VMLogix LabManager can help control your VM sprawl in the dev/test environments. Stay tuned.
- Srihari Palangala
Other useful reading: