Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

AWS Office Hours: Dev and Test


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

AWS Office Hours: Dev and Test

  1. 1. AWS Office Hours – Dev and Test<br />Jeff Barr – Senior Web Services Evangelist<br /><br />@jeffbarr<br />
  2. 2. Introduction<br />Jeff Barr, Sr. Evangelist<br />Based in Seattle<br />Author of “Host Your Web Site in the Cloud”<br />
  3. 3. Office Hours IS<br />Simply, Office Hours is a program the enables a technical audience the ability to interact with AWS technical experts.<br />We look to improve this program by soliciting feedback from Office Hours attendees. Please let us know what you would like to see.<br />
  4. 4. Office Hours is NOT<br />Support<br />If you have a problem with your current deployment please visit our forums or our support website<br />A place to find out about upcoming services<br />We do not typically disclose information about our services until they are available.<br />
  5. 5. Agenda<br />Technical Briefing<br />Question and Answer <br />Please begin submitting questions now<br />
  6. 6. Development and Test in the Cloud<br />
  7. 7. Development in the Cloud<br />Spin up EC2 instances on demand<br />Launch new projects<br />Accommodate changes in staffing<br />Run dev environment only during working day<br />Parallel / distributed builds on large code bases<br />Repeatable build process for environment<br />AMIs<br />Puppet or Chef<br />CloudFormation<br />
  8. 8. Development – Why This Wins<br />Full control of versions:<br />Code<br />OS<br />Development tools<br />Middleware<br />Build integrity<br />Every developer builds from the same “gold disks”<br />Stability<br />No dirty (hand-patched) systems<br />
  9. 9. Continuous Integration<br />Spin up instances for testing as needed<br />Use RDS and EBS snapshots<br />Commercial and open source CI tools:<br />Bamboo<br />Jenkins<br />Apache Continuum<br />
  10. 10. Testing - Overview<br />Load<br />Does the app have the desired performance?<br />Can the app scale as needed?<br />Compatibility<br />Does the app work in the target environment(s)?<br />OS, middleware, browser<br />Regression<br />Did a code change break the app?<br />
  11. 11. Load Testing<br />Test real application and infrastructure<br />Can the application perform under load?<br />What are the scaling characteristics?<br />Where are the bottlenecks?<br />What are the resource (CPU, RAM, disk, I/O) needs?<br />Load Testing As a Service:<br />SOASTA<br />CapCal<br />BrowserMob<br />
  12. 12. Compatibility Testing<br />Vary:<br />Application version<br />OS type<br />OS Version<br />Middleware version<br />DB type<br />DB version<br />Use EC2 Spot Instances<br />Test at lowest possible cost<br />Vary pricing based on scenario priority<br />
  13. 13. Combinatorial Explosion<br />3.0<br />5.5.8<br />Linux<br />2.6.37<br />MySQL<br />5.1.57<br />2.6.33<br />5.1.45<br />Standard Edition<br />Oracle Database<br /><br />2008 R2<br />Enterprise Edition<br />Windows<br />SQL Server<br />2008<br />
  14. 14. Recommendations<br />System build process<br />AMIs to launch instances (no hand configuration)<br />Treat system configuration as code<br />Reproducible test environments:<br />EBS and RDS snapshots for test data<br />Create DB Instances on demand<br />Use CloudFormation to launch stacks<br />Source code control for all configuration data<br />
  15. 15. Discussion / Q & A<br />
  16. 16. Thanks!<br />