Testing Performance of Applications on the Cloud – How to get it Right

Every enterprise large and small are on a constant quest to optimize the ways to deliver software at a reduced time and cost. Since the time Cloud computing became a possibility every application big or small are being migrated to the cloud to leverage the ability to scale the computing, storage and network resources virtually to any capacity as desired.

“Why test an application for Performance when you literally can increase compute and storage power to any limit?”

Though the thought appears promising having endless ability to scale does not always result in application performing better. Its like attaching an extra gas tank and expecting the car to run faster which is not possible unless the car’s engine is designed to increase its power output accordingly.

So, What’s different in performance tests for applications on the cloud?

An application needs to be tested thoroughly before it hits the market. It must be evaluated for speed, stability, and scalability under varying load conditions. Below are the types of performance tests you can perform on cloud:

  1. Stress
  2. Load
  3. Latency
  4. Failover
  5. Capacity
  6. Endurance

How do we leverage Cloud for validating performance on the Cloud?
Cloud environment provides flexibility to simulate actual user traffic from across the globe to ascertain user experience in the real world. Furthermore, the use of Cloud infrastructure gives significant advantages of cost avoidance and time savings.

  1. Moving the load environment to cloud allows for mimicking the production size environment easily and hence the disadvantages of extrapolated results from scaled down environments can be avoided
  2. The environment cost is limited to the time the tests are run in the environment
  3. You do not need to buy hardware for the new testing lab.
  4. You won’t have to hire support engineers for the new testing lab.
  5. No need to support software for the testing lab if load tests are run as a service
  6. Setting up the Performance environment for each application would involve multiple steps and consumes significant effort and time. A typical cloud-based solution accelerates the QA process as in the following manner.

    1. Performance environment are provisioned dynamically, on the go.
    2. Automated deployment of application in the test environment shaves off significant effort and time
    3. Use of pre-configured performance tests in an automated fashion as part of DevOps pipeline

    Cloud infrastructure though scalable, you need to pay as you scale, so to ensure the best of two worlds of flexible infra size Vs pay as you use cost savings, you would need to ensure the application is not utilizing the larger infra to mask its inefficiencies and indirectly contributing to higher costs.

    Newt Global’ s performance engineering teams have successfully performed Performance testing on Cloud for our numerous clients. Our partnership with various testing tool vendors on cloud like Neotys, Perfecto & Sauce Labs allows us to offer you a tool agnostic approach towards performance testing. Get in touch with us if you are looking to test performance of your business-critical applications on cloud and we will be glad to do a free assessment for you.

     

    About the Author

    NARASIMHA RAJU SCV – DIRECTOR

    Testing Practice – Newt Global