Code-probing, not Angry Birds, will define cloud's success
No sex please we're testing
Open ... and Shut The cloud promises a new era of cost reduction and agility for IT, and enterprises are diving in (warning: PDF) to secure these benefits.
But the process for moving applications to the cloud can be messy, particularly for those companies that haven't battle-tested their applications to ensure they can run in the cloud at scale.
So, while it's easier to get excited about running Netflix in the cloud than to get excited about load-testing tools, it's the latter that may well be the killer app for a growing army of developers.
After all, who cares if you've developed the next Angry Birds if your app can't handle the load imposed by more than you and a few of your friends using it?
While there is a plethora of graphs and charts breaking down the life-cycle of the software development process (examples here, here, and here), at a very high level, they are basically similar: from idea to design and plan to build to test to release to analyse, update, and maintain. Simple, right?
And yet it’s amazing to think how much the cloud significantly affects the development life-cycle with respect to web application development. Infrastructure-as-a-Service (IaaS – examples include Amazon EC2, Rackspace Cloud, Google AppEngine, Windows Azure); Platform-as-a-Service (PaaS – examples include Cloud Foundry, OpenShift, Heroku); and Database-as-a-Service (DBaaS – examples include Xeround, Database.com, Amazon RDS) all provide huge promises and opportunities to make development more affordable, more efficient and the web applications themselves easier to tweak and consume.
The cloud also can provide advantages in the testing stage. Consider BlazeMeter, which has officially launched – announcing $1.2m in Series A funding from YL Ventures. BlazeMeter bills itself as an enterprise grade load-testing cloud based on the Apache JMeter open-source project.
For the sake of simplicity, think of load-testing as simulating thousands upon thousands of concurrent users along with other criteria (such as different geographies, for example) to make sure the web application doesn’t bog or break down under heavy usage. Load-testing makes perfect sense: nothing drives away users more quickly (and in today’s world, leads to negative tweets on Twitter) than web applications that crash, fail, bonk, etc.
Given the stakes, it's a small wonder that some, like John Gannon, argue that cloud-based load testing of cloud applications is one of the cloud's "killer apps". The cloud offers the ability to simulate middling to dramatic success. Want to know what will happen to your app when a million iPhones hit it? Cloud-based load-testing tools like BlazeMeter deliver that functionality.
Load-testing is not new – HP LoadRunner, Gomez, SOASTA are all market leaders in the space. BlazeMeter claims it is disruptive, however, because unlike these products BlazeMeter won’t break the bank and does not require professional service engagements to provide the same powerful load tests, largely thanks to open source (JMeter) and the cloud.
Designed for web application developers and Quality Assurance (QA) folks, BlazeMeter’s load-testing cloud service is priced at $8 per server hour and you can “try before you buy” with free load tests.
JMeter has been downloaded more than one million times in 2011, but according to BlazeMeter it can be challenging to use. The company has added improved reporting capabilities and result analysis and recommendations to make the open-source project easier and more sophisticated to use.
The company has attracted more than 100 paid customers and 1,500 registered users during its beta period, including InterCall, which runs 50,000 simultaneous user-tests each week.
There are other open-source load-testing projects, and even other JMeter-focused load-testing companies, with some big wins (warning: PDF). Beyond open source, there's a growing number of cloud-based load testing companies, with SOASTA perhaps foremost among them.
But BlazeMeter's open source approach, coupled with additional technology that rounds out and improves the JMeter project, may well give it an advantage in being able to sell a full-featured product at margin-busting pricing. Regardless of whether one uses BlazeMeter, or SOASTA, or something else, it's high time developers moved beyond the expensive, inefficient load-testing tools designed for a pre-cloud era. In a world where apps run in the cloud, load-testing tools should, too. ®
Matt Asay is senior vice president of business development at Nodeable, offering systems management for managing and analyzing cloud-based data. He was formerly SVP of biz dev at HTML5 start-up Strobe and chief operating officer of Ubuntu commercial operation Canonical. With more than a decade spent in open source, Asay served as Alfresco's general manager for the Americas and vice president of business development, and he helped put Novell on its open source track. Asay is an emeritus board member of the Open Source Initiative (OSI). His column, Open...and Shut, appears three times a week on The Register.