The second in our 'Journey' series of webinars, this complimentary presentation discusses the use of AWS as a development and test environment. The flexible and pay as you go nature of AWS makes it perfect for compute environments that need to be spun up quickly and disposed of when not needed, and placing this power at the fingertips of developers means you can make step changes in productivity as you progress applications through the dev/test cycle
Journey Through the AWS Cloud; Development and Test
1. Journey through the Cloud:
Development & Test
Ryan Shuttleworth – Technical Evangelist
@ryanAWS
2. Common use cases & stepping stones into the AWS cloud
Learning from customer journeys
Best practices to bootstrap your projects
Journey through the cloud
3. Explore AWS benefits with a ‘non-production’ use case
Create agility in development & test whilst ‘learning cloud’
Exercise elasticity and automation to real advantage
Development & test
4. Why AWS for development & test?
AWS services that can be employed
Common dev-test patterns
Where to go next
Agenda
9. Disposable Numerous
Projects start and stop frequently
Required for short period of time
Golden masters preferred
Many environments support an app
Preservation of known configurations
Overlapping development cycles
10. Projects start and stop frequently
Required for short period of time
Golden masters preferred
Many environments support an app
Preservation of known configurations
Overlapping development cycles
Development & test in the cloud
12. Development & test in the cloud
Take lots of it when you need it
Unlimited elastic capacity
13. 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
14. 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
15. 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
Take lots of it when you need it
16. 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
Take lots of it when you need it
23. Preserve it for future reference
Take lots of it when you need it
Throw it away when you don’t
24. 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
Take lots of it when you need it
25. “…AWS seemed to be the best solution
available to allow a small, independent
company to rapidly develop and test a
completely new infrastructure, and host it.
We also loved the flexibility that AWS
allowed us, when spinning up smaller test
environments, for beta trials, QA,
localization, and during development. The
low initial cost was also crucial.”
Alex Evans, CTO
26. Spinning up environments in a way that suits you
Do it yourself CloudFormation
Beanstalk
AMIs, snapshots,
boostrapping
Using core AWS features to set
up an environment to meet your
needs
Use console or enact through
simple scripting
27. Spinning up environments in a way that suits you
Do it yourself CloudFormation
Beanstalk
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
28. Spinning up environments in a way that suits you
Do it yourself CloudFormation
Beanstalk
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
29. Spinning up environments in a way that suits you
Do it yourself CloudFormation
Beanstalk
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
30. Quickly deploy and manage apps in AWS…
Do it yourself CloudFormation
Beanstalk
31. …into a range of containers
.Net
PHP
Java
Python
Do it yourself CloudFormation
Beanstalk
33. User Application
Application Service
HTTP Service
Language Interpreter
Operating System
Host
Which creates the container in EC2
Do it yourself CloudFormation
Beanstalk
34. Beanstalk takes care of the environment…
Do it yourself CloudFormation
Beanstalk
40. …with logs and app versions held in S3
Do it yourself CloudFormation
Beanstalk
41. Spinning up environments in a way that suits you
Do it yourself CloudFormation
Beanstalk
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
42. CloudFormation components & terminology
Template
CloudFormation
Stack
JSON formatted file
Parameter definition
Resource creation
Configuration actions
Configured AWS services
Comprehensive service support
Service event aware
Customisable
Framework
Stack creation
Stack updates
Error detection and rollback
Do it yourself CloudFormation
Beanstalk
43. The benefit of templated environments
Template
Procedural definition
Create it programmatically
Do it yourself CloudFormation
Beanstalk
44. The benefit of templated environments
Template
Procedural definition
Create it programmatically
Known configuration
Store stack configuration in
source control
Do it yourself CloudFormation
Beanstalk
45. The benefit of templated environments
Template
Procedural definition
Create it programmatically
Known configuration
Store stack configuration in
source control
Parameter driven
Dynamic and user-driven
templates
Do it yourself CloudFormation
Beanstalk
46. The benefit of templated environments
Template
Procedural definition
Create it programmatically
Known configuration
Store stack configuration in
source control
Parameter driven
Dynamic and user-driven
templates
Collaboration
Share templates with ease as
just files
Do it yourself CloudFormation
Beanstalk
47.
48. 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
Take lots of it when you need it
49. Ease the infrastructure burden when rolling out and testing upgrades/modifications
Packaged applications
50. 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/
51. Platform and application
templates now available
Reduce implementation times from
days to minutes and include Oracle
Enterprise Linux, Oracle Database
11gR2, Oracle E-Business Suite,
Oracle JD Edwards Enterprise One,
and Oracle PeopleSoft.
52. 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
Take lots of it when you need it
53. AWS is open and flexible – build your dev-test systems
Frameworks & environments
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
54.
55.
56.
57. 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
Take lots of it when you need it
58. Create environments to support specific test types
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
62. 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
Take lots of it when you need it
69. 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
70. 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
71. 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
72. 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
Turn it off when not in use
73. 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
Turn it off when not in use
74. 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
Turn it off when not in use
Auto-scaling
by schedule
Auto-scaling
by schedule
75.
76. 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
77. 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
78. Dispose for cost optimization, but preserve critical configurations
Disposable environments can be recreated
79. Dispose for cost optimization, but preserve critical configurations
Disposable environments can be recreated
AMIs
Create a catalog of AMIs for
each iteration of an application
Stored in S3
80. Dispose for cost optimization, but preserve critical configurations
Disposable environments can be recreated
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
81. Dispose for cost optimization, but preserve critical configurations
Disposable environments can be recreated
AMIs
Create a catalog of AMIs for
each iteration of an application
Stored in S3
Templates
Source control infrastructure
templates with every
application version
Snapshots
Save disk images with ‘frozen’
data sets and attach to instances
when needed
82. Dispose for cost optimization, but preserve critical configurations
Disposable environments can be recreated
AMIs
Create a catalog of AMIs for
each iteration of an application
Stored in S3
Templates
Source control infrastructure
templates with every
application version
Snapshots
Save disk images with ‘frozen’
data sets and attach to instances
when needed
Roll back and recreate an environment for any given application version
83. No minimum commitment up front and pay per use
brings significant savings
Fast provisioning within minutes for many
applications
Elasticity – the ability to expand and contract IT
infrastructure as needed
Global oil and gas company
Using AWS since 2010
Operationalising their cloud strategy
Shell Foundation Platform – an IT framework – is
AWS approved
Core operational applications running in production
on AWS
Development and test environments running on
AWS
“The AWS Cloud brings business agility as Shell is
able to deploy services much more quickly”
Johan Krebers
Vice President of Architecture
The Story The Benefits
87. 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