Testing the Cloud From the Inside Out

By Ankur Chadda On April 28, 2010
No tags assigned.

Cloud computing offers business benefits without the risk of a degraded user experience. The challenge is determining whether or not virtualized data center environments deliver on that promise.

A virtual machine (VM) performs at the most fundamental level of content generation, which poses a serious challenge for those who need to understand real performance numbers, which means getting a per-VM view of performance versus utilization.

Traditional methods of validating inter-server performance aren’t granular enough for testing virtualization. When working with a dedicated server, there is a one-to-one relationship between port and machine. It’s a fairly straightforward process to characterize performance and isolate factors that affect it.

Cloud computing testing and in particular testing a virtualized environment is not as straightforward. Now there is a one-to-many relationship between port and machine – there are multiple VMs behind a single port, making it impossible to isolate and measure the performance of each VM.

In addition, there is no way to measure performance between applications running on separate VMs within a single physical server. This is intra-server traffic, which never leaves the server or passes through the port, so the test system will never see it.

To get definitive per-VM detailed results and composite per-server results, we need visibility into the performance of each VM. We need a virtual test system inside the virtual server.

A virtual server is implemented in a virtual machine, but to the user it looks and behaves exactly as if it were a dedicated, physical server. In the same way, a virtual test system is a software-based test system implemented in a virtual machine, but to the network devices under test, and to the test engineer, it looks and behaves exactly as if it were a hardware test system.

virtual tester for cloud computing testing makes it possible to test virtualization at all the levels it has impact: intra-server, inter-server and infrastructure.

Intra-server: When multiple applications are running on a single physical server, an application in one VM may send a request to a server in another VM on the same physical server. For example, a CRM application might request data from an integrated ERP system running on a different VM on the same server. A virtual tester in a VM can emulate a request from the CRM application and measure the intra-server response time from the ERP application.

Inter-server: In a typical tiered architecture, an application-layer server sends requests to a data-layer repository. For example, to process the request from the CRM application, the ERP application makes a call to a different physical server supporting the data layer. A virtual tester on the ERP server can emulate a request to the data tier and measure the inter-server response time from the data repository.

Infrastructure: With virtualization and dozens of VMs per physical server, the amount of traffic one box can generate increases dramatically, easily filling a 10 Gigabit Ethernet link. A standard rack holds many physical servers and dozens of blade servers. Some data centers house hundreds or thousands of racks. With the number of server instances per rack possibly increasing by an order of magnitude, not to mention the impact of hypervisor tools, the increase in network traffic can be significant. The implications for the data center infrastructure are serious.

comments powered by Disqus
× Spirent.com uses cookies to enhance and streamline your experience. By continuing to browse our site, you are agreeing to the use of cookies.