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.

Development and Test on AWS

11,952 views

Published on

The AWS Lunch and Learn Series with the topic of Development and Test on AWS

Published in: Technology
  • Be the first to comment

Development and Test on AWS

  1. 1. amazon web servicesLunch and Learn Series Development and Test On AWS
  2. 2. Please silence your phonesYour presenter:Joe Ziegler, zieglerj@amazon.comTechnical Evangelist @jiyosub [ House Keeping ] 2
  3. 3. • Relevant AWS Services• Source Control• Development Environments• Test• Agile Theory: Continuous Development, Integration & Deployment [ Our plan for today ] 3
  4. 4. • Relevant AWS Services• Source Control• Development Environments• Test• Agile Theory: Continuous Development, Integration & Deployment 4
  5. 5. Virtual Private Cloud 5
  6. 6. CloudFormation• Create application stack from a reusable template• Declarative specification• Creates resources in dependency-driven order• Complete console support• Predefined templates
  7. 7. Amazon API & SDKs 7
  8. 8. • Relevant AWS Services• Source Control• Development Environments• Test• Agile Theory: Continuous Development, Integration & Deployment 8
  9. 9. Running Source in AWS• Secure • Accessible• Scale Vertically • Durable• Reusable 9
  10. 10. Self Managed Source Control• Self Installed EC2 Instance• Use Community AMIs• AWS Marketplace 10
  11. 11. • Relevant AWS Services• Source Control• Development Environments• Test• Agile Theory: Continuous Development, Integration & Deployment 11
  12. 12. Development Environment via CloudFormation• Virtual Private Cloud (VPC)• Template Related Resources• Integrate with Configuration Management Tools (Puppet & Chef)• Provide CloudFormation Templates Internally to Developers• RDS Example VPC Example 12
  13. 13. Replicating Production Environments in Development Why How• Accurate Performance • Adopt Infrastructure as Testing Code Strategy• Empower Developers to • Leverage AWS APIs Experiment • Utilise Amazon• Production Debugging Relational Database• Improved Code Quality Service (RDS) and Point in Time Snapshots 13
  14. 14. • Relevant AWS Services• Source Control• Development Environments• Test• Agile Theory: Continuous Development, Integration & Deployment 14
  15. 15. Test Scenarios Unit Tests Smoke TestUser Acceptance Testing (UAT) Integration Test Load & Performance Test Blue / Green Test (A/B) 15
  16. 16. Automated Testing 16
  17. 17. Testing in the Cloud Unit Integration Functional Performanc e 17
  18. 18. Testing Approach• Use either an AMI or CloudFormation Template matching Production• Leverage Continuous Integration Server Pipeline (see next section)• Automate and repeat process using the AWS APIs 18
  19. 19. Load & Performance Test 19
  20. 20. Bees with Machine Guns #1 Spawns EC2 Instance Contents Instances My App #3 Monitors EC2 Instance Contents Amazon CloudWatch github.com/newsapps/beeswithmachineguns 20
  21. 21. Blue / Green Testing Blue Elastic Load Balancer InstancesMy App Auto scaling Group Green Amazon CloudWatch Instances Auto scaling Group 21
  22. 22. User Acceptance Testing• Quick Fast Deployments• Secure Isolated Environment• Utilise AWS Elastic Beanstalk AWS• Benefit from Elasticity Elastic Beanstalk 22
  23. 23. • Relevant AWS Services• Source Control• Development Environments• Test• Agile Theory: Continuous Development, Integration & Deployment 23
  24. 24. What is Agile?Optimising for rapid response to change High technical discipline Ruthless automation 24
  25. 25. Agile ConceptsContinuous IntegrationInfrastructure as code Continuous Delivery 25
  26. 26. Agile ConceptsContinuous IntegrationInfrastructure as code Continuous Delivery 26
  27. 27. Introduction 27
  28. 28. Prerequisites• Source control• CI server• Automated evaluation of “quality” 28
  29. 29. Jenkins Continuous Integration Server 29
  30. 30. Workflow 30
  31. 31. Agile ConceptsContinuous IntegrationInfrastructure as code Continuous Delivery 31
  32. 32. Infrastructure as Code “Programmatic provisioning by API”Everything in AWS is an API 32
  33. 33. Tool Box AMI Libraries and SDKs AMICloudFormation 33
  34. 34. Puppet1.declare configuration2.apply configuration3.(time passes)...4.verify configuration5.re-apply configuration6.if needed 34
  35. 35. Infrastructure as Code ☝Speed ☝Repeatability ☝Reliability ☟Risk 35
  36. 36. Activities 36
  37. 37. Agile ConceptsContinuous IntegrationInfrastructure as code Continuous Delivery 37
  38. 38. Prerequisitesconfidence ➡ codebaseconfidence ➡ environmentsmall batch sizesruthless automation 38
  39. 39. Advanced CI Pipeline 39
  40. 40. Demo 40
  41. 41. Successful Implementation 41
  42. 42. Next Steps• Talk to your Account Manager• Access our Solution Architects• Check out our Webinars and Pod Casts• Reference our SlideShare Presentations 42
  43. 43. Further Reading 43
  44. 44. Further Reading 44
  45. 45. Further Reading• http://puppetlabs.com• http://www.opscode.com/products/• http://github.com/newsapps/beeswithmachineguns• http://jenkins-ci.org/• http://www.exampler.com/ 45
  46. 46. Shameless Plug 46
  47. 47. amazon web serviceshttp://aws.amazon.com Joe Ziegler, Technical Evangelist zieglerj@amazon.com Please Fill out the @jiyosub Feedback Form 47

×