Almost everybody seems to agree that the cloud is not ready to house enterprise applications. But that does not mean enterprises cannot leverage the cloud’s myriad benefits. With increasing pressures to lower costs and increase efficiency, the practice of building virtual test labs in the cloud has companies drooling.
Far from the traditional practice of buying, provisioning and configuring the requisite hardware for testing a new application or testing the effects of software updates and patches, virtual lab automation lets users replicate production environments in the cloud almost immediately. Because the time to provision has been cut so drastically, virtual labs also help ensure the underlying software is up to date, not made irrelevant via patches rolled out during the time necessary to build a physical test bed.
“This whole notion of building a test lab, so to speak, in the cloud, or in the sky, is actually a brilliant move,” says Theresa Lanowitz, founder of analyst firm Voke Inc. Even more than pre-Y2K large-scale test labs offering users access to whatever configurations they needed, Lanowitz says testing in the cloud is “going to put … much more emphasis on the necessity of testing, and it’s also going to make testing easier. It’s going to eliminate a lot of bottlenecks, and it will, in the end, [raise] the service level agreements to allow people to deliver higher quality.”
According to Vishwanath Venugopalan, enterprise software analyst with The 451 Group, virtual lab automation also speeds time to market for new applications and creates self-sufficient developers. In fact, he says, the benefits of doing testing and development in cloud make inherent security concerns “less urgent” than in production environments. “A developer doesn’t need to depend on IT administration,” he explains, “they can pretty much whip out their credit card and spin up extra resources that would need in the short term.”
Running with It
Skytap, perhaps the undisputed leader in cloud-based virtual test labs, has noted the excitement around this trend and is taking full advantage. Skytap’s cloud computing services provides industry-standard infrastructure and a library of common open source and proprietary images. By replicating production environments, users can run applications in the cloud completely unchanged from the datacenter version. “It’s almost like an extension of your existing IT environment,” says Ian Knox, Skytap’s director of product management.
Venugopalan sees this as a major draw, as well. “For larger enterprises who are mulling around whether or not to take advantage of this cloud thing that everybody’s talking about, test and dev definitely is a very good proving ground,” he says. “Not just because you get the engineers in the trenches with the technology, but also because cloud offers the kind of flexibility where you can … more seamlessly make the transition between development and test and production.”
Skytap doesn’t believe its draw ends with on-demand infrastructure replication, though. Knox points out that users also can snapshot and save configurations for later use — a capability that comes in handy when bugs are found. Flawed images can be saved until the appropriate personnel can come in and solve whatever issues exist. Users also can snapshot failed production environments and work out the kinks in the cloud.
Knox says Skytap stands above general-purpose clouds, and Amazon EC2, specifically, because Skytap allows a wide range of images; supports VMware; lets users define networks, mapping, host names, etc.; and has a very rich, drag-and-drop user interface. Test environments also must be more dynamic than production and reusable than production environments, says Knox, which is why Skytap prides itself on offering automation capabilities and a real self-service approach.
Another key to success in the cloud is enabling a broad class of customers to take advantage of your service. Knox says Skytap allows for all kind of testing — from client-server applications to Web applications to patches — and also facilitates on-demand training, sales pitches and product demonstrations. Additionally, Skytap has developed an expanding partner network that includes production hosting provider Savvis and cloud-enablement software vendor Appistry.
At present, Skytap has about 50 customers and is gaining “amazing” traction, says Knox, with customers ranging from start-ups to Savvis. One case study to which the company likes to point is that of VDIworks, which deployed Skytap as its training solution and experiences drastic cost and time reductions. Student tuition for training dropped to $1,000 from $3,000, and set-up and tear-down time went from one week to one day. Know says Skytap subscriptions start at $500 a month, with the average customer spending $1,500-$2,000 a month for a 25-machine virtual lab.
Not the Only Game in Town
Even in cloud-based testing and development, Skytap is not the only game in town. Venugopalan points to Kaavo (which provides EC2-based provisioning of multi-tier architectures) and Heroku as other options, and production-focused clouds have their share of testing customers, too.
Michael Sheehan, a technology evangelist for cloud provider GoGrid, says his company has been pitching testing as a use case since day one. Although it can be tough to tell who customers are due to anonymous nature of GoGrid’s service, Sheehan knows it is being used as a virtual lab, including by one customer who has created a .NET test bed using Windows PowerShell.
“If you can just say, ‘Hey, I’m gonna pay 50 bucks and spin up a bunch of servers for a week and then get rid of them,’ I think there’s a great appeal there,” says Sheehan.
The cloud is not a requirement to having a virtual lab, though; virtualization software enables their configuration on-site, as well. A Voke survey showed that people become immediately more productive when virtualizing their testing and development operations, says Lanowitz. The 451 Group’s Venugopalan sees in-house virtual labs becoming more common as server virtualization becomes more common and more understood. “Virtual lab automation is one example of the kinds of management and automation that people are starting to think about when they think about virtualization within the datacenter,” he says.
However, the most unique form of virtual testing doesn’t require provisioning virtual machines at all. uTest gives customers access to a on-demand, global community of human software testers who, according to co-founder and CEO Doron Reuveni, can handle anything from functional testing to load testing to API testing, and anything in between (although “[a]bout 85 percent of our customers test Web applications,” he says). Customers are responsible for providing the actual cloud-based or internal test labs, but uTest does have a partnership with Skytap in case customers wish to isolate testers in a sandbox while still providing everything they need.
Reuveni sees three differentiating benefits of uTests service. First, he says, all testing is on demand. There are no contracts or long-term engagements, and customers can choose the scope of testing, the platforms and the tester requirements. Secondly, the service is not only on-demand, but real-time. Often times, Reuveni explains, requests come in on Friday and are completed by Monday. Finally, uTest customers pay only for performance — that is, the number and class (technical, functional or GUI) of bugs found by testers.
uTest has more than 10,000 testers among its ranks, ranging in experience from one year to 10-plus years. They are ranked initially according to their backgrounds, their knowledge bases and the environments to which they have access, among other criteria. uTest customers provide feedback based on testers’ performance, and Reuveni says testers can progress the more testing they do and more positive feedback they receive. Eventually, he adds, testers can become certified and provide even more advanced and in-depth services to customers. Reuveni says uTest has thousands of testers available at any given time, and they have yet to run into the problem of having an insufficient number to handle a request.
The company had 36 customers as of October, but Reuveni says the goal is to have 60 by the year’s end, and more than 300 by the end of 2009. “The cloud environment actually makes our life very, very easy because it’s completely optimal for testing, and there’s an excellent synergy between testers we provide in the cloud environment and the tendency for software companies … to develop and host applications on the cloud,” he says. The model is very attractive to the customer base because “[w]e provide things that no one else can provide.”
Although Lanowitz is relatively unfamiliar with uTest, she does think “humans in the cloud” is the model of the future. In the ‘90s, she explains, the debate was building testing tools versus buying them. Most companies decided to buy, but then realized they had to train staff to use them — a potentially time-consuming and expensive undertaking. With the uTest model, she says, companies can streamline the process by accessing testers whenever they need them, regardless of where the testers are geographically. Plus, she notes, these people are professional testers so companies can focus on their core competencies instead of developing those skill sets internally.
Cloud Means Concerns
For Lanowitz, the two big concerns for any cloud deployment will be performance and security. “The big thing is going to be performance, and that’s sort of a sticking point for virtualization, in general,” she says. “Even if I am virtualizing in the physical sense, now I move it to the cloud, where is my performance going to degrade? We have to know the answer to that.”
Depending on the size, a virtual lab might serve as a performance proving ground, but nothing is guaranteed. “I don’t know that we are quite there yet to say ‘Well, look, we’ve done testing in the cloud, and because we can do some testing in the cloud, it’s automatically given that we move all of our production environments into the cloud,’” says Lanowitz. “I think that’s a pretty far leap of faith and a pretty big conclusion to make.”
Believe it or not, she actually sees security as less of a concern, sharing Venugopalan’s sentiment that for testing, at least, the benefits of cloud computing definitely outweigh the risks. And in reality, she notes, it is too early to tell whether either performance or security actually are big issues.
Skytap’s Knox sees the issue in a similar light. He says security questions are among the first that customers ask, and you must have answers, but you can, like Salesforce.com, build a track record of trust. However, he notes, “The difference between production and test, I think, is that people are more willing to put test servers and test environments in the cloud because if it goes down for an hour … it’s not going to be the end of the world.” That said, Knox assures Skytap maintains very high uptimes and says users will never see the whole service down for an hour. If customers are afraid of data breaches, he suggests using phony data.
Knox also points out that “[t]he things you don’t test in a virtual lab/cloud environment are things very specific to hardware,” such as device drivers or telecom equipment. In that case, he says, Skytap users can benefit from its VPN capability.
Ultimately, though, Knox thinks cloud-based testing will become the de facto standard in a few years (aside from in strict sectors), and the Skytap vision is to enable the whole application lifecycle, where companies can pull in cloud resources whenever they are needed. The drivers to adoption of anything are new capabilities and economics, says Knox, and “[w]hen you apply them to QA testing, you can’t really imagine a scenario where it’s not going to become pervasive.”