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