journey through the aws cloud; development and test

88
Journey through the Cloud: Development & Test Ryan Shuttleworth – Technical Evangelist @ryanAWS

Upload: amazon-web-services

Post on 24-Jan-2015

7.209 views

Category:

Technology


8 download

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

Page 1: Journey Through the AWS Cloud; Development and Test

Journey through the Cloud:

Development & Test

Ryan Shuttleworth – Technical Evangelist @ryanAWS

Page 2: Journey Through the AWS Cloud; Development and Test

Common use cases & stepping stones into the AWS cloud Learning from customer journeys

Best practices to bootstrap your projects

Journey through the cloud

Page 3: Journey Through the AWS Cloud; Development and Test

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

Page 4: Journey Through the AWS Cloud; Development and Test

Why AWS for development & test? AWS services that can be employed Common dev-test patterns Where to go next

Agenda

Page 5: Journey Through the AWS Cloud; Development and Test

Why AWS for development & test?

Page 6: Journey Through the AWS Cloud; Development and Test

SaaS

Mobile

applications

Test environments

Performance

Load

Functional

Continuous

Business

applications User

Integration

Unit

endurance

Agile

Page 7: Journey Through the AWS Cloud; Development and Test

Common traits

Disposable Numerous

Page 8: Journey Through the AWS Cloud; Development and Test

Disposable Numerous

Projects start and stop frequently Required for short period of time Golden masters preferred

Page 9: Journey Through the AWS Cloud; Development and Test

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

Page 10: Journey Through the AWS Cloud; Development and Test

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

Page 11: Journey Through the AWS Cloud; Development and Test

Development & test in the cloud

Page 12: Journey Through the AWS Cloud; Development and Test

Development & test in the cloud

Take lots of it when you need it Unlimited elastic capacity

Page 13: Journey Through the AWS Cloud; Development and Test

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

Page 14: Journey Through the AWS Cloud; Development and Test

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

Page 15: Journey Through the AWS Cloud; Development and Test

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

Page 16: Journey Through the AWS Cloud; Development and Test

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

Page 17: Journey Through the AWS Cloud; Development and Test

Freeze dried essentials…

Custom building block

Generic image

Page 18: Journey Through the AWS Cloud; Development and Test

Extend on-premise environments…

Page 19: Journey Through the AWS Cloud; Development and Test

with Amazon VPC…

Page 20: Journey Through the AWS Cloud; Development and Test

Populate as demand dictates…

Page 21: Journey Through the AWS Cloud; Development and Test

Connect over dedicated links…

Page 22: Journey Through the AWS Cloud; Development and Test

And turn it off when you are done

Page 23: Journey Through the AWS Cloud; Development and Test

Preserve it for future reference

Take lots of it when you need it

Throw it away when you don’t

Page 24: Journey Through the AWS Cloud; Development and Test

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

Page 25: Journey Through the AWS Cloud; Development and Test

“…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

Page 26: Journey Through the AWS Cloud; Development and Test

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

Page 27: Journey Through the AWS Cloud; Development and Test

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

Page 28: Journey Through the AWS Cloud; Development and Test

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

Page 29: Journey Through the AWS Cloud; Development and Test

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

Page 30: Journey Through the AWS Cloud; Development and Test

Quickly deploy and manage apps in AWS…

Do it yourself CloudFormation Beanstalk

Page 31: Journey Through the AWS Cloud; Development and Test

…into a range of containers

.Net PHP

Java Python

Do it yourself CloudFormation Beanstalk

Page 32: Journey Through the AWS Cloud; Development and Test

Application package is deployed into Beanstalk

Do it yourself CloudFormation Beanstalk

Page 33: Journey Through the AWS Cloud; Development and Test

User Application

Application Service

HTTP Service

Language Interpreter

Operating System

Host

Which creates the container in EC2

Do it yourself CloudFormation Beanstalk

Page 34: Journey Through the AWS Cloud; Development and Test

Beanstalk takes care of the environment…

Do it yourself CloudFormation Beanstalk

Page 35: Journey Through the AWS Cloud; Development and Test

…adding Elastic Load Balancer…

Do it yourself CloudFormation Beanstalk

Page 36: Journey Through the AWS Cloud; Development and Test

…Auto Scaling groups

Do it yourself CloudFormation Beanstalk

Page 37: Journey Through the AWS Cloud; Development and Test

…and launching instances

Do it yourself CloudFormation Beanstalk

Page 38: Journey Through the AWS Cloud; Development and Test

…all wired into the Beanstalk framework

Do it yourself CloudFormation Beanstalk

Page 39: Journey Through the AWS Cloud; Development and Test

…and published under a CNAME

Do it yourself CloudFormation Beanstalk

Page 40: Journey Through the AWS Cloud; Development and Test

…with logs and app versions held in S3

Do it yourself CloudFormation Beanstalk

Page 41: Journey Through the AWS Cloud; Development and Test

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

Page 42: Journey Through the AWS Cloud; Development and Test

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

Page 43: Journey Through the AWS Cloud; Development and Test

The benefit of templated environments

Template

Procedural definition Create it programmatically

Do it yourself CloudFormation Beanstalk

Page 44: Journey Through the AWS Cloud; Development and Test

The benefit of templated environments

Template

Procedural definition Create it programmatically

Known configuration Store stack configuration in source control

Do it yourself CloudFormation Beanstalk

Page 45: Journey Through the AWS Cloud; Development and Test

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

Page 46: Journey Through the AWS Cloud; Development and Test

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

Page 47: Journey Through the AWS Cloud; Development and Test
Page 48: Journey Through the AWS Cloud; Development and Test

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

Page 49: Journey Through the AWS Cloud; Development and Test

Ease the infrastructure burden when rolling out and testing upgrades/modifications

Packaged applications

Page 50: Journey Through the AWS Cloud; Development and Test

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/

Page 51: Journey Through the AWS Cloud; Development and Test

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.

Page 52: Journey Through the AWS Cloud; Development and Test

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

Page 53: Journey Through the AWS Cloud; Development and Test

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

Page 54: Journey Through the AWS Cloud; Development and Test
Page 55: Journey Through the AWS Cloud; Development and Test
Page 56: Journey Through the AWS Cloud; Development and Test
Page 57: Journey Through the AWS Cloud; Development and Test

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

Page 58: Journey Through the AWS Cloud; Development and Test

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

Page 59: Journey Through the AWS Cloud; Development and Test

1 instance for 100 hours =

100 instances for 1 hour

Page 60: Journey Through the AWS Cloud; Development and Test

Small instance = $8

Page 61: Journey Through the AWS Cloud; Development and Test
Page 62: Journey Through the AWS Cloud; Development and Test

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

Page 63: Journey Through the AWS Cloud; Development and Test

Auto Scaling

Group

V1

Elastic

Load

Balancer

Amazon

Relational

Database Service

(RDS)

Page 64: Journey Through the AWS Cloud; Development and Test

Auto Scaling

Group

V1

Auto Scaling

Group

V2

Elastic

Load

Balancer

Amazon

Relational

Database Service

(RDS)

Page 65: Journey Through the AWS Cloud; Development and Test

Auto Scaling

Group

V1

Auto Scaling

Group

V2

Elastic

Load

Balancer

Amazon

Relational

Database Service

(RDS)

Page 66: Journey Through the AWS Cloud; Development and Test

Auto Scaling

Group

V1

Auto Scaling

Group

V2

Elastic

Load

Balancer

Amazon

Relational

Database Service

(RDS)

Page 67: Journey Through the AWS Cloud; Development and Test

Auto Scaling

Group

V2

Elastic

Load

Balancer

Amazon

Relational

Database Service

(RDS)

Page 68: Journey Through the AWS Cloud; Development and Test
Page 69: Journey Through the AWS Cloud; Development and Test

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

Page 70: Journey Through the AWS Cloud; Development and Test

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

Page 71: Journey Through the AWS Cloud; Development and Test

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

Page 72: Journey Through the AWS Cloud; Development and Test

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

Page 73: Journey Through the AWS Cloud; Development and Test

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

Page 74: Journey Through the AWS Cloud; Development and Test

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

Page 75: Journey Through the AWS Cloud; Development and Test
Page 76: Journey Through the AWS Cloud; Development and Test

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

Page 77: Journey Through the AWS Cloud; Development and Test

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

Page 78: Journey Through the AWS Cloud; Development and Test

Dispose for cost optimization, but preserve critical configurations

Disposable environments can be recreated

Page 79: Journey Through the AWS Cloud; Development and Test

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

Page 80: Journey Through the AWS Cloud; Development and Test

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

Page 81: Journey Through the AWS Cloud; Development and Test

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

Page 82: Journey Through the AWS Cloud; Development and Test

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

Page 83: Journey Through the AWS Cloud; Development and Test

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

Page 84: Journey Through the AWS Cloud; Development and Test

Where to go next

Page 85: Journey Through the AWS Cloud; Development and Test

http://aws.typepad.com

http://aws.amazon.com/whitepapers

Page 86: Journey Through the AWS Cloud; Development and Test

Summary

Page 87: Journey Through the AWS Cloud; Development and Test

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

Page 88: Journey Through the AWS Cloud; Development and Test

aws.amazon.com get started on the free tier