The cloud has allowed modern, web-scale IT companies, like Airbnb and Netflix, to grow and flourish into booming enterprises all over the web. With its flexibility and efficiency, it supports the demand of an organization’s growth from zero to millions of users, allowing them to prepare for this potential growth, as well. Before the cloud, simulating millions of concurrent users and running scalability, stress, or stability tests was very hard to implement, if not impossible. Cloud technology has brought software testing, especially performance testing, to a whole new playing field.
Load Testing without the Cloud
Traditional approaches to load testing include running tests in a scaled down environment, meaning only test samples can be done using spare or unused compute capacity. Another option requires companies to purchase many servers to demonstrate their expected environments, only to be left with unnecessary and expensive “irons” after testing is complete. These options are not effective, nor do they make financial sense.
Unlike functional tests, performance tests are complex and have expensive infrastructure configurations. As a result, organizations often compromise on test quality and end up oversizing production in order to eliminate the risks of an unexpected load.
Load Testing and the Cloud Go Hand in Hand
Development and test environments are known to account for more than 50% of an IT organization’s environment and, as such, need to be maintained efficiently. The cloud enables this efficiency by allowing companies to replicate their environments to run tests, or to run their environments for a designated period of time in order to develop a feature. Resources aren’t wasted since they can be very easily shut down or allocated to different tasks. Use-cases of load testing in the cloud are useful for cloud native web-scale applications, as well as enterprises.
It is only natural for web-scale environments to be load tested in the cloud. Contrary to traditional testing methods, load tests enable whole production environments to be replicated, no matter the amount of servers (or compute resources), without compromising test quality. In addition, hardware doesn’t have to be taken into consideration when the public cloud is used.
Enterprise CIOs should gradually adopt this new IT environment and their first move should entail testing and development in the cloud. Due to traditional capacity limitations, load testing might be the ultimate first use-case. Enterprises today strive to use a hybrid cloud configuration to support environment replication, so that they have the option of “bursting out” to the public cloud when there is a need to do so. The option to create an exact replica of a production environment generates a higher level of certainty when an enterprise needs to define and commit to strict SLAs.
BlazeMeter, a new player in the software industry, serves as a great example of a platform that uses the public cloud for application performance testing, from modern, scalable applications to enterprises. BlazeMeter compliments the open source load testing software, JMeter, to offer more features for enterprises and aid in out of the box load testing.
BlazeMeter provides a modern UI and tools that simplify load tests. For example, their FollowMe Google Chrome extension can be used to record a workflow (e.g. a user’s think time) and configure test parameters using its simple UI, generating the JMeter template that can be used to run the test.
Allowing for endless scale and the support of millions of users at any given time proves that the cloud is the best choice for companies that have the hopes of growing exponentially into the next giant web or mobile application. In an online reality, it’s almost impossible to accomplish what the cloud achieves with conventional methods, and using the cloud to perform load tests grants companies opportunities that wouldn’t have been previously feasible.
Cross posted on IamOnDemand blog