Upload
aws-germany
View
1.115
Download
0
Embed Size (px)
Citation preview
AWS Roadshow 2013Über den Wolken – befreien Sie Ihre IT
Entwicklung und Test in der Cloud
Michael HanischMgr. Solutions Architecture
Matthias JungSolutions Architect
Constantin GonzalezSolutions Architect
Ratingen
DEVELOPMENT&
TEST
DEVELOPER
SOURCE CODEREPOSITORY
SOURCE CODEREPOSITORY
PROJECT MANAGEMENT SERVER
SOURCE CODEREPOSITORY
PROJECT MANAGEMENT SERVER
CONTINUOUS INTEGRATION SERVER
SOURCE CODEREPOSITORY
PROJECT MANAGEMENT SERVER
CONTINUOUS INTEGRATION SERVER
PICKTASKS
SOURCE CODEREPOSITORY
PROJECT MANAGEMENT SERVER
CONTINUOUS INTEGRATION SERVER
SUBMITCODE
SOURCE CODEREPOSITORY
PROJECT MANAGEMENT SERVER
CONTINUOUS INTEGRATION SERVER
SCHEDULEBUILD
SOURCE CODEREPOSITORY
PROJECT MANAGEMENT SERVER
CONTINUOUS INTEGRATION SERVER
RECURRENTBUILDS
SOURCE CODEREPOSITORY
PROJECT MANAGEMENT SERVER
CONTINUOUS INTEGRATION SERVER
CODEFETCH
SOURCE CODEREPOSITORY
PROJECT MANAGEMENT SERVER
CONTINUOUS INTEGRATION SERVER
CODE QUALITYTESTS
TESTRESULTS
SOURCE CODEREPOSITORY
PROJECT MANAGEMENT SERVER
CONTINUOUS INTEGRATION SERVER
BUILD OUTPUT
SOURCE CODEREPOSITORY
PROJECT MANAGEMENT SERVER
CONTINUOUS INTEGRATION SERVER
DOCS
BINARIES& PACKAGES
SOURCE CODE REPOSITORY
DNS
CONTINUOUS INTEGRATION SERVER
PROJECT MANAGEMENT SERVER
BUILDS
PAIN POINTS• UNIT TESTS INCOMPLETE• MOCK TESTS MAINTENANCE• EXPENSIVE TEST ENVIRONMENT• TEST ENVIRONMENT ≠ PRODUCTION• DEPLOYMENT CYCLES
ON-DEMAND
PAY AS YOU GO
ELASTIC
ON-DEMAND
PAY AS YOU GO
ELASTIC
= no need for: waiting, procurement, planning
= as many resources as you need, no limits
= save money: during the night, over the weekend, during vacation
BUT THERE IS
MORE
=
PROGRAMMABLE PLATFORM
IF YOU CAN PROGRAM ITYOU CAN AUTOMATE IT
Control via Configuration
AWS CloudFormation
AWS CLOUDFORMATION
STACK-BASED DEPLOYMENT SERVICE
CLOUDFORMATIONTEMPLATE
{ "Description" : "Create RDS with username and password", "Resources" : {
"MyDB" : { "Type" : "AWS::RDS::DBInstance", "Properties" : { "AllocatedStorage" : "500", "DBInstanceClass" : "db.m1.small", "Engine" : "MySQL", "EngineVersion" : "5.5", "MasterUsername" : "MyName", "MasterUserPassword" : "MyPassword" } } }}
"AWS::CloudFormation::Init" : { "config" : {
"packages" : { "yum" : { "mysql" : [], "mysql-server" : [], "httpd" : [], "php" : [], "php-mysql" : [] } }, "sources" : { "/var/www/html" : "https://s3.amazonaws.com/my-builds/build-v4.zip" } }
{ "Parameters" : { "KeyName" : { "Description" : "Name of an existing EC2 KeyPair to enable SSH access to the instance", "Type" : "String" } },}
CLOUDFORMATIONTEMPLATE
PROCEDURALDEFINITION
Create it programmatically
KNOWN CONFIGURATIONStore stack configuration in source control
PARAMETER DRIVEN
Dynamic and user-driven templates
COLLABORATIONShare templates with ease as plain files
OS
APP STACK
-
Control via Configuration
OS
APP STACK
code
Automate deployment
build
S3 Bucket
test
OS
APP STACK
code
Automate deployment
OS
APP STACK
code
build
S3 Bucket
Automated
build
1 hour
Orange Digital uses AWS + Puppet for Application Development
“Moving to AWS has reduced the time to market for new products,” says Jennings. “Previously, this process took at least three months. AWS has removed a barrier, so time to market is dependent almost entirely on developing software and deciding what we want to do.”
USING PUPPET, ORANGE DIGITAL CAN REPLICATE A
PRODUCTION ENVIRONMENT ON DEVELOPMENT
LAPTOPS, THEREBY ENSURING CONSISTENCY
THROUGHOUT THE LIFECYCLE
APPLICATIONVERSIONS
+INFRASTRUCTURE
VERSIONS
CLOUDFORMATION TEMPLATE
TEST ENVIRONMENTS
30,000 REQUESTS / SECOND1 TB TRAFFIC / DAY
CASE STUDY
LOAD TESTING
USING AMAZON EC2 TO SIMULATE
2.4 MILLION PLAYERS
CONTINUOUS DEPLOYMENT
SMALL, FREQUENT CHANGES CONSTANTLY INTEGRATING INTO
PRODUCTION.
KEY = ITERATION
11.6sMean time between
deployments (weekday)
1,079Max number of
deployments in a single hour
10,000Mean number of
hosts simultaneously
receiving a deployment
30,000Max number of
hosts simultaneously
receiving a deployment
DEPLOYMENTS AT AMAZON.COM
SOFTWARE DEPLOY
≠PRODUCT LAUNCH
1.5 BILLION PAGE VIEWS
OCTOBER 2012
$83 MILLION IN TRANSACTIONS4.2 MILLION ITEMS SOLD
CASE STUDY
30 DEPLOYS PER DAY1 DEPLOY EVERY 20 MINUTES
AWS OPSWORKSINTEGRATED APPLICATION
MANAGEMENT
14 BILLION REQUESTS/MONTH50 000 DATABASE UPDATES / SEC
NO CACHE
CASE STUDY
A / B TESTING
CONTINUOUS INTEGRATION
CONTINUOUS DEPLOYMENT
CONTINUOUS DEPLOYMENT
=
CONTINUOUS EXPERIMENTATION
CONTINUOUS DEPLOYMENT
=
CONTINUOUS IMPROVEMENT
« Want to increase innovation? Lower the cost of failure »
Joi Ito
SPEED AND AGILITY
Experiment Often
Fail quickly at a low cost
More Innovation
Experiment Infrequently
Failure is expensive
Less Innovation
“ON-PREMISE”
THANK YOUDevelopment & Test in the Cloud