Default Banner
Why the Cloud Carries Such Clout

Why the Cloud Carries Such Clout

31st Jan, 2017

For many companies, cloud technologies provide an effective solution for optimising the use of hardware resources and the opportunity to move their capital expenses (CAPEX) to operational expenses (OPEX). Software testing requires environments that are available as and when required. This can be a challenge using physical hardware. In this article, we look at what testing types can take advantage of cloud testing and what solutions are already in place in Microsoft Azure.

Migration to the Cloud

Cloud computing has been in place for over a decade and has slowly made inroads into the enterprise community. For many companies, the advantages of cloud hosting are so compelling that they not only move some of their infrastructure to the cloud (IaaS), hosting websites on a cloud platform (PaaS), but also make use of ready‑made services (SaaS) such CRM, ERP, email, and so on. Cloud testing has the ability to leverage cloud computing for the need of software testing. The strong selling point is that you don’t even have to host your application in the cloud to take advantage of it. As long as your application is internet facing you and cloud test it, but even that limitation is due to be removed.

Types of Testing

By using infrastructure as a service (IaaS), you can deploy nearly any system to the cloud as long as it is supported. IaaS allows you to install any operating system inside a virtual machine. It is then possible to install any software, including testing tools. So instead of deploying an on premise test environment, it is in the cloud. However, the benefits of cloud testing are most noticeable with load and performance testing.

Load and Performance Testing

When performance testing an application, it is advised to run three pieces of software: a monitoring tool such as Visual Studio, a test controller and one or multiple agents to generate the load and simulate users (i.e. virtual users). If you need to simulate thousands of virtual users, you will need to set up multiple machines with enough bandwidth, CPU processing, and memory. You will have to purchase the software and the rights to simulate so many users. Doing so requires a lot of CAPEX and the cost of your load test environment may not be utilised efficiently unless you are load testing fairly regularly. Alternatively, you can make use of load testing using a cloud service. This will provide several advantages:

  • OPEX instead of CAPEX: by paying only when you use it, you don’t need to block your capital and the cost follows the usage.
  • Environment usage: if on premise you would have to purchase and maintain your environment. If using a service, you don’t need to set up the infrastructure or platform.
  • Network bandwidth: to perform large load tests, you need enough bandwidth which your company may not have and can be very expensive. Smaller companies may not have the luxury.
  • Quick provisioning: load test can start within minutes.
  • Real testing: by using a cloud‑based solution, you can simulate an even larger user load, your load test will come from internet mimicking what real users will be doing. Also, you can simulate the load coming from various locations across the globe (Azure provides 16 locations across the globe at the time of this writing). With Microsoft Visual Studio, you can easily decide between on premise and cloud by switching a button.

Functional Testing

Your test environment may not be constantly required. However, when you need one, it can take several days before IT infrastructure provisions and deploys the software. With the advent of DevOps, this is no longer acceptable. Environments need to be deployed automatically and this is becoming the norm. We now see machines and environments as a commodity where the lifecycle has become provision, use and tear down sometimes within a couple of hours. This approach can also solve issues such as testing various configurations or trying to address a client issue by reproducing their environment. Using cloud and DevOps automation, this can be achieved within minutes.

Another example where functional testing is simplified is by using cloud labs for mobile testing. Using Xamarin Test Cloud, it is possible to access over 2000 real devices. Having this capability on premise will probably be prohibitive for most companies.

Perceived Issues

For some, cloud is considered too risky as they cannot be controlled. Often this is for the following reasons:

  • Availability: the risk of the service not being available is what may prevent some companies jumping ship. However, a cloud infrastructure is no different from a datacentre. For instance, Azure guarantees an SLA of minimum 99.5%.
  • Data: hosting data in the cloud is a risk that many companies are not ready to take because it represents their most valuable asset. By using desensitised data for your testing removes this impediment.
  • Security: Azure is a public cloud and the perception is that anyone can access the environments. However, you can control who accesses what. For instance, IaaS and PaaS that are deployed within a virtual network can be connected through the private peering domain. By using an ExpressRoute connectivity with your private network, you will have a secure private connection with cloud assets that are only accessible to your company.

Summary

With some much potential, cloud solutions are here to stay. Cloud testing provides a cost‑effective solution that does not lock down your CAPEX. Even if your company has not started using cloud services, it probably won’t be long before they realise that the risk is lower than the breadth of advantages it provides. Microsoft also offer a great way of trying before you buy via the free Azure time you get with an MSDN subscription. This is a monthly, use it or lose it, fixed amount of time that can be used as you please. A perfect way to dip your toes in the water before you get your head in the cloud.

This article was first written by Mr.Valéry Raulet, Chief Technology Officer at Testhouse, and appeared in the July 2016 issue of the Test Magazine.