Thursday, September 23, 2010

Testing Cloud & on premises applications


Note:- Click on the image to magnify it

Testing cloud and on-premises applications:-
In this scenario, a customer who has a complex system of business services and applications running both in the cloud and on-premises will use a testing solution from the cloud to design, develop, and execute performance testing of the application from the cloud—generating load on the cloud systems and the on-premises systems simultaneously. A complete testing solution hosted in the cloud is ideal for this situation, especially when combined with testing services and consulting assistance that are also hosted in the cloud.

Testing Cloud applications & services



Note:- Click on the image for magnified view

Testing cloud applications and services:-
In this scenario, a customer who has a business service or application running in the cloud will use a testing solution from the cloud to design, develop, and execute performance testing of the application from the cloud—on the cloud and for the cloud. All of the testing assets and results can be maintained in virtual storage in the cloud, or they could be downloaded from the cloud and saved locally on the customer’s machine.

Testing on-premises applications from the CLOUD


Click on the above image to magnify it...
Testing on-premises applications from the cloud:-
In this scenario, a customer who has an on-premises application will make the application accessible through the firewall thru the Internet, or perhaps it is an e-business application that is normally hosted with Internet access. The customer will use a testing solution like HP LoadRunner software from the cloud to design, develop, and execute performance testing of the application from the cloud. All of the testing assets and results can be downloaded from the cloud and saved locally on the customer’s machine.









Cloud Computing for Performance testers Part2...

Accessibility: -
Accessibility refers to the ability to access the interfaces and the system under test instantly. The minute you fire up a virtual machine, it’s available. You can access that virtual machine from anywhere, and you can access it via application programming interfaces (APIs). But it’s remotely running, so you don’t have physical access to the machine that supports it.

For the developer or performance testers, cloud accessibility is a two-way street. It brings new ways for systems to automatically connect themselves, but it takes away your ability to physically access the underlying systems. You can no longer touch the machine. Accessibility is now in a different mode.
The system is hosted on the Internet. It’s governed by a remote set of administrators that you don’t havecontrol over. There is a whole new way of accessing the system, and this changes how you test it.

Efficiency:-
When it comes to measuring the efficiency of systems, things are very different in the cloud. When systems are located on your premises, you have a direct view into power and cooling issues, temperature deltas, and the characteristics of new system architectures. In the cloud, everything is hosted remotely. Each cloud vendor has a different architecture and a different approach to optimizing the efficiency of your particular solution. So if you’re testing for efficiency, lots of things
are going to change from one cloud vendor to the next.


Global delivery:-
The cloud is ubiquitous. Inherently, it is everywhere, instantly. When you put an application in the cloud, you can get to it from virtually anywhere that you can access the Internet. This global characteristic of the cloud raises special testing concerns. Your performance criteria for enduser response time is key, of course, but you also have to think about other issues—currency calculations, metrics, and all the different functions that make an application available globally in different languages in different cultures, in different currency systems, and in different units of measure.

Immediacy:-
Immediacy has the biggest impact to quality assurance (QA). Immediacy enables elasticity, or the ability to expand or contract almost instantly. But beyond that dynamic, we are talking about the immediacy at which the application under test (AUT)
becomes available. That means it can be developed faster, and it can be turned on and turned off like a light switch.

The speed at which we can deploy an application into a test environment creates unprecedented challenges for performance testing. Deployment time is just shy of instantaneous. You used to have perhaps three to four months to build the system under test, build the test bed, do the test planning, and indentify the test requirements. Now you might have just minutes
to complete the same tasks. The ease and speed at which you can create the system under test means there is now less time for testing.

Thursday, September 9, 2010

Cloud Computing for Performance testers - Part1

Before we get into the importance of Cloud Computing in Performance testing area, we will through a pen on the charactersitics of Could Computing.....
Elasticity:-
When it comes to performance testing in the cloud, the characteristic of greatest concern is elasticity, or scalability.

From a test perspective, this is the familiar scale-up and scale-out story. There is no real difference here in terms of how the cloud is elastic, but there can be significant differences in the ability of the architecture to adapt to changing conditions.

When it comes to testing scale-up and scale-out capabilities, the cloud architecture might be clustered in a manner to automatically add more resources, such as CPU and memory capacity. It could add more nodes to the cluster. And it could automatically adapt to the load you put on the system. That is the elastic responsiveness of the cloud, which can be configured for an application. Then there is the flip side of cloud elasticity—the ability of the architecture to contract. In the cloud, you can actually have a system that scales down automatically when fewer resources are needed. This means you have to incorporate a test run that not only scales up when you need more capacity but scales down when you reduce the load on the system.

For example, you might shed memory and drop a few nodes from a cluster to reduce the cost of operating a service in the cloud.

Wednesday, September 8, 2010

Insight into "CLOUD COMPUTING"

At the most fundamental level, the cloud is a highly organized set of computing systems. It is composed of familiar resources in the world of computing—such as servers, networks, and storage.

If you’re testing a cloud-based application on a set of blade servers or a database server with storage behind it, you encounter the same familiar technologies you would find in on-site testing—such as microprocessors, memory, and networking.

In this sense, the cloud operates on the same premise as everyday computing. Servers connect to networks and networks connect to storage systems. The result is a platform that runs software applications. It just so happens that those applications are either running a virtual machine or are running web services on a platform that is running on a virtual machine. The
platform could be running a website or it could be running a collection of applications on top of virtual machines. Viewed from this level, the cloud doesn’t change much—until you consider that these things are accessed via the Internet.

But the cloud has other interesting aspects for developers and performance testers. The access to the Internet—the bytes that go in and the bytes that come out—is billed on demand and has some instant-on capabilities. When consuming a cloud-based service or cloud-based application, we have unique operational models—such as billing on demand, deploying a virtual machine on demand, and creating a web service on demand.

If your code is ready to go, you can now have an application up and running in minutes and be billing customer transactions almost instantly.

With its on-demand and instant-on capabilities, the cloud offers inherent scalability. That’s implied by the very architecture of the cloud.

With its use of virtualization and web services, the cloud is both elastic and expansive. It will automatically expand itself to meet the demand. This characteristic has far reaching implications for performance testing.

Let’s take a closer look at the characteristics of the cloud that bring a new set of concerns for performance testing….to be continued in my next post. (Source:- www.hp.com)

Myths on "CLOUD COMPUTING"

The concept of the cloud has come to be associated with many things that actually aren’t the cloud, although they are closely connected to it. Let’s walk through some cloud definitions that can be potentially misleading, such as:

• “The cloud is just search engines and e-commerce sites.” Sure, the cloud is often associated with Internet search engines such as Google and Yahoo! and e-commerce sites such Amazon. But these services pre-date today’s “cloud hype,” and we’ve been searching online for decades.

• “The cloud is a bunch of huge data centers located somewhere in the distance.” The leading players in Internet search are investing in enormous data centers, which summons up images of grid or matrix computing. But big data centers have been around for nearly 50 years.

• “The cloud is anything on the Internet, in a world of its own.” The cloud is sometimes seen as an Internetonly world that lives in its own space, in isolation from all the companies and individuals who use it every day. But we can access the Internet from our televisions, computers, cell phones, and cars, so the Internet is already everywhere.

• “The cloud is a reference to virtualized resources.” Virtualization is a term that is commonly associated with the cloud. There is a view that “if it’s in a virtual machine (VM), it’s in the cloud.” But then, some companies run very large private virtualized data centers that are not connected to the public Internet in any way.

• “The cloud is services.” Now this gets really confusing, because there are so many types of services associated with the cloud and the Internet. These include software-as-a-service (SaaS), storage as a service, and applications as a service, along with consulting services (uTest, mTurk), financial services (online banking), and even food services (remember WebVan?)

• “The cloud is network compute clusters.” These would-be high-performance compute clusters that deliver massive amounts of computing power over the Internet are often associated with references to the cloud, or grid computing systems.

While all of these concepts are closely associated with the cloud, none of them actually is the cloud. So let’s look at terms that come closer to describing the cloud in accurate terms in the next post. (Source:- www.hp.com)

Tuesday, September 7, 2010

CPU Utilization (Per User/Total/Server)

1)CPU utilization of user process + CPU utilization of the System state => Total CPU utilization at any given point From Subject Received Size
Nagendra Elugoti RE: The page cannot be displayed error-Bachhus Env 1:46 PM 96 KB in time.

2)Server Centric CPU utilization – user = Total usage of CPU by worker> threads inside the application server context(a portion of CPU utilization –> user should technically be a part of Server Centric CPU utilization)

3)CPU utilization – user = Time spent by CPU in executing user program(time> consumed for activities involving kernal working on the job on behalf of the> user program DOES NOT fall into this category.)

Hence, server centric CPU utilization – user can be greater or lesser than CPU utilization – user of the entire box because the boundaries of these two metrics are different(example: 100% of Server Centric CPU utilization – user can possibly be only 10% of CPU utilization – user)