Journey Through the AWS Cloud; Development and Test
-
Upload
amazon-web-services -
Category
Technology
-
view
7.208 -
download
8
description
Transcript of Journey Through the AWS Cloud; Development and Test
Journey through the Cloud:
Development & Test
Ryan Shuttleworth – Technical Evangelist @ryanAWS
Common use cases & stepping stones into the AWS cloud Learning from customer journeys
Best practices to bootstrap your projects
Journey through the cloud
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
Why AWS for development & test? AWS services that can be employed Common dev-test patterns Where to go next
Agenda
Why AWS for development & test?
SaaS
Mobile
applications
Test environments
Performance
Load
Functional
Continuous
Business
applications User
Integration
Unit
endurance
Agile
Common traits
Disposable Numerous
Disposable Numerous
Projects start and stop frequently Required for short period of time Golden masters preferred
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
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
Development & test in the cloud
Development & test in the cloud
Take lots of it when you need it Unlimited elastic capacity
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
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
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
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
Freeze dried essentials…
Custom building block
Generic image
Extend on-premise environments…
with Amazon VPC…
Populate as demand dictates…
Connect over dedicated links…
And turn it off when you are done
Preserve it for future reference
Take lots of it when you need it
Throw it away when you don’t
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
“…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
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
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
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
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
Quickly deploy and manage apps in AWS…
Do it yourself CloudFormation Beanstalk
…into a range of containers
.Net PHP
Java Python
Do it yourself CloudFormation Beanstalk
Application package is deployed into Beanstalk
Do it yourself CloudFormation Beanstalk
User Application
Application Service
HTTP Service
Language Interpreter
Operating System
Host
Which creates the container in EC2
Do it yourself CloudFormation Beanstalk
Beanstalk takes care of the environment…
Do it yourself CloudFormation Beanstalk
…adding Elastic Load Balancer…
Do it yourself CloudFormation Beanstalk
…Auto Scaling groups
Do it yourself CloudFormation Beanstalk
…and launching instances
Do it yourself CloudFormation Beanstalk
…all wired into the Beanstalk framework
Do it yourself CloudFormation Beanstalk
…and published under a CNAME
Do it yourself CloudFormation Beanstalk
…with logs and app versions held in S3
Do it yourself CloudFormation Beanstalk
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
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
The benefit of templated environments
Template
Procedural definition Create it programmatically
Do it yourself CloudFormation Beanstalk
The benefit of templated environments
Template
Procedural definition Create it programmatically
Known configuration Store stack configuration in source control
Do it yourself CloudFormation Beanstalk
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
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
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
Ease the infrastructure burden when rolling out and testing upgrades/modifications
Packaged applications
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/
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.
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
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
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
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
1 instance for 100 hours =
100 instances for 1 hour
Small instance = $8
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
Auto Scaling
Group
V1
Elastic
Load
Balancer
Amazon
Relational
Database Service
(RDS)
Auto Scaling
Group
V1
Auto Scaling
Group
V2
Elastic
Load
Balancer
Amazon
Relational
Database Service
(RDS)
Auto Scaling
Group
V1
Auto Scaling
Group
V2
Elastic
Load
Balancer
Amazon
Relational
Database Service
(RDS)
Auto Scaling
Group
V1
Auto Scaling
Group
V2
Elastic
Load
Balancer
Amazon
Relational
Database Service
(RDS)
Auto Scaling
Group
V2
Elastic
Load
Balancer
Amazon
Relational
Database Service
(RDS)
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
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
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
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
Lo
ad
Hour
Daily CPU Load
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
Lo
ad
Hour
Daily CPU Load
25% Savings
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
Lo
ad
Hour
Turn it off when not in use
Auto-scaling by schedule
Auto-scaling by schedule
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
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
Dispose for cost optimization, but preserve critical configurations
Disposable environments can be recreated
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
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
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
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
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 Krebbers
Vice President of Architecture
The Story The Benefits
Where to go next
http://aws.typepad.com
http://aws.amazon.com/whitepapers
Summary
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
aws.amazon.com get started on the free tier