June 2009 Monthly Meeting Summary
Automated Testing Strategies Using Cloud Computing - presentation by David Hodge, Lucid Technics
Cloud Computing is gaining momentum from startups to the Government. There is a lot of hype but understanding how to leverage cloud computing can improve your testing and reduce overall costs for your project or company. This presentation will provide an introduction to Cloud Computing and how we can leverage it to automate testing.
David Hodge is a Partner and Software Architect at Lucid Technics www.lucidtechnics.com focusing on enterprise software development using the JVM. Co-creator of the open source code generator Hannibal. Mr. Hodge is a Certified Scrum Master and helps software development teams become more agile.
Took place on: Wed. June 3 2009 6:30 PM
There was initial discussion of what Cloud Computing is, who provides it, and
how does it work. Much of the discussion centered on Amazon's cloud computing services.
There was also much discussion of possible uses in testing and test automation.
- Some current providers include MS Azure, Google AppEngine, Amazon, VMWare, and Sun.
- Some organizations build/purchase/reserve private clouds.
- Amazon's Elastic Block Store (EBS) is block level storage used with Amazon EC2 instances (cloud 'units').
EC2 is Amazon's cloud management/infrastrucure app. EBS volumes provide storage separate from the EC2 instance and can be attached to a an EC2 instance
as a device within the EC2 instance. Example uses would include apps that require a database,
file system, etc.
- There was discussion that EBS would be useful for storing a snapshot of a test environment and
restore of the test environment, or create mutliple mirror test environments, on demand, in a known state.
Other uses for testing would be when isolated test environments are needed; when environments are needed
for experimentation or testing of new versions or alternate vendors of apps in sxtack, etc.
- The Amazon ECU - computing unit equates to a CPU of capacity 1-1.2 GHz 2007 Opteron or Xenon processor and is essentially a unit of performance/capacity.
- Costs can be generally estimated as $0.10 per CU per hour
- Security issues were discussed. Amazon was said to provide an X509 certificate; the user can open or close ports as desired; all closed
by default; other issues were discussed.
- Windows cloud EC2 instances were reportedly about 20-30% more expensive; users can remote desktop in to such instances
- CloudWatch is an application to manage large collections of cloud instances.
- It was mentioned that 80% of cloud instances were for malicious purposes or porn and that the vendors monitor this.
- The Elastic Fox cloud management tool reportedly allows notes and information re each of your instances; Amazon's console does not.
- Eucalyptus is an open source (there is a commercial version too) cloud management/infrastructure app.
Presentation Summary provided by speaker:
* There is a lot of hype surrounding Cloud Computing and thus confusion of what it really means - see Gartner Hype Cycle
* NIST has come up with a working definition for cloud computing, stating it has the following characteristics:
-On Demand self-service
-Ubiquitous network access
-Location independent resource pooling
* Cloud Computing can turn your infrastructure into a utility that is easier to manage and less costly
* There are several Cloud Computing providers such as Microsoft, VMWare, Sun, and Amazon
* Private Clouds exist internally within an organization and Public Clouds are accessible anywhere
* Testing Environments are usually an afterthought on projects and face challenges:
-Difficult to provision servers
-If created in shared environment can interfere with development environments
* Cloud Computing can help automate processes remember the DRY principle
* Testing Strategies for Cloud Computing
-Create a library of testing environments and save them for reuse (Production, Test, Staging, Smoke Tests, etc)
-Create snapshots of data for different environments or testing scenarios
-Use library and data snapshots to create isolated test environment per project, team, or tester
-Use Cloud Computing to create experimental environments to test new software, configurations, etc.
* Amazon's Elastic Computing Cloud (EC2), Elastic Block Storage (EBS), and Simple Storage Service (S3) give you the building blocks for creating Automated Test Environments
NoVaTAIG Home Page
Copyright 2009 Northern Virginia Test Automation Interest Group
Test Automation Interest Group