amazon.com s Journey to the Cloud Jon Jenkins jjenkin@amazon.com AWS Summit June 13, 2011
1995-2010
+
First real data center
Distribution Center Isolation
Decouple Service Oriented Architecture Scale Horizontally Increase Speed of Execution Develop Iteratively Seek Simplicity
What could we do with just S3?
IMDB Widget Architecture Amazon Amazon Web Server IMDB Customer Service Call IMDB Service IMDB Database Render Process
The Problem Release process is coupled Runtime latency & scale requirements Service integration issues Use S3 as a service The Solution Store raw HTML for the feature in S3
Amazon Before Amazon Web Server IMDB Customer Service Call IMDB Service IMDB Database Render Process After Amazon Amazon Web Server IMDB Customer Generic S3 HTML Puller S3 HTML Store
Results Reduced page latency IMDB doesn t worry about scaling Reduced web server CPU utilization Improved availability through reduced dependencies Simplified release model AJAX readiness
What about a more complex case?
The Problem The system has lots of moving parts It must run in an external data center It must scale up quickly Development team is two people The Solution Use as many AWS services as possible
Config Store SQS CloudWatch (latency, test case results, status codes) Alarm Rule Engines Web Portal Configuration Scheduler (primary/ secondary) Agents EC2 S3 Notification EC2... SDB Web Service EC2 RDS
Results Very few dev resources required Launched without having to negotiate any new datacenter co-lo presence True external performance metrics We can test site features in development that have not yet launched The system scales horizontally to large amounts of traffic
What about amazon.com web servers?
Typical Weekly Traffic to amazon.com Sunday Monday Tuesday Wednesday Thursday Friday Saturday
Typical Weekly Traffic to amazon.com Sunday Monday Tuesday Wednesday Thursday Friday Saturday
Typical Weekly Traffic to amazon.com 39% 61% Sunday Monday Tuesday Wednesday Thursday Friday Saturday
November Traffic for amazon.com
November Traffic for amazon.com 76% 24%
The Problem Retail web site hardware is underutilized Traffic spikes require heroic effort Scaling is non-linear The Solution Migrate the entire www.amazon.com web server fleet to AWS
amazon.com AWS Availability Zone 1 Customer Load Balancer EC2 www 1...... Availability Zone N EC2 www N VPC Databases Services EC2 www 1 EC2 www N...
November 10, 2010
Results All traffic for www.amazon.com is now served from AWS We can dynamically scale the fleet in increments as small as a single host Traffic spikes can be handled with ease
What about a DB use case?
Basic Order Storage Architecture Order Database Web Servers Ordering Service
Basic Order Storage Architecture Order Database Web Servers Ordering Service Scaling Pattern 1 Scaling Pattern 2 Order Database Order Database Web Servers Ordering Service Web Servers Ordering Service
The Problem Cumulative data impacts scale No database scaling pattern is ideal Databases infrastructure is expensive The Solution Create a tiered storage system with AWS
Order Database Web Servers Ordering Service S3
Results 670 million (4TB) orders now stored in S3 We are spending way less on DB hosts Sets us up for migration to RDS / SDB
Lessons learned
Business Lessons Less time spent on capacity planning Fewer conversations with finance More innovation Happier developers I get credit for AWS price reductions Be sure to consider compliance issues No more lease returns!
Technical Lessons Start with simple applications Iterate toward your desired end-state Identify reusable components Engage security early and treat them as partners Migrate to the cloud in concert with your other architectural objectives The cloud can t cover up sloppy engineering
Q&A