Upload
malathi-malla
View
120
Download
1
Embed Size (px)
Citation preview
Cloud Testing with Synthetic Workload Generators
White Paper
Why cloud testing? Cloud Computing and Virtualization (NV and NFV) are adding incredible diversity in the
number of providers and services offered, but most of this ecosystem is running on a
handful of virtual platforms from vendors such as VMware, Citrix, Amazon, and Microsoft,
or from a purely open source solution such as KVM. Compared to traditional server
applications and networking products however, virtual platforms are comparatively new
and obviously less tested. This point can be derived from the lack of test tools targeted
to testing virtualization platforms. There is a burgeoning new class of cloud test tools
referred to as “Cloud Management Platforms or CMP tools”; but these tools focus more
on capacity planning, active monitoring, and basic network performance within a public,
private or hybrid cloud than they do actual benchmarking of the virtual platform at the
center of cloud or NFV infrastructure. CMP tools also derive the majority of their analytics
from native APIs provided by the hypervisor, duplicating information already offered by
hypervisor vendor tools. There are also cloud based traffic generators, SaaS offerings
that specifically aim to determine application traffic performance over the cloud, but
such tools are limited in their scope of test methodologies and even the analytics they
provide are only about network performance and not virtual infrastructure.
Introduction Cloud computing is redefining the meaning
of scale and complexity. It also demands the
ability to fuse the previously distinct roles
of application hosting and network traffic
processing over a common system. Until
recently, application testing and network device
testing are treated as two very distinct domains
starting from different hardware and software
to different testing tools and practices. As the
complexity of interaction between software
serving different purposes is evolving with
cloud computing and virtualization, so is the
need for validation solutions and supporting
methodologies. Conventional test tools were
not designed to test “hypervisors” – the
cornerstone of virtualization. Spirent intends to
introduce the concept of a complete resource
bearing “synthetic workload generator” as
the best testing solution for benchmarking
hypervisors – by validating both functionality
and performance of various applications and
services (IaaS, PaaS, SaaS) running over them.
Cloud Testing with Synthetic Workload Generators
2 | spirent.com
White Paper
Organic vs. Synthetic WorkloadsThe lack of adequate test tools targeting virtualization platforms can largely be attributed to the complexity of developing such
tools. The current approach is to use “organic” workloads where actual applications create the workloads and traffic running on
a virtual machine, e.g. web server, then generate client side requests via automation to scale up the workloads and traffic. This
approach is effective, but can be very costly to scale for software that is not open source. The “organic” approach also requires
that software and its dependencies such as drivers, packages etc., be installed which introduces considerable overhead testing
from one type of application to another. This significantly adds to the time and complexity to execute testing. Lastly, organic
workloads are not flexible enough. Workloads are confined to the natural state machine of the application under test. Complex
defects only surface when the test loads run for a lengthy period of time, or if the test loads can break out of the confinement of a
particular application’s state machine. Organic workloads cannot have a particular resource like CPU, memory, or storage, skewed
to change the load characteristic of the test. A better approach pioneered by Spirent is the concept of “synthetic workloads”.
Synthetic workloads will drive the utilization of vCPUs, memory, storage I/O, and network I/O using synthetically created processes
and threads of execution at the VM level for hypervisor scheduling. Using synthetic workloads is a far less expensive approach
that scales higher, automates easier, offers much greater workload flexibility, and ultimately exposes more bottlenecks in resource
scheduling by the hypervisor kernel – ultimately improving the performance of virtual platforms that SaaS and virtual service chains
run on.
Introduction to Synthetic Workload GeneratorsJust as the popularity and scale of the Internet mandated the need for new types of test tools that could generate and receive
hundreds of millions of IP flows, and emulate hundreds of thousands of IP switching and routing devices, tools Spirent introduced
to the world and has been a leader in ever since. So too, will Cloud Computing necessitate a new generation of tools be developed
to meet the sheer scale and diversity that complex deployments will demand of the virtual platforms they are built on. Synthetic
Workload Generators (SWGs) not only can provide the cost and scale benefits, but also control, flexibility, load isolation, and real-
time feedback that unaltered organic application workloads fall short of. SWGs are designed for live production environments and
deployed in actual live cloud or virtual infrastructure. Key features include:
� Ability to provide any type of modeled workload on a single resource, any combination of resources, or even all compute
resources simultaneously providing unparalleled control and flexibility of workload scheduling
� Cause adversity or havoc like sustained high CPU utilization or excessive memory consumption emulating memory leak
conditions
� Provide deep insights into a hypervisor’s scheduling algorithm performance and ability to respond to such problems
� Help preempt service deployment issues, isolate faulty hardware in the cloud, and expose complex defects with the
hypervisor platform that IaaS, PaaS, SaaS, or NFV is running over
� Ability to gauge or conduct dry runs of a particular service before deploying the actual cloud or NFV application and quickly
throttle back from workload thresholds that impact live production VMs.
These features add up to a complete divergence from conventional network testing where load generators are connected to lab
test beds or application performance is assessed on non-production servers.
spirent.com | 3
Use cases for Synthetic Workload GeneratorsBy utilizing VMs or containers to generate and precisely control the magnitude of, per resource synthetic workloads – vCPU,
memory, storage I/O, network I/O – and derive real-time feedback on the performance of each independent workload operation,
any type of test can be run cost effectively, in any environment whether live or not, and can provide a complete performance
assessment over any period of time for a given virtual infrastructure. For example, individual resource control allows for workload
isolation to just a specific resource operation, memory read for example. This load isolation can then be scaled across many
generators, also referred to as agents, to determine the overall scale capability of a given resource operation like memory reads
in a cloud or NFV deployment. Organic software loads cannot mimic this behavior. Cloud and Service Providers could use this
information to better gauge their VM memory capacity planning. SWGs can be used to validate the QoE or SLAs of virtualized
services and their performance under scale across all resources. Cloud customers, or even private cloud owners, could use such
a tool to determine the best provider or hypervisor platform to build their cloud on based on a given IaaS, PaaS, SaaS, or NFV
implementation.
Figure:
Bare Metal Server
HypervisorDeploymentService
AnalyticsCollection
SWG1 SWG2 SWG3 SWG4 SWGn
Synthetic Workload Generators deployed for auto-scale use case
Synthetic Workload Generators can model custom enterprise applications that are impractical to obtain or implement for testing or
benchmarking purposes. SWGs can also be used to accurately assess spare capacity, which is especially critical to smaller private
cloud implementations that need to maximize hardware resources, or Cloud/Service Providers trying to assess the impact of
adding another service chain to compute nodes already hosting other tenants. SWGs are perfectly suited to auto scale validations,
whether assessing boot time, policy enforcement or determining the maximum achievable scale of an elastic computing solution in
a large public cloud, providing pinpoint analytics of every operation across all resources per agent exposing resource contention
issues and bottlenecks at scales that are difficult to comprehend. These examples are just the tip of the iceberg; many more use
cases exist in areas like high availability and migration performance benchmarking.
© 2016 Spirent. All Rights Reserved.
All of the company names and/or brand names and/or product names referred to in this document, in particular, the name “Spirent”
and its logo device, are either registered trademarks or trademarks of Spirent plc and its subsidiaries, pending registration in
accordance with relevant national laws. All other registered trademarks or trademarks are the property of their respective owners.
The information contained in this document is subject to change without notice and does not represent a commitment on the part
of Spirent. The information in this document is believed to be accurate and reliable; however, Spirent assumes no responsibility or
liability for any errors or inaccuracies that may appear in the document. Rev A | 01/16
Cloud Testing with Synthetic Workload Generators
spirent.com
AMERICAS 1-800-SPIRENT +1-800-774-7368 | [email protected]
EUROPE AND THE MIDDLE EAST +44 (0) 1293 767979 | [email protected]
ASIA AND THE PACIFIC +86-10-8518-2539 | [email protected]
White Paper
SummaryCloud computing and all of its instantiations require a new type of tool to validate
the platforms they run over. A tool that is commercially available, economical, meets
a hyperscale requirement, and flexible enough to simulate any type of application
workload, one that allows precise control and provides key analytics plus offers real-
time feedback on compute resource performance and that is driven by methodologies
applicable to cloud and NFV applications. Synthetic Workload Generators meet all of
these requirements. Synthetic application workloads are not a new concept. It has also
been proven that application workloads can be accurately and realistically synthesized1.
And Spirent is pioneering efforts towards bringing such tools and supporting
methodologies to market. For more information about Spirent Cloud Solutions, please
visit www.spirent.com/Cloud.
About SpirentSpirent provides software solutions to high-tech
equipment manufacturers and service providers
that simplify and accelerate device and system
testing. Developers and testers create and share
automated tests that control and analyze results
from multiple devices, traffic generators, and
applications while automatically documenting
each test with pass-fail criteria. With Spirent
solutions, companies can move along the path
toward automation while accelerating QA cycles,
reducing time to market, and increasing the
quality of released products. Industries such
as communications, aerospace and defense,
consumer electronics, automotive, industrial,
and medical devices have benefited from
Spirent products.
1 Georgia Institute of Technology: Synthetic Workload Generation for Cloud Computing
Applications, Bahga and Krishna Madisetti