AWS Scaling

download AWS Scaling

of 67

description

AWS Scaling

Transcript of AWS Scaling

PowerPoint Presentation

Scaling

ThisM

Im not as cool as Zach

scalingi'm miles, i'm an architect, which is supposed to mean programmer thinking long-term, in this case terrible programmer thinking long-term.we stole this lovely label from folks designing buildings, but in truth we have very different challenges, and confusing the two isn't helpful.most architecture is about making something last, the same way as you built itwe laud the parthenon because it's survived largely unchanged for thousands of yearsbusiness owners, and we the architects who serve them, need to realize that we're actually solving a very different problem.in fact, solving is tough too, there's no one solution, what we need is a system to accept the inputs of our business condition, and output the right solution. it would be terribly inefficent to actually plan out how you'll solve for each individual set of possible inputs.. right?we have a unique advantage over our bretheren engineers who work in stone and steel; we're building software! Most businesses don't think of their infrastructure as software. they think of hardware, and that drags them back to thinking about static buildings, so they solve the problem wrong:how much do we need so this thing never goes down?what is the exact final cost of this system for an unknown number of users, traffic, etcAWS is the first place you can do this, it's why I'm here.AWS has delivered software based hardware, and it's this innovation that allows you to focus on capturing the logic that defines what your infrastructure needs to do, and write simple code to have it do that.3Theres no picture for this, it would change too muchThe Living and Evolving AWS CloudComputeAmazon EC2NetworkAmazon VPCElastic LBAmazon Route 53Amazon Global Physical Infrastructure (Geographical Regions, Availability Zones, Edge Locations) StorageAmazon S3Amazon EBSContent DeliveryAmazon CloudFrontEmailAmazon SESYour ApplicationPaymentsAmazon DevPayAmazon FPSParallel ProcessingAmazon Elastic MapReduceDatabaseAmazon RDSAmazon SimpleDBMessagingAmazon SNSAmazon SQSLibraries and SDKs.NET/Java etc.Web InterfaceManagement ConsoleToolsAWS Toolkit for EclipseCommand Line InterfaceWorkforceAmazon Mechanical TurkAuthentication and AuthorizationAWS IAM, MFAMonitoringAmazon CloudWatchDeployment and AutomationAWS Elastic BeanstalkAWS CloudFormationInfrastructure building blocksPlatform building blocksTools to access servicesCross Service featuresEach day, AWS adds the equivalent server capacity to power Amazon when it was a global, $2.76B enterprise (circa 2000)To give you an idea of growth and investment that we are doing and how much capacity we are adding to meet our demand. In the year 2000, Amazon.com was a 2.7B enterprise. Today, AWS is adding amount of storage and compute capacity that Amazon required in year 2000 every day. So conceptually, five days from now, it will be five times the capacity required to run 2.7B enterprise. If you think about it, its huge.

6The Cloud Scales: Amazon S3 Growth

Peak Requests:370,000+per secondTotal Number of Objects Stored in Amazon S32.9 Billion14 Billion40 Billion102 Billion566 Billion262 BillionWe will let our Numbers speak as of Q3 2011, you can see we doubling every year. 100% YOY growth. These services are built and designed for scale. Peak requests are 370K per second.

7

Global Infrastructure for Global Enterprises

US West(Northern California)US East(Northern Virginia)Europe West(Dublin)Asia Pacific Region(Singapore)

Asia Pacific Region(Tokyo)

AWS RegionsAWS Edge Locations

GovCloud(US ITAR Region)

We launched 4 new regions this year and this makes a total of 8regions around the globe and more regions coming very very soon. We are not only seeing new customers in different geographies using the cloud but also seeing that our existing customers would like to take their business to new geographies with us. They want to do expand their business in different geographies and leverage the cloud. 8Powerful Highly scalable, Highly available, Highly responsive Fault-tolerant, Cost-effective globally deployed Web application

Availability Zone #1BucketsAmazon EC2 InstanceMySQLApachePHP ModBackups

Amazon S3Seriouslyradwebsite.comElastic IPSingle Instance Web Application Architecture in 1 AZ10Pattern #1: Design for failure and nothing will fail

Availability Zone #1BucketsAmazon EC2 InstanceMySQLApachePHP ModBackups

Amazon S3Seriouslyradwebsite.com

Elastic IPSingle Instance Web Application Architecture in 1 AZ12

Availability Zone #1BucketsAmazon EC2 InstanceMySQLApachePHP ModRootVolumeDataVolumeSnapshots

LogsStatic Data

Backups

Amazon S3Seriouslyradwebsite.comAmazon EBSElastic IPSingle Instance Web Application Architecture in 1 AZ13Pattern #2: Edge cache static content

Availability Zone #1BucketsAmazon EC2 InstanceMySQLApachePHP ModRootVolumeDataVolumeSnapshots

LogsStatic Data

Backups

Amazon S3Seriouslyradwebsite.com

Amazon EBSElastic IPSingle Instance Web Application Architecture in 1 AZ15

Availability Zone #1DistributionBucketsAmazon CloudFrontAmazon EC2 InstanceMySQLApachePHP ModRootVolumeDataVolumeSnapshots

LogsStatic Data

Backups

Amazon S3Seriouslyradwebsite.com(dynamic data)Media.Seriouslyradwebsite.com(static data)Amazon EBSElastic IPSingle Instance Web Application Architecture in 1 AZ16

Availability Zone #1DistributionBucketsAmazon CloudFrontAmazon EC2 InstanceMySQLApachePHP ModRootVolumeDataVolumeSnapshots

LogsStatic Data

Backups

Amazon S3Seriouslyradwebsite.com(dynamic data)Media.seriouslyradwebsite.com(static data)Amazon EBSElastic IPSingle Instance Web Application Architecture in 1 AZ17

Availability Zone #1DistributionBucketsAmazon CloudFrontAmazon EC2 InstanceMySQLApachePHP ModLogs Static Data

Backups

Amazon S3Seriouslyradwebsite.com(dynamic data)Seriouslyradwebsite.com(static data)Elastic IPAmazon RDSSingle Instance Web Application Architecture in 1 AZ18

Availability Zone #1Production EC2 InstanceMySQLSeriouslyradwebsite.comElastic IP183.2.3.1Amazon RDSApp v1.1ApachePHP Modstaging.Seriouslyradwebsite.comDynamic IP172.3.1.4Staging EC2 InstanceApp v1.2ApachePHP ModProduction EC2 Instance

Cloud Tip:Smart use of Elastic IPs(when upgrading new versions of your app)Using Elastic Ips for upgrade process19

Availability Zone #1DistributionBucketsAmazon CloudFrontAmazon EC2 InstanceMySQLApachePHP ModLogs Static Data

Backups

Amazon S3Seriouslyradwebsite.com(dynamic data)Media.Seriouslyradwebsite.com (static data)Elastic IPAmazon RDSSingle Instance Web Application Architecture in 1 AZ20Resilient to reboot and re-launch: Design the system such that in the event of a failure, it is resilient enough to automatically re-launch and restart. Forcefully fail and test.

Stateless: Extract stateful components out and make them stateless

Packable into an AMI: Package and deploy your application into an AMI so it can run on an Amazon EC2 instance. Try to run multiple instances of the application on one EC2 instance, if needed. Run multiple instances on multiple Amazon EC2 instances.

Decouple:Isolate the components using Amazon SQS. Decouple code with deployment and configuration.Principles of elastic cloud architecturesPattern #3: Implement Elasticity

Availability Zone #1Amazon Machine ImageDistributionBucketsAmazon CloudFrontAmazon EC2 InstanceMySQLApachePHP ModLogs Static Data

Backups

Amazon S3www.myphpwebsite.com(dynamic data)media.myphpwebsite.com (static data)Elastic IPAmazon RDSSingle Instance Web Application Architecture in 1 AZ23

Availability Zone #1

Auto Scaling GroupDistributionBucketsAmazon CloudFrontAmazon EC2 InstanceMySQLApachePHP ModLogs Static Data

Backups

Amazon S3media.myphpwebsite.com (static data)Amazon RDSLBwww.myphpwebsite.com(dynamic data)Elastic Load BalancerAmazon Route 53(DNS)Amazon Machine ImageSingle Instance Web Application Architecture in 1 AZ24

Availability Zone #1

Auto Scaling GroupDistributionBucketsAmazon CloudFrontAmazon EC2 InstanceMySQLApachePHP ModLogs Static Data

Backups

Amazon S3media.myphpwebsite.com (static data)Amazon RDSLBwww.myphpwebsite.com(dynamic data)Elastic Load BalancerAmazon Route 53(DNS)Amazon CloudWatch(Monitoring)Amazon SimpleDB(Catalog and Config data)Amazon SNS(notifications)Single Instance Web Application Architecture in 1 AZ25

Availability Zone #1Auto Scaling group : Web App TierApachePHP ModLBApachePHP ModAmazon RDSDistributionBucketsAmazon CloudFrontAmazon S3www.myphpwebsite.com(dynamic data)media.myphpwebsite.com (static data)Elastic Load BalancerAmazon Route 53(DNS)Amazon EC2Amazon CloudWatch(Monitoring)Amazon SimpleDB(Catalog and Config data)Amazon SNS(notifications)MySQL2-Tier Auto-scalable Web Application Architecture with HA RDS database (Multi-AZ Setup)26Controller AController BController CController AController BController CQQQTight CouplingLoose Coupling using QueuesCloud Tip:Decouple components. The looser they're coupled, the bigger they scale

Availability Zone #1Auto Scaling group : Web App TierApachePHP ModLBApachePHP ModAmazon RDSDistributionBucketsAmazon CloudFrontAmazon S3www.myphpwebsite.com(dynamic data)media.myphpwebsite.com (static data)Elastic Load BalancerAmazon Route 53(DNS)Amazon EC2Amazon CloudWatch(Monitoring)Amazon SimpleDB(Catalog and Config data)Amazon SNS(notifications)MySQL2-Tier Auto-scalable Web Application Architecture with HA RDS database (Multi-AZ Setup)28Pattern #4: Leverage Multiple Availability ZonesAvailability Zone #2StandbySlave

Availability Zone #1Auto Scaling group : Web App TierPrimaryMulti-AZApachePHP ModLBApachePHP ModAmazon RDSAmazon RDSSynchronousReplicationFailoverDistributionBucketsAmazon CloudFrontAmazon S3www.myphpwebsite.com(dynamic data)media.myphpwebsite.com (static data)Elastic Load BalancerAmazon Route 53(DNS)Amazon EC22-Tier Auto-scalable Web Application Architecture with HA RDS database (Multi-AZ Setup)30Pattern #5: Isolate read and write traffic; Isolate static and dynamic trafficAvailability Zone #2

Availability Zone #1StandbyMulti-AZAuto Scaling group : Web App TierPrimaryMasterApachePHP ModLBApachePHP ModAmazon RDSAmazon RDSSynchronousReplicationFailoverRead ReplicaRead ReplicaAsyncReplicationDistributionBucketsAmazon CloudFrontAmazon S3www.myphpwebsite.com(dynamic data)media.myphpwebsite.com (static data)Elastic Load BalancerAmazon Route 53(DNS)Amazon EC22-Tier Auto-scalable Web Application Architecture with HA RDS database (Multi-AZ Setup) and Multiple Read Replicas to distribute read load32Pattern #6: Automate your in-cloud Software Development and Deployment LifecycleYAGNI

(You aint gonna need it)YAGNI-UYRNI

(You aint gonna need it, until you really need it)

Hello, I am Mr. Automate

DevelopmentAnd TestingMonitoringStaging and ProductionBuild and DeploymentAutomate Using Cloud APIs

Keep absolutely everything in version controlCommit early and commit oftenAlways check in to trunk and avoid branchingTake responsibility if your check in breaks the buildAutomate the build, test, deploy processBe prepared to stop the mainline when/if build breaksCreate a comprehensive automated test suiteOnly one way deploy and everybody uses that same wayBe prepared to revert to the previous revisionContinuously improve collaboration and increase speed of feedback

Everything thing should be in the version controlOS, patch levels, OS configuration, your app stack, its configuration, infrastructure configInfrastructure is code, Build scripts is code, test scripts is code

37Application Containers -JBoss,Tomcat,IIS,Mongrel.NOTE: there are so many app containers, I'm not going to try to list all of them.Build Tools-Ant,AntContrib,NAnt,MSBuild,Buildr,Gant,Gradle,make,Maven,RakeCode Review-CrucibleCode Insight-FisheyeContinuous Integration -Bamboo,Jenkins,AntHill Pro,Go,TeamCity,TFS 2010Database -Hibernate,MySQL,Liquibase,Oracle,PostgreSQL,SQL Server,SimpleDB,SQL Azure,Ant,MongoDBDatabase Change Management-dbdeploy,LiquibaseData Center Configuration Automation-Capistrano,Cobbler,BMC Bladelogic,CFEngine,IBM Tivoli Provisioning Manager,Puppet,Chef,Bcfg2,AWS Cloud Formation,Windows Azure AppFabricNOTE: There are many names and overlap for this tool "category".Dependency Management-Ivy,Archiva,Nexus,Artifactory,BundlerDeployment Automation-Java Secure Channel,ControlTier,Altiris,Capistrano,Fabric,FuncInformation Sharing-Confluence,Google AppsInstaller-InstallShield,IzPackIntegrated Development Environment (IDE)-Eclipse,IDEA,Visual StudioIssue Tracking-Greenhopper,JIRAMulti-Type-rPathPasswords-PassPack,PasswordSafeProtected Configuration-ESCAPE,ConfigGenProject Management-JIRA,Pivotal Tracker,SmartSheetProvisioning-JEOS,BoxGrinder,CLIP,Eucalyptus,AppLogicReporting/Documentation-Doxygen,Grand,GraphViz,JavaDoc,NDoc,SchemaSpy,UmlGraphStatic Analysis-CheckStyle,Clover,Cobertura,FindBugs,FxCop,JavaNCSS,JDepend,PMD,Sonar,SimianSystems Monitoring-CloudKick,Nagios,Zabbix,ZenossTestingAntUnit,Cucumber,DbUnit,webrat,easyb,Fitnesse,JMeter,JUnit,NBehave,SoapUI,Selenium,RSpec,SauceLabsVersion-Control System-SVN/Subversion,git,PerforcePaul Duvalls Blog http://blog.stelligent.com/integrate-button/2011/03/list-of-software-tools-for-continuous-delivery-in-the-cloud.htmlTools soup38Application Containers -JBoss,Tomcat,IIS,Mongrel.NOTE: there are so many app containers, I'm not going to try to list all of them.Build Tools-Ant,AntContrib,NAnt,MSBuild,Buildr,Gant,Gradle,make,Maven,RakeCode Review-CrucibleCode Insight-FisheyeContinuous Integration -Bamboo,Jenkins,AntHill Pro,Go,TeamCity,TFS 2010Database -Hibernate,MySQL,Liquibase,Oracle,PostgreSQL,SQL Server,SimpleDB,SQL Azure,Ant,MongoDBDatabase Change Management-dbdeploy,LiquibaseData Center Configuration Automation-Capistrano,Cobbler,BMC Bladelogic,CFEngine,IBM Tivoli Provisioning Manager,Puppet,Chef,Bcfg2,AWS Cloud Formation,Windows Azure AppFabricNOTE: There are many names and overlap for this tool "category".Dependency Management-Ivy,Archiva,Nexus,Artifactory,BundlerDeployment Automation-Java Secure Channel,ControlTier,Altiris,Capistrano,Fabric,FuncInformation Sharing-Confluence,Google AppsInstaller-InstallShield,IzPackIntegrated Development Environment (IDE)-Eclipse,IDEA,Visual StudioIssue Tracking-Greenhopper,JIRAMulti-Type-rPathPasswords-PassPack,PasswordSafeProtected Configuration-ESCAPE,ConfigGenProject Management-JIRA,Pivotal Tracker,SmartSheetProvisioning-JEOS,BoxGrinder,CLIP,Eucalyptus,AppLogicReporting/Documentation-Doxygen,Grand,GraphViz,JavaDoc,NDoc,SchemaSpy,UmlGraphStatic Analysis-CheckStyle,Clover,Cobertura,FindBugs,FxCop,JavaNCSS,JDepend,PMD,Sonar,SimianSystems Monitoring-CloudKick,Nagios,Zabbix,ZenossTestingAntUnit,Cucumber,DbUnit,webrat,easyb,Fitnesse,JMeter,JUnit,NBehave,SoapUI,Selenium,RSpec,SauceLabsVersion-Control System-SVN/Subversion,git,PerforcePaul Duvalls Blog http://blog.stelligent.com/integrate-button/2011/03/list-of-software-tools-for-continuous-delivery-in-the-cloud.htmlDO USE YES GOODTools soup39

Version ControlCI ServerPackage BuilderDeploy Server

Commit to Git/masterDevPullCodeAMIsSend Build Report to DevStop everything if build failedDistributed BuildsRun Tests in parallelStaging EnvTest EnvCodeConfigTestsProd EnvPushConfigInstallCreateRepo

CloudFormation Templates for EnvGenerateCloud Continuous IntegrationArchitecture for Cloud Continuous integration

Developer commits to git/masterCI Server pulls from git/masterCI Server runs all regression tests against git/masterCI Server returns report to developer and halts if any failCI Server builds the artifacts CI Server pushes the project manifest to Image manager Package Builder gets configuration information from VSS PB builds packages (gem, .deb, rpms..), stores them in repo PB installs dependencies on an instance/host and creates a virtual Image or multiple images PB generates a CF template from the Config for each environment and stores them in repoCI Server calls deployment server to deploy the image to a given environment (using CF template)Deployment server attempts to deploy the image to instances using cloudformation scripts and alerts the monitoring service40Availability Zone #2

Availability Zone #1StandbyMulti-AZAuto Scaling group : Web App TierPrimaryMasterApachePHP ModLBApachePHP ModAmazon RDSAmazon RDSSynchronousReplicationFailoverRead ReplicaRead ReplicaAsyncReplicationDistributionBucketsAmazon CloudFrontAmazon S3www.myphpwebsite.com(dynamic data)media.myphpwebsite.com (static data)Elastic Load BalancerAmazon Route 53(DNS)Amazon EC2

2-Tier Auto-scalable Web Application Architecture with HA RDS database (Multi-AZ Setup) and Multiple Read Replicas to distribute read load41Pattern #7: Cache as much as possibleAvailability Zone #2

Availability Zone #1StandbyMulti-AZAuto Scaling group : Web App TierPrimaryMasterApachePHP ModLBApachePHP ModAmazon RDSAmazon RDSSynchronousReplicationFailoverRead ReplicaRead ReplicaAsyncReplicationDistributionBucketsAmazon CloudFrontAmazon S3www.myphpwebsite.com(dynamic data)media.myphpwebsite.com (static data)Elastic Load BalancerAmazon Route 53(DNS)Amazon EC22-Tier Auto-scalable Web Application Architecture with HA RDS database (Multi-AZ Setup) and Multiple Read Replicas to distribute read load43

Availability Zone #2RDSMultiAZ

Availability Zone #1

cache TierAuto Scaling group : Web TierRDSMasterElastic Load BalancerMemcacheLBTomcatMemcacheDistributionBucketsAmazon CloudFrontAmazon S3www.myphpwebsite.com(dynamic data)media.myphpwebsite.com (static data)Amazon Route 53(DNS)Amazon EC2ApachePHP ModApachePHP Mod3-Tier Auto-scalable Web and Application Tier architecture with HA database (Multi-AZ Setup)44Pattern #8: Hardening security at every stageSAS 70 Type II AuditISO 27001/2 CertificationPCI DSS 2.0 Level 1-5HIPAA/SOX ComplianceFISMA A&A LowEnforce IAM policiesUse MFA, VPC, Leverage S3 bucket policies, EC2 Security groups, EFS in EC2 Etc..

Encrypt data in transitEncrypt data at restProtect your AWS CredentialsRotate your keysSecure your application, OS, Stack and AMIsIn the cloud, Security is a Shared ResponsibilityHow we secure our infrastructureWhat security options and features are available to you?How can you secure your application and what is your responsibility?

Availability Zone #2RDSSlave

Availability Zone #1

Cache TierAuto Scaling group : Web TierRDSMasterElastic Load BalancerMemcacheLBTomcatMemcacheDistributionBucketsAmazon CloudFrontAmazon S3www.myphpwebsite.com(dynamic data)media.myphpwebsite.com (static data)Amazon Route 53(DNS)Amazon EC2# Permit HTTP(S) access to Web Layer from the Entire Internetec2auth Web -p 80,443 -s 0.0.0.0/0

# Permit Web Layer access to App Layer ec2auth App -p 8000 -s 1.2.3.4/32

# Permit App Layer access to DB ec2auth App -p 3209 -s 1.2.3.4/32

# Permit administrative access SSH to all three layersec2auth Web -p 22 -o Appec2auth DB -p 22 -o AppApachePHP ModApachePHP Mod3-Tier Auto-scalable Web and Application Tier architecture with HA database (Multi-AZ Setup)47

Availability Zone #2RDSMultiAZ

Availability Zone #1

cache TierAuto Scaling group : Web TierRDSMasterElastic Load BalancerMemcacheLBTomcatMemcacheDistributionBucketsAmazon CloudFrontAmazon S3www.myphpwebsite.com(dynamic data)media.myphpwebsite.com (static data)Amazon Route 53(DNS)Amazon EC2ApachePHP ModApachePHP Mod3-Tier Auto-scalable Web and Application Tier architecture with HA database (Multi-AZ Setup)48Availability Zone #n

Availability Zone #1

Cache TierAvailability Zone #2Auto Scaling group : Web TierAuto Scaling group : Web TierDBMasterElastic Load BalancerMemcacheLBTomcatMemcacheRead Replica

Cache TierMemcacheTomcatMemcacheMulti-AZSlaveAmazon Route 53(DNS)DistributionBucketsAmazon CloudFrontAmazon S3Amazon RDSwww.myphpwebsite.com(dynamic data)media.myphpwebsite.com (static data)Amazon EC2ApachePHP ModApachePHP ModApachePHP ModApachePHP Mod3-Tier Auto-scalable Highly-Available Scalable Web and Application Tier architecture with HA database (Multi-AZ Setup) deployed in multiple AZs49

Availability Zone #1BucketsAmazon EC2 InstanceMySQLApachePHP ModBackups

Amazon S3Seriouslyradwebsite.comElastic IPSingle Instance Web Application Architecture in 1 AZ50Pattern: #9: Go Global Quickly (with single API)

Asia PacificEuropeUS-WestUS-EastCentralized ArchitectureWeb Application is hosted in a centralized location in US-East regionWeb Application is accessed from US-West , US-East , Europe and Asia Pacific regions

Asia PacificEuropeUS-WestUS-EastGeo Distributed Architecture

Data ReplicatorWeb Application is hosted in globally (US-West, US-East, Europe and Asia Pacific)Web Application requests are directed to the servers residing in nearest regionsData is synchronized between databases across regions using the Custom data replicator program

53

US-West-1bRDSMulti-AZ

US-WestAuto Scaling group : Web App TierRDSMasterUS East TrafficUS West TrafficELBGeo IP/Directional DNS ServerAsia TrafficDNSCNAMESoftware-based Data ReplicatorEurope TrafficWebAppWebAppWebAppWebAppWebAppWebApp US-East-1bRDSMulti-AZ

US-EastAuto Scaling group : Web App TierRDSMasterELBWebAppWebAppWebAppWebAppWebAppWebApp EU-West-1bRDSMulti-AZ

EU-WestAuto Scaling group : Web App TierRDSMasterELBWebAppWebAppWebAppWebAppWebAppWebApp AP-SOUTHEAST-1bRDSMulti-AZ

AP-SOUTHEASTAuto Scaling group : Web App TierRDSMasterELBWebAppWebAppWebAppWebAppWebAppWebAppPattern #10: Keep optimizing and see the savings in the next months bill1-year RI versus On Demand:cost savings realized after first 6 months of usage3-year RI versus On Demand: cost savings realized after first 9 months of usage.3-year RI versus 1-year RI: Net savings of 3-year RI versus 1-year RI begin by month 13 and continue throughout the RI term (additional 23 months of savings)123Pattern #1: Design for failure and nothing will failPattern #2: Edge cache static contentPattern #3: Implement ElasticityPattern #4: Leverage Multiple Availability ZonesPattern #5: Isolate read and write traffic; Isolate static and dynamic trafficPattern #6: Automate your in-cloud Development and Deployment LifecyclePattern #7: Cache as much as possiblePattern #8: Hardening security at every stagePattern #9: Go global quickly (with single API)Pattern #10: Keep optimizing and see the savings in the next months billTHIS IS JUST ONE EXAMPLE!Your stuff is uhm.. Different.

Architecture is the practice of figuring out how your stuff ought to survive change, and making it so.VPC is part of the Autodesk internal network

Source: AutodeskAutodesk leverages Amazon VPC as extension of their corporate datacenter. VPC is part of their internal network. They had 3 datacenters since 2009, VPC is 4th datacenter. It was so successful within Autodesk that they identified several new business opportunities and products as a result of this integration.59NYTimes TimesMachine (June 2008)1851-1922 ArticlesTIFF -> PDFInput: 11 Million Articles (4TB of data)

What did he do ?Spun 100 EC2 Instances for 24 hoursInput: All data on S3Output: 1.5 TB of DataUsed: Hadoop, iText, JetS3tAlmost all of you know NYTimess cloud success story of how an engineer went to senior management to ask for resources to covert 1851-1922 newspaper articles from Tiff to PDF. The magagement approved for 3 resources that he will get in a period of 5 months and he then run it for a 1 year to convert all that 4TB of data. He leverage the cloud and spin up 100 EC2 instances and in a matter of 24 hours was able to convert to 1.5 TB data. This service is now paid service at Nytimes and can be accessed at timesmachine.nytimes.com. It was a great proof of concept to evaluate the cloud.60SAP as a customerAWS Cloud Usage @ SAPCustomer Demo and POCBusiness ByDesign BusinessOneTrainingWorkshopsDevelopment and TestingSAP Carbon Impact OnDemand runs on AWS!

SAP AWS footprint (as of Nov 2010)

Source: SAP

61Case Study: Optimizing Video Transcoding Workloads (On-demand + Spot + Reserved)Free OfferingOptimize for reducing costAcceptable Delay Limits

ImplementationSet Persistent RequestsUse on-demand Instances, if delay

Maximum Bid Price < On-demand RateGet your set reduced price for your workloadPremium OfferingOptimized for response timesNo Delays

ImplementationInvest in RIsUse on-demand for Elasticity

Maximum Bid Price >= On-demand RateGet Instant Capacity for higher price

Vimeo is about to come out with a case study. We are pushing for by the Summit, but if not you can remove the name and just use it as an example. They have 2 offerings: free and premium. The free case they want to minimize cost. They have the ability to have some delay in the service while they transcode the data. So, they set a maximum of $x on the amount they would pay for an hour, and use Spot for the task. If they havent gotten capacity in a long time, they choose to start in On-Demand.The premium case they want the media encoding to happen immediately. So, they purchase Reserved Instances to optimize their expected level of demand (note breakeven is around 30% utilization, so buying more RIs may make sense). Then, they use On-Demand for elasticity. If they cant get the On-Demand when they need it, they try in Spot (e.g. you can get capacity not available anywhere else).In all, they have optimized for their SLA for the premium offering, and minimized cost in their free offering. Both are legitimate scenarios, and AWS is the only provider to support the pricing models to allow them to do it.

62Other stuff that needs to scaleStorageCoffee supplyNumber of hours in the dayQueuesMemoryBandwidth

Campus AcreageMore Scalable tools from AWSDynamoDBCloudformation (and CloudFormer!)SQS, SNS, SES, SDB, S3Elastic Beanstalk

You need to scale to scale to scale++So do we!

Thanks!

Miles Ward

[email protected]@milesward

Chart129000000001400000000040000000000102000000000262000000000566000000000

Objects

Sheet1ObjectsQ4 20062,900,000,000Q4 200714,000,000,000Q4 200840,000,000,000Q4 2009102,000,000,000Q4 2010262,000,000,000Q3 2011566,000,000,000To resize chart data range, drag lower right corner of range.