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 Summit 2013 | India - Running High Churn Development & Test Environments, Amit Sharma

933 views

Published on

The flexible and pay-as-you-go nature of AWS means that developers can spin up compute resources quickly and shut them down when not required. Learn about rapid deployment of applications to AWS as part of your development and testing cycle. Development and testing are a resource hungry function that requires numerous environments and the AWS Cloud allows you create these environments quickly. Hear about real-world examples of our existing customers that have benefited from using AWS for their development and testing.

Published in: Technology, Business
  • Be the first to comment

AWS Summit 2013 | India - Running High Churn Development & Test Environments, Amit Sharma

  1. 1. Amit Sharma Solutions Architect Running High Churn Development & Test Environments
  2. 2. Agenda • Why development and test • Requirements of a development and test environment • Why AWS for development and test? – Services that can be employed • How customers use AWS for Development and test
  3. 3. Are we like this…. ? I don’t always test my code…. But when I do, I test in Production.
  4. 4. Have you ever faced this? I want more machines to test… My code needs different platform to test… Dev servers are not powerful enough… Dev Servers are not budgeted… Server Delivery will take 8 weeks…
  5. 5. Why Development and testing Race against competition Innovate. Fast. Really Fast.
  6. 6. Test. Test. Test. Develop. Prototype. Iterate. Optimize. Why Development and testing
  7. 7. amazon.com, 1995 Why Development and testing
  8. 8. Why Development and testing amazon.com, Today
  9. 9. Development and Testing « Want to increase innovation? Lower the cost of failure » • Joi Ito Japanese-American Entrepreneur and Director of MIT Media Lab But is it possible……..?
  10. 10. Challenges in traditional IT for development and test Upgrades Patching “IT spends 80% of its time and resources keeping the lights on” - Gartner
  11. 11. • Innovative Ideas • Experimentation Technology Re-usability Application Challenges in traditional IT for development and test Complex and numerous non-core decisionsComplex and numerous non-core decisions Lost Focus
  12. 12. Development and Test is resource hungry DEVELOPMENTAND TESTTEAMS NEED DISPOSABLE ENVIRONMENTS TO GIVETHEM THE SCALE THEYNEED DEVELOPMENTAND TESTTEAMS NEED NUMEROUS ENVIRONMENTS TO GIVETHEM THE SCALE THEYNEED
  13. 13. Development and Test is resource hungry • Projects stop and start frequently • Required for a short period of time • Different environments required for different software versions • Working off a fresh known state helps software quality DEVELOPMENTAND TESTTEAMS NEED DISPOSABLE ENVIRONMENTS TO GIVETHEM THE SCALE THEYNEED DEVELOPMENTAND TESTTEAMS NEED DISPOSABLE ENVIRONMENTS TO GIVETHEM THE SCALE THEYNEED
  14. 14. Development and Test is resource hungry • Many environments needed to support application development and test • Preservation of know configuration and releases • Overlapping development cycles DEVELOPMENTAND TESTTEAMS NEED NUMEROUS ENVIRONMENTS TO GIVETHEM THE SCALE THEYNEED
  15. 15. Accessible around the globe • Development teams are often split across continents • Secure access is required for all teams to a secure environment • The customer will often also need connectivity for final testing and acceptance
  16. 16. Development & Test =~ Experience
  17. 17. Development & test in the Cloud Requirement from Development & Test in the Cloud
  18. 18. Development & test in the Cloud Take lots of it when you need it Unlimited elastic capacity Requirements from Development & Test in the Cloud
  19. 19. Development & test in the Cloud Take lots of it when you need it Throw it away when you don’t Unlimited elastic capacity Cost optimization Requirements from Development & Test in the Cloud
  20. 20. Development & test in the Cloud Preserve it for future reference Take lots of it when you need it Throw it away when you don’t Unlimited elastic capacity Cost optimization Durable imaging & storage Requirements from Development & Test in the Cloud
  21. 21. Take lots of it when you need it • The elastic datacenter • Spinning up environments as you need them • Packaged applications • Development and test frameworks in AWS • Testing at scale • Rolling out to production
  22. 22. Take lots of it when you need it • The elastic datacenter • Spinning up environments as you need them • Packaged applications • Development and test frameworks in AWS • Testing at scale • Rolling out to production
  23. 23. Case study Vembu has many instances running on Amazon EC2 for various purposes such as Quality Assurance, Load Simulation, Functionality Testing and the, Staging and Production Environment for the Vembu Pro Online Backup Service. …uses Amazon EC2 for internal testing infrastructure to test StoreGrid software on scalable loads. - Sekar Vembu Founder
  24. 24. Golden Image – The Amazon Machine Image
  25. 25. Extend to Cloud with Amazon VPC…. The elastic data center
  26. 26. Grow as demand dictates…. The elastic data center
  27. 27. And turn it off when you are done The elastic data center
  28. 28. Take lots of it when you need it • The elastic datacenter • Spinning up environments as you need them • Packaged applications • Development and test frameworks in AWS • Testing at scale • Rolling out to production
  29. 29. With the time savings that the IT and development staffs obtain from the AWS solution, AWS gives us an overall cost benefit of about 30- 40%.” Less time to market translates to increased profitability and success. Case study “instantly replicate the whole setup on demand for testing by creating and destroying instances on demand for experimentation, thereby reducing the time to market.” - Charan Padmaraju CTO
  30. 30. AMIs, snapshots, boostrapping Using core AWS features to set up an environment to meet your needs Use console or enact through simple scripting Do it yourself CloudFormationBeanstalk Spinning up environments in a way that suits you
  31. 31. AMIs, snapshots, boostrapping Using core AWS features to set up an environment to meet your needs Use console or enact through simple scripting Managed standard containers Give development & test environments to developers direct from IDEs Configure containers to meet your needs through properties Do it yourself CloudFormationBeanstalk Spinning up environments in a way that suits you
  32. 32. AMIs, snapshots, boostrapping Using core AWS features to set up an environment to meet your needs Use console or enact through simple scripting Managed standard containers Give development & test environments to developers direct from IDEs Configure containers to meet your needs through properties Declaratively defined to your requirements Take full control of complex environments using Cloud Formation template language Generate environment specifications as you build software Do it yourself CloudFormationBeanstalk Spinning up environments in a way that suits you
  33. 33. AMIs, snapshots, boostrapping Using core AWS features to set up an environment to meet your needs Use console or enact through simple scripting Do it yourself CloudFormationBeanstalk Managed standard containers Give development & test environments to developers direct from IDEs Configure containers to meet your needs through properties Declaratively defined to your requirements Take full control of complex environments using Cloud Formation template language Generate environment specifications as you build software Spinning up environments in a way that suits you
  34. 34. Do it yourself CloudFormationBeanstalk Quickly deploy and manage apps in AWS... Spinning up environments in a way that suits you
  35. 35. Do it yourself CloudFormationBeanstalk …into a range of containers .Net PHP Java Python Node.js Ruby Spinning up environments in a way that suits you
  36. 36. Do it yourself CloudFormationBeanstalk …into a range of containers Spinning up environments in a way that suits you
  37. 37. Application package is deployed Do it yourself CloudFormationBeanstalk Spinning up environments in a way that suits you
  38. 38. Do it yourself CloudFormationBeanstalk Which creates the container in EC2 User Application Application Service HTTP Service Language Interpreter Operating System Host Spinning up environments in a way that suits you
  39. 39. Do it yourself CloudFormationBeanstalk Beanstalk takes care of the environment… Spinning up environments in a way that suits you
  40. 40. Do it yourself CloudFormationBeanstalk …and publishes your app under a CNAME Spinning up environments in a way that suits you
  41. 41. Do it yourself CloudFormationBeanstalk …with logs and app versions held in S3 Spinning up environments in a way that suits you
  42. 42. AMIs, snapshots, boostrapping Using core AWS features to set up an environment to meet your needs Use console or enact through simple scripting Declaratively defined to your requirements Take full control of complex environments using Cloud Formation template language Generate environment specifications as you build software Managed standard containers Give development & test environments to developers direct from IDEs Configure containers to meet your needs through properties Do it yourself CloudFormationBeanstalk Spinning up environments in a way that suits you
  43. 43. Template Procedural definition Create it programmatically Known configuration Store stack configuration in source control Collaboration Share templates with ease as just files Do it yourself CloudFormationBeanstalk The benefit of templated environments Parameter driven Dynamic and user-driven templates Spinning up environments in a way that suits you
  44. 44. Take lots of it when you need it • The elastic datacenter • Spinning up environments as you need them • Packaged applications • Development and test frameworks in AWS • Testing at scale • Rolling out to production
  45. 45. Packaged Applications
  46. 46. Certification of SAP Business Suite – ERP, CRM, SCM, BW and SAP HANA One, SAP Afaria Certification of SAP BusinessObjects business intelligence solutions and SAP Rapid Deployment Solutions (RDS) on Linux & Windows Server 2008 R2 Certification of SAP Business All-in-One on Linux & Windows Server 2008 R2 Certified database engines for production SAP deployments: MaxDB, DB2, MS SQL Server 2008 R2 http://aws.amazon.com/sap/ Packaged Applications
  47. 47. Microsoft Windows Server Amazon EC2 running Microsoft Windows Server (2003 R2, 2008, 2008 R2 and 2012) is a fast and dependable environment for deploying Windows and .NET-based applications to the AWS cloud. Microsoft SQL Server Amazon EC2 running Windows Server with SQL Server offers you the flexibility to run a database server for as much or as little time as you need. We offer Amazon EC2 with several versions of Microsoft SQL Server. License Mobility Microsoft License Mobility through Software Assurance allows Microsoft customers to use Microsoft Server application licenses that they already own on Amazon Web Services (AWS) without any additional Microsoft software license fees. Microsoft SharePoint Amazon EC2 running Windows Server is a secure and dependable environment for customers to quickly and cost effectively deploy Microsoft SharePoint Server. Packaged Applications
  48. 48. Take lots of it when you need it • The elastic datacenter • Spinning up environments as you need them • Packaged applications • Development and test frameworks in AWS • Testing at scale • Rolling out to production
  49. 49. Development and test frameworks on AWS Source control Leverage EC2 to run popular source control systems Project management Add integrated project management and issue tracking Workstations Enable standard build developer/test workstations Build servers Use EC2 horsepower to drive build servers and continuous integration
  50. 50. Development and Versioning Pattern on AWS – Pattern#1
  51. 51. Development and Versioning Pattern on AWS – Pattern#2
  52. 52. Take lots of it when you need it • The elastic datacenter • Spinning up environments as you need them • Packaged applications • Development and test frameworks in AWS • Testing at scale • Rolling out to production
  53. 53. Testing at scale Unit & regression Scale up and parallel run unit and regression plans in a fraction of the time Load & performance Utilize spot market for generating load and test how applications perform with auto- scaling A/B Run A/B scenario testing with replica stacks Security Create sandboxes for aggressive security testing
  54. 54. Testing at scale – Billing Flexibility 1 instance for 100 hours = 100 instances for 1 hour
  55. 55. Testing at scale – Billing Flexibility Small instance = $10
  56. 56. Testing at scale – A/B Testing
  57. 57. Testing at Scale – Load & Stress Testing Bees with Machine Guns
  58. 58. Testing at Scale – Load & Stress Testing EC2 Instance Contents Instances EC2 Instance Contents Amazon CloudWatch #1 Spawns #3 Monitors My App github.com/newsapps/beeswithmachineguns Bees with Machine Guns
  59. 59. Take lots of it when you need it • The elastic datacenter • Spinning up environments as you need them • Packaged applications • Development and test frameworks in AWS • Testing at scale • Rolling out to production
  60. 60. Rolling out to production Auto Scaling Group V1 Elastic Load Balancer Amazon Relational Database Service (RDS)
  61. 61. Rolling out to production Auto Scaling Group V1 Elastic Load Balancer Amazon Relational Database Service (RDS) Auto Scaling Group V2
  62. 62. Rolling out to production Auto Scaling Group V1 Elastic Load Balancer Amazon Relational Database Service (RDS) Auto Scaling Group V2
  63. 63. Rolling out to production Auto Scaling Group V1 Elastic Load Balancer Amazon Relational Database Service (RDS) Auto Scaling Group V2
  64. 64. Rolling out to production Elastic Load Balancer Amazon Relational Database Service (RDS) Auto Scaling Group V2
  65. 65. Rolling out to production
  66. 66. Development & test in the cloud Preserve it for future reference Take lots of it when you need it Throw it away when you don’t Unlimited elastic capacity Cost optimization Durable imaging & storage Requirements from Development & Test in the Cloud
  67. 67. "Building our enterprise cloud services for hotels on the AWS backbone has helped us dramatically reduce our development cycle, and it gives us the flexibility to quickly scale our infrastructure resources and manage the fast changing requirements of our current high growth rate." Case study “The company is also experiencing a fifty percent reduction in the cost of creating testing environments, compared to its previous cloud services provider.” - Prabhash Bhatnagar, HMS Infotech's founder
  68. 68. Throw it away when you don’t Unix/Linux instances start at $0.02/hour Pay as you go for compute power Low cost and flexibility Pay only for what you use, no up-front commitments or long-term contracts Use Cases: Applications with short term, spiky, or unpredictable workloads; Application development or testing On-demand instances 1- or 3-year terms Pay low up-front fee, receive significant hourly discount Low Cost / Predictability Helps ensure compute capacity is available when needed Use Cases: Applications with steady state or predictable usage Applications that require reserved capacity, including disaster recovery Reserved instances Bid on unused EC2 capacity Spot Price based on supply/demand, determined automatically Cost / Large Scale, dynamic workload handling Use Cases: Applications with flexible start and end times Applications only feasible at very low compute prices Spot instances Instance types
  69. 69. Throw it away when you don’t Turn it off when not in use 0 2 4 6 8 10 12 14 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Load Hour Daily CPU Load
  70. 70. Throw it away when you don’t Turn it off when not in use 0 2 4 6 8 10 12 14 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Load Hour Daily CPU Load 25% Savings
  71. 71. Throw it away when you don’t Turn it off when not in use 0 2 4 6 8 10 12 14 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Load Hour Auto-scaling by schedule Auto-scaling by schedule
  72. 72. Development & test in the cloud Preserve it for future reference Take lots of it when you need it Throw it away when you don’t Unlimited elastic capacity Cost optimization Durable imaging & storage Requirements from Development & Test in the Cloud
  73. 73. Disposable environments can be recreated Preserve critical configurations
  74. 74. Disposable environments can be recreated Preserve critical configurations AMIs Create a catalog of AMIs for each iteration of an application Stored in S3
  75. 75. Disposable environments can be recreated Preserve critical configurations AMIs Create a catalog of AMIs for each iteration of an application Stored in S3 Snapshots Save disk images with ‘frozen’ data sets and attach to instances when needed
  76. 76. Disposable environments can be recreated Preserve critical configurations AMIs Create a catalog of AMIs for each iteration of an application Stored in S3 Snapshots Save disk images with ‘frozen’ data sets and attach to instances when needed Templates Source control infrastructure templates with every application version
  77. 77. Disposable environments can be recreated Preserve critical configurations AMIs Create a catalog of AMIs for each iteration of an application Stored in S3 Snapshots Save disk images with ‘frozen’ data sets and attach to instances when needed Templates Source control infrastructure templates with every application version Roll back and recreate an environment for any given application version
  78. 78. Until Rajani develops your code…. Use AWS  to test it
  79. 79. Summary
  80. 80. The cloud makes development & test easy You can make extensive savings by leveraging elasticity Provides unique toolsets to help you create and manage environments Let’s you perform at scale and agility beyond traditional physical environments

×