Upload
amazon-web-services
View
582
Download
3
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
Development and
Test on AWS
James Brown
UK Business Development Lead
Some Challenges Customers Tell Us About
Managing multiple environments
is tough
Experimentation is slow
Obtaining servers takes weeks
How The AWS Cloud Can Be Useful
Simplify management of
multiple environments
Adopt new development
practices
Obtaining Servers in minutes
Why is this problem more critical than ever?
The
Business
* Credit to Patrick Debois for this model
The
Customer
has to deliver to the…
The
Business
* Credit to Patrick Debois for this model
The
Customer
The business has to get to get high
quality solutions into the customers hands as quickly as it can.
* Credit to Patrick Debois for this model
Dev &
Test
The
Customer
The
Business
* Credit to Patrick Debois for this model
Dev &
Test
Ops &
Infra
The
Customer
The
Business
* Credit to Patrick Debois for this model
Dev &
Test
Ops &
Infra
The
Customer
The
Business
Slow and
prone to failure
* Credit to Patrick Debois for this model
Dev &
Test
The
Customer
The
Business
Agile
Development
Ops &
Infra
* Credit to Patrick Debois for this model
Dev &
Test
Ops &
Infra
The
Customer
The
Business
Slow and
Infrastructure
constrained
Agile
Development
* Credit to Patrick Debois for this model
Dev &
Test
The
Customer
The
Business
Agile
Development
Ops &
Infra
DevOps
& Cloud
* Credit to Patrick Debois for this model
Dev &
Test
The
Customer
The
Business
Agile
Development
Ops &
Infra
Slow and
expensive
DevOps
& Cloud
* Credit to Patrick Debois for this model
Dev &
Test
The
Customer
The
Business
Agile
Development
Ops &
Infra
Cloud DevOps
& Cloud
Give Development and Test Teams the Infrastructure They Need
Let Dev & Test have the infrastructure they need
CI Build Smoke Test Development
Builds
Multiple
Versions
Staging Performance
Testing
Security
Testing UAT
Pre-
Production Soak Testing Hotfixes
Regression
Testing
Customer
Data Centers
Example Infrastructure
Source
Control
Build
Server
CI
Server
Dev
Machine
Customer
Data Centers
Example Infrastructure
VPN or Direct
Connect
Source
Control
Build
Server
CI
Server
Dev
Machine
Customer
Data Centers
Example Infrastructure
VPN or Direct
Connect
Source
Control
Build
Server
CI
Server
Dev
Machine
Amazon VPC
Customer
Data Centers
Example Infrastructure
VPN or Direct
Connect
Source
Control
Build
Server
CI
Server
Dev
Machine
Amazon VPC
Cloud
Formation
Template
Customer
Data Centers
Example Infrastructure
VPN or Direct
Connect
Source
Control
Build
Server
CI
Server
Dev
Machine
Amazon VPC
Cloud
Formation
Template
CI Build
Staging
UAT
Let Dev & Test have the infrastructure they need
• Use VPN or Direct Connect to link to AWS
• Use Amazon VPC so you can control IP Addressing
• Use Cloud Formation and AMIs to create templates
Let Dev & Test have the infrastructure they need
• Use VPN or Direct Connect to link to AWS
• Use Amazon VPC so you can control IP Addressing
• Use Cloud Formation and AMIs to create templates
• Build the infrastructure when you need it
• Build as much as you want
• Shut it down when you are not using it
Now they have the infrastructure, make sure they can use the tools they want
Operating Systems
• Windows Server
• AWS Linux
• Ubuntu
• SUSE Linux Enterprise
• Oracle Enterprise Linux
• RedHat Enterprise Linux
• CentOS
• Debian
SDKs, Command Line and IDE ToolKits
• SDKs
• Android
• iOS
• Java
• .NET
• Node.js
• Python
• PHP
• Ruby
• IDE ToolKits
• Eclipse
• Visual Studio
• Command Line Tools
• Powershell
• AWS CLI
Eco-System of Development and Test Tools
• TeamCity
• Jenkins
• Octopus
• Banboo
• CruiseControl
• NuGet
• Hudson
• BugZilla
• Mantis
• Chef
• Puppet
• CloudBees
• Splunk
• NewRelic
• Scalr
• AppFirst
• RightScale
• Subversion
• Git
• Team Foundation Server
• Bees with machine guns
• ChaosMonkey
Now they have the tools and the infrastructure, they can become more
efficient with DevOps and Agile Development practices
Continuous Integration / Deployment
Continuous Integration and Deployment
Paul Klipp
“The primary goal of continuous deployment is not to deploy continuously.
Continuous Integration and Deployment
Paul Klipp
“The primary goal of continuous deployment is not to deploy continuously.
It is to be able to deploy continuously”
Source Code
Repository
Deployment
Server
Continuous Integration
Server
Developer
Submit
Code
Source Code
Repository
Deployment
Server
Continuous Integration
Server
Developer
Build
Source Code
Repository
Deployment
Server
Continuous Integration
Server
Developer
Fetch
Code
Source Code
Repository
Deployment
Server
Continuous Integration
Server
Developer
Build
Source Code
Repository
Deployment
Server
Continuous Integration
Server
Developer
Output
Source Code
Repository
Deployment
Server
Continuous Integration
Server
Install
Package
Developer
Start
Deployment
Source Code
Repository
Deployment
Server
Continuous Integration
Server
Install
Package
Developer
Source Code
Repository
Deployment
Server
Continuous Integration
Server
Build AWS
Environment
Web
Server DB
Server
Install
Package
Developer
Source Code
Repository
Deployment
Server
Continuous Integration
Server
Deploy Code
Web
Server DB
Server
Install
Package
Developer
Source Code
Repository
Deployment
Server
Continuous Integration
Server
Run Test
Web
Server DB
Server
Install
Package
Developer
CONTINUOUS DEPLOYMENT IN THE REAL WORLD
Customer - amazon.com
Deployment the old way
4
3
Why not run two infrastructures?
4
4
Why not run two infrastructures?
4
5
11.6s
Average time
between
deployments
(weekday)
1,079
Max number of
deployments in a
single hour
(or approx every
3 seconds)
10,000
Average number
of instances
simultaneously
receiving a
deployment
30,000
Max number of
instances
simultaneously
receiving a
deployment
Deployments at amazon.com
Thank You!