The premise of cloud computing is tantalizing: on-demand application availability, easy scalability according to user load, and by-the-drink pricing that avoids heavy up-front fees. It seems like this might be a natural fit for development and testing -- and I think it is.
To offer one example, a company I worked with needed to test application scalability under heavy user load. The test in question needed to run 100 simultaneous browser instances all generating significant traffic over a two-day period.
The old way would have been to scrounge up 100 machines from somewhere, manually install the operating system and software application stack, and then fire them off. A slightly newer way would be to encapsulate those 100 instances in virtual machines (VMs) and have the virtualization software fire them off. Depending on VM density, somewhere between five and 20 machines would be necessary for this, not to mention the virtualization software investment also required. And, with either alternative, at the end of the two days, you would have been left with unused hardware.
Instead, this company created 100 Amazon Elastic Compute Cloud (EC2) instances based on a single machine image stored in Amazon's S3 storage service (collectively referred to as Amazon Web Services, or AWS). It ran the browser-based test from the EC2 instances over a weekend; at the end of the test it destroyed all 100 EC2 instances. Total cost: $100.
With results like these, the question becomes, how can I best take advantage of this environment? Here are ways to take advantage of cloud computing to aid your development and test, ranging from simple to more complex; each successively more complex use of Amazon Web Services encompasses more of the entire development and test process, using automation to integrate the entire process while leveraging Amazon's cloud characteristics.
Using AWS for testing
To continue reading for free, register below or login
To read more you must become a member of SearchCloudComputing.com