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.
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. Are we like this…. ?
I don’t always test my code….
But when I do, I test in Production.
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. Why Development and testing
Race against competition
Innovate. Fast. Really Fast.
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. Challenges in traditional IT for development and test
Upgrades
Patching
“IT spends 80% of its time and resources keeping
the lights on” - Gartner
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. 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. 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. 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. 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
17. Development & test in the Cloud
Requirement from Development & Test in the Cloud
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. 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. 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. 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. 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. 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
27. And turn it off when you are done
The elastic data center
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. 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. 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. 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. 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. 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. Do it yourself CloudFormationBeanstalk
Quickly deploy and manage apps in AWS...
Spinning up environments in a way that suits you
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. Do it yourself CloudFormationBeanstalk
…into a range of containers
Spinning up environments in a way that suits you
37. Application package is deployed
Do it yourself CloudFormationBeanstalk
Spinning up environments in a way that suits you
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. Do it yourself CloudFormationBeanstalk
Beanstalk takes care of the environment…
Spinning up environments in a way that suits you
40. Do it yourself CloudFormationBeanstalk
…and publishes your app under a CNAME
Spinning up environments in a way that suits you
41. Do it yourself CloudFormationBeanstalk
…with logs and app versions held in S3
Spinning up environments in a way that suits you
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. 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. 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
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. 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. 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. 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
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. 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. Testing at scale – Billing Flexibility
1 instance for 100 hours
=
100 instances for 1 hour
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. 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. Rolling out to production
Auto Scaling
Group
V1
Elastic
Load
Balancer
Amazon
Relational
Database Service
(RDS)
61. Rolling out to production
Auto Scaling
Group
V1
Elastic
Load
Balancer
Amazon
Relational
Database Service
(RDS)
Auto Scaling
Group
V2
62. Rolling out to production
Auto Scaling
Group
V1
Elastic
Load
Balancer
Amazon
Relational
Database Service
(RDS)
Auto Scaling
Group
V2
63. Rolling out to production
Auto Scaling
Group
V1
Elastic
Load
Balancer
Amazon
Relational
Database Service
(RDS)
Auto Scaling
Group
V2
64. Rolling out to production
Elastic
Load
Balancer
Amazon
Relational
Database Service
(RDS)
Auto Scaling
Group
V2
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. "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. 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. 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. 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. 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. 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
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. 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. 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. 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
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