A new approach to cloud testing

Tom Nolle, CIMI Corp
03 Dec 2010
One of the many challenges facing network operators in the next-generation services market is finding tools to test service components. So far, the majority of network testing has focused on transmission and connection resources, which are critical for delivering next-gen services.
But service features are more often created by IT components like servers and storage arrays. Because cloud computing is both a service and a platform for hosting next-gen service features and content, cloud testing is a major priority. Yet finding guidance on how to do it can be difficult.
As with any complex network service, operators can take one of two basic approaches to cloud testing:
  • Component testing: Focus on verifying the operation and performance of each element of the service, working on the theory that if each part works, then the combination of the parts will work correctly or at least will be easier to troubleshoot.
  • Service/system testing: Test the entire service as a unit, emulating what the user would experience.
While the service/system testing approach seems more intuitive, component testing may be the preferred approach for many reasons. Mainly, testing any complex system as a whole requires first that there be a set of predictable outcomes that can be generated and validated. Second, it requires a mechanism for simulating the cloud computing services to create those outcomes in a properly functioning cloud infrastructure.
Since whole-system testing is difficult, some operators are looking at a new cloud testing model based on the almost-ageless concept of protocol layering, which divides network designs into functional layers and assigns protocols to perform each layer's task. The essential goal of protocol layering is to make successive layers dependent on the services of adjacent layers without becoming dependent on variations in how the services are performed.
Cloud services can be defined as three-layer structures, with the network layer at the top, the server pool layer in the middle, and the database/storage layer at the bottom.
The first step in using a protocol layer model for cloud testing is to define the essential services at the boundary points between layers. The testing goal is then to validate the delivery of those boundary services. So the three layers in the cloud services structure have two boundary points.