This document discusses how AWS can benefit development and testing processes. It outlines how AWS provides on-demand, low-cost compute resources that enable developers to easily scale environments up and down. This improves agility and time-to-market compared to traditional on-premise processes. QA teams can also perform full-scale testing at low cost on AWS to test systems under various conditions. Overall, AWS allows for innovation and agility by providing flexible, automatable infrastructure on demand.
1. Development and Test on AWS
Larry Pizette | pizette@amazon.com
Solutions Architects Manager
October 10, 2012
2. Cloud Computing Benefits for Dev and Test
No Up-Front Pay Only for
Low Cost What You Use
Capital Expense
Self-Service Easily Scale Up Improve Agility &
Infrastructure and Down Time-to-Market
Deploy
3. Need for Compute Resources
Development Config/Build/Project Mgt Quality Assurance
Individual developer Multiple concurrent build In-process functional
environments environments/continuous testing
Integration capabilities integration In-process bug fixes
Supporting resources Defect tracking In process volume,
Artifact storage and throughput testing
versioning In-process UAT testing
(e.g., designs, test plans) In process customer-
Project plans specific testing
AWS Public Sector Summit 2012: Achieving Success in the Cloud
4. Common on-premise Process for
Obtaining Environments (1 of 2)
• Procure/obtain development environments
• Procure/obtain configuration management and
build environments
• Procure/obtain test environments
– Version ‘under test’ needs to be scheduled.
Concurrent environments difficult.
– Environments for load and throughput tests need to
be planned long in advance
AWS Public Sector Summit 2012: Achieving Success in the Cloud
5. Common On-premise Process for
Obtaining Environments (2 of 2)
• Side effects
– Integration testing, load testing, and throughput
testing done late in process
– Scheduling of compute resources impacts
schedule and constrains development and test
activities
AWS Public Sector Summit 2012: Achieving Success in the Cloud
6. Enable Developers (1 of 2)
• On-demand development environments
• AMIs to instantiate saved EC2 instances
• Save work-in-progress on EBS and snapshot to S3
• Ability to replicate full integration environment at
very low costs for additional testing to answer
the question, ‘Will my code work?’
• Cloud enables collaboration across organizations
AWS Public Sector Summit 2012: Achieving Success in the Cloud
7. Enable Developers (2 of 2)
• Access control (e.g., IAM, security groups) provides
developers with appropriate access
• Tools to automate the use of AWS. Examples:
– Eclipse plug-in
– Visual Studio plug-in
• SDKs
– Java, .NET, PHP, Ruby, Android, iOS
– Sample code
– Libraries
– Documentation
– Updated with new features (e.g., IAM Roles)
AWS Public Sector Summit 2012: Achieving Success in the Cloud
8. Example: Eclipse Plug-in with Java SDK
AWS Public Sector Summit 2012: Achieving Success in the Cloud
9. Enable Horizontally Scalable, Highly
Available Applications
• Cloud computing revolution also about a
fundamentally new application architecture
– A new way to deliver highly available applications
– Horizontal scaling
– Assume that software nodes will fail, and build a
distributed system that keeps running…
– Build and deploy a system for which there is zero
intended downtime
AWS Public Sector Summit 2012: Achieving Success in the Cloud
10. Config/Build/Project Management
• EBS with S3 snapshots provide robust repositories
– Source code and build dependencies
– Project artifacts (e.g., requirements, designs, test plans)
– Project management systems (e.g., Gantt charts, defect tracking)
• Software build process may require significant compute resources
– Elastic ability to scale environments for software builds
– Ability to support continuous integration
• On-demand environments for automated regression testing of builds
• Access control (e.g., IAM, security groups) provide build, configuration,
and project managers with appropriate access
AWS Public Sector Summit 2012: Achieving Success in the Cloud
11. Empower QA
• Full flexibility to control versions ‘in test’
– Side-by-side deployment of different versions of each system
tier on scaled-out (virtual) machines
• Ability to do full-scale testing without high cost (practically
impossible to do on-prem with a large system)
• AMIs to instantiate saved configurations
• CloudFormation to deploy systems in AWS
• ELB with autoscaling to support load and volume tests
• CloudWatch to monitor vital statistics of usage
• QA controls access to their environments (e.g., IAM)
AWS Public Sector Summit 2012: Achieving Success in the Cloud
12. Conclusion
• Low cost environments on-demand enable innovation
and agility
• Scale-out architectures enabled by cloud computing
• Powerful new tools to meet today’s challenges
– Basically unlimited, flexible, automatable infrastructure
available ‘for rent’ anytime
– Using the cloud to test the cloud
• Exciting new era for development and test in the world of
information technology
AWS Public Sector Summit 2012: Achieving Success in the Cloud