News on Monday
more>>
SharePoint Tech Report
more>>


   

 
 
Download Current Issue
ISSUE 3/15/2010 PDF

Need Back Issues?
DOWNLOAD HERE

Receive the print Edition?


 
blogs tab
ASP.NET MVC 2 Ships
ASP.NET MVC 2 has shipped.
03/12/2010 10:26 AM EST

Microsoft plans 'open' Silverlight analytics framework
Microsoft is going to announce a multipurpose analytics framework for Silverlight at MIX.
03/11/2010 09:51 AM EST

About CSS processing
Two sites that lead to a startling CSS conclusion.
03/10/2010 02:29 AM EST

 

Events calendar tab
3/14/2010 to 3/18/2010
Seattle, Wa.
SHARE

3/15/2010 to 3/18/2010
Santa Clara, Calif.
TechWeb

3/15/2010 to 3/17/2010
Las Vegas
Microsoft

3/16/2010 to 3/19/2010
Las Vegas
Penton Media

3/17/2010 to 3/19/2010
Las Vegas
TechTarget


 
Most Read Latest News Blog Resources

Virtualization bridges, from development to IT




March 15, 2009 — 
For all their similar geeky tendencies, software developers and systems administrators don't have a lot in common. Developers worry about timelines and agility. Systems administrators worry about cost and control. But for both sides of that IT fence, virtualization technology is a hot issue, whether it's in the test lab, on the developer desktop or on the server. Many of virtualization's proponents see the technology as a way to bridge the gap between operations and development. The path to that bridge, they say, is often through the test lab.

It's in the test lab that the most powerful and thrifty benefits of virtualization can be quickly realized, said Roger Klorese, senior director of product marketing at Citrix.

“When you look at the fundamental economics of what it takes to have 10 developers working on five different systems at once, the cost of spinning up 50 servers to do that are prohibitive to a lot of development environments,” said Klorese. He added that virtualization gives developers “the ability to spin up multi-tier applications and multi-node networks.”

Indeed, virtualized test environments save time and money, not to mention the many forms and hours spent requisitioning equipment from IT operations.

Another hidden benefit is from the continuity virtualization can bring to a support team. “A support organization can look at a given user's exact deployment of a given application or a given group's exact configuration,” said Klorese. "That really accelerates the support and remediation process.”

Derek Slayton, senior director of product management at Citrix, said that the move to virtualization in a test environment could warrant a major new job duty for someone on the team: virtual machine wrangler. “In a lot of cases, there's some upfront work that goes into it, but it certainly has a quick payback period in terms of efficiency," he said. "It has also given more self-service capabilities to those environments without having to involve operations.”

The new development team obligation can be met with some old tactics, however, such as regression testing. New lab management tools from Citrix, Microsoft and rPath, for example will soon be available to assist with wrangling the virtual machines used in nightly tests. These management tools all include repository-like functionality for managing and storing the different iterations of virtual machines required for proper regression testing.

Continuous deployment
Virtualization's rise in the development environment comes part and parcel with its rise in the server farm. Dai Vu, director of virtualization solutions marketing at Microsoft, said that developers have traditionally driven virtualization adoption in large organizations.

“I think before [developers] decide to adopt virtualization, they are probably feeling some level of pain in developing the application life cycle in a traditional environment," said Vu. "There's got to be a big driver. I think virtualization enables a few things,” such as flexible hardware resource allocation, snapshotting, library management and multi-machine configuration.

Vu said that management of those virtual machines will eventually be added into the Visual Studio portfolio of products. He said that Microsoft plans to introduce a lab management tool sometime later this year, and that it will allow developers to categorize and manage the many virtual machines that accumulate in a test lab over time.

Managing those virtual machines can call for some modern solutions, said Klorese. As of this writing, Xen was scheduled to be introducing its own test lab management solution in late February.

“There's certainly a lot of thought that goes into the setup,” said Klorese of setting up a virtual test lab. “There are some things you can do to make organizing that a lot easier. We can use custom fields and tags to say, 'This set of virtual machines runs this application, this belongs to this team or this project.' That makes it a lot easier to manage as those numbers go up.”

Brett Adams, vice president of engineering at rPath, said that virtual machine management can be simplified even further by using an automated application profiler. His company offers such a tool, which examines a running application, then determines what portions of the code and software are needed to run the entire operation. This slimmed-down operating system environment is then output as a virtual machine, ready for deployment. Adams said that this process can save time for the developer who's been tasked with building the hundreds of environments needed for regression tests.

The trick, then, becomes to extend that time savings into the deployment side of the operation, said Jake Sorofman, vice president of marketing at rPath.

“There's typically an individual or a group that's responsible for deployment," said Sorofman. "That's the person who's being crushed by the pressure to deliver applications more rapidly and [by] the growing complexity of the target environment those applications need to be deployed against. The iterative fast development cycles that require you to build, deploy and tear down for the purpose of test development are bringing that role to the brink. That's where we see most of the pain."

The virtualization bridge
Sorofman said that the gap between development and deployment is a big problem that virtualization may eventually solve.

“The challenge for developers is how does our agile development approach map into the next phase, from QA [to] development test, and ultimately into production?" said Sorofman.

"We're living in that gap between what comes out of the continuous development process and what comes after. I think if you look at a lot of organizations, there's a blurry thing in the middle."

The tough part is determining who should be responsible during deployment, he said. “Is it development or QA? Is it a release manager, is it a member of ops, or is it one of each?”

Sorofman said that virtualization is helping to clear this mess up. “On the application side, they're motivated by speed and flexibility," he said. "Those two concepts are completely lost to the folks on the ops side, who are focused on cost and control. Apps and ops really don't get each other, but this notion of cloud computing is really starting bridge the gaps."

That's because cloud computing lends itself to prepackaged virtualized instances of applications. Because cloud computing necessitates virtualization, both development and operations are able to standardize on a single method of deployment: virtual machines streamlined and ready to go.

“One of the things that has become interesting to us,” said Adams, “is development organizations that are saying, 'Great, how do I get my applications up on Amazon's EC2, not for production, but for test?' We're seeing quite a bit of interest in Amazon, particularly as a development test platform. It's on-demand and low cost.”

Virtual services
One issue that arises when virtual tests enter the cloud, however, is that of SOA. When an application is tied into a network of services offered throughout an organization's internal network, how can they be added into a test environment? John Michelsen, CTO and founder of iTKO, said that this issue can be troublesome for large development projects inside and outside of the cloud.

“In the real world, there's an airline in Dallas that has 1,500-plus regression tests that run on a nightly build," said Michelsen. "They spent three or four hours dealing with about 10% of those tests failing every night. The vast majority of the failures were false failures.”

Another major issue that can snarl a virtualized test environment is variance between a tested virtual machine and a deployed one. Andrew Cathrow, product marketing manager for virtualization solutions at Red Hat, said that his company is addressing this problem by offering a guarantee of virtual machine continuity.

“If you certify on Red Hat Enterprise Server Linux (RHEL), here's the set of APIs; we won't change that behavior in the life of that release. If they move from RHEL 5 to 5.3, they don't want to have to get the ISV to test on every patch we release. We're going to guarantee these releases," said Cathrow.

"We extended that recently into virtualization. If you see a difference in behavior between a system and a virtualized system in a hypervisor, we treat that as a bug.”

Cathrow also said that Microsoft and Red Hat recently entered into an agreement to support each other's operating systems in virtualized environments. That means if a developer is having trouble with Windows running in a hypervisor on top of Red Hat, they can call Red Hat for support. This also works the other way, with Microsoft offering support for users virtualizing Red Hat on top of Windows in Hyper-V.

The road to repositories
The future of virtualization in the development environment is leading to repositories. As developers take on more virtual test environments, more work falls on the shoulders of the fellow whose job it is to manage and develop all of those environments. Adams said that the move towards virtual machine repositories mirrors the move to version control systems in software development.

“The repository approaches are important,” said Adams. “One of the things that happened many years ago in software development was that we accepted [that] version control was good for us. Once you got that in place, it was just taken for granted. That same concept of bringing strong repository-based version control to everything downstream of development—to the way things are assembled, to the way production instances are versioned and upgraded—should be a version control operation, not, 'Push a few buttons and run a few scripts and cross our fingers.'

"At our core, we have deep version control information at the heart of how we solve this problem. We think that's the answer. I don't think anyone with a development background would look at it strangely.”

That means more storage and more systems to control, but Adams said that, in the end, maintaining a single repository is simpler than maintaining an entire test lab of dedicated machines. And therein lies the promise of virtualization in the development world: fewer machines to manage, more tests to run.


Related Search Term(s): testingvirtualization


Share this link: http://www.sdtimes.com/link/33335
 

Add comment


Name*
Email*  
Country     


  • Comment
  • Preview
Loading