journey through the aws cloud; development and test

Post on 24-Jan-2015

7.209 Views

Category:

Technology

8 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

top related