Microsoft's Azure Load Testing has become generally available this week, offering development teams a fully managed service to validate the performance, scalability and quality of applications and services. This release, accessed within the Azure portal, includes new features such as quick test creation and supports Apache JMeter capabilities.
Azure Load Testing, first made available for public preview in November 2021, offers a suite of features that can help teams optimize infrastructure and enable advanced load testing scenarios, which can simulate high levels of traffic or user activity on an application, database or network. This isn't the first time Microsoft has offered a cloud-based testing service; the now-defunct Azure DevOps cloud-based load testing service officially retired in April 2021.
Load testing helps determine the system's ability to handle many concurrent users. By catching issues earlier in the development process, teams can save time and resources, ensuring applications and services are production ready, according to Microsoft.
This is a good move by Microsoft, said Holger Mueller, an analyst at Constellation Research. Load testing is important because developers need to know how well their software can scale, in part to reign in cloud costs. Load testing has also become more complex thanks to the public cloud because developers and testers don't have access to the machines they test code on, Mueller said.
"So the offering needs to come from the cloud provider," he said.
Finding scalability problems as soon as possible also avoids a negative user experience after deployment, said Larry Carvalho, principal consultant at RobustCloud.
In addition, the cost of running load testing may be an issue for developers working on a budget, he said. Plus, the added step could increase the time to deployment. An alternative is to run A/B testing with embedded scripts for feedback in the same environment, where the production version of the application is running so that developers can make an apples-to-apples comparison.
"This will accomplish the same result at a lower cost without slowing the development lifecycle," Carvalho said.
New capabilities added to Azure Load Testing
One of the new features, quick test creation, lets users create a load test for a URL without an Apache JMeter script in less than five minutes. Developers can quickly create a webpage load test by pasting a URL into the quick test or by uploading existing Apache JMeter test script. JMeter, a popular open source load and performance tool, gives developers more functionality such as the ability to process CSV input data in parallel across more than one test engine.
Azure Load Testing also supports user-specified JMeter properties and splitting input data across multiple test engines. Additionally, the service now supports authentication with client certificates, on-premises applications or private application endpoints, system- and user-assigned managed identities, and customer-managed keys.
Developers can select a private Azure Virtual Network (VNet) from a drop-down menu in the Create Test window. This private VNet injection lets teams securely push code to dev test environments or pre-production and segment out other environments so that production isn't affected, said April Edwards, senior cloud developer advocate at Microsoft, in a YouTube video.
Pass or fail criteria metrics and engine health metrics, which help developers understand test engine performance during the run, are also now available in the Azure Load Testing suite of features.
Azure Load Testing is now Health Information Trust Alliance (HITRUST) certified and available in 11 regions. A customer in the U.S. can expect to pay $10 per month for 50 Virtual User Hours (VUH) with an additional cost of between $0.15 and $0.075 per additional VUH. However, pricing varies depending on factors such as currency exchange rate, type of agreement entered with Microsoft and date of purchase, according to Microsoft.
Azure Load Testing is geared toward Microsoft Azure customers. But enterprises can consider other options for load testing such as Apache JMeter or commercially available tools such as LoadRunner; NeoLoad, which supports Google Web Toolkit; and K6 from Grafana Labs, which tests Kubernetes objects.