This is a guest post by Ali Khajeh-Hosseini, Technical Lead at PlanForCloud.com.
I read a recent blog post about TripAdvisor's experiment with AWS where they attempted to process 700K HTTP requests per minute on a replica of their live site. There was also an interesting blog post on Pinterest's massive growth on AWS. These blogs highlighted exactly the types of questions we're interested in, mainly:
- How much would it cost to deploy System X on Cloud Y? e.g. how much would it cost to host TripAdvisor on the AWS US-East cloud?
- Would it be cheaper to use deployment option X or Y? e.g. would it be cheaper to use reserved instances, different types of instances, different cloud providers...
- What happens to costs when the system grows? e.g. Pinterest has around 410TB of data on S3, what if that keeps growing at a rate of 25% every month, like it has been in the last 10 months?
1. TripAdvisor's "700K requests/minute" deployment on the AWS US-East cloud - how much would it cost?
What does the deployment look like?
- 270 x Hi-Memory XLarge (m2.xlarge) running 24 hours/day as front end servers.
- 70 x Hi-Memory XLarge (m2.xlarge) running 24 hours/day as back end servers.
- 32 x Hi-Memory Xlarge (m2.xlarge) running 24 hours/day as memcache servers.
- 5 x Cluster Compute 8XLarge (cc2.8xlarge) running 24 hours/day as database servers, each having a 1TB EBS volume with 100 IOPS attached.
- 5TB of EBS with snapshots to S3 every month for backups of all databases.
2. How much would be saved if TripAdvisor's deployment used AWS Reserved Instances?
3. What would happen to Pinterest's storage cost if they keep growing at a rate of 25% every month?
Pinterest has around 410TB of user data on AWS S3, which costs around $39K per month on S3 Standard Storage. If this figure grows by 25% every month, like it has been for the last year, Pinterest would have to pay around $470,000/month one year from now if they keep using S3 Standard Storage. The same amount of user data would cost around $319,000/month if they use S3 Reduced Redundancy storage.
The payoffs in these cases are as follows:
- For TripAdvisor (and any company that is thinking of running long term projects/sites on AWS), they should take reserved instances seriously. For example, the TripAdvisor 700K system would save around $800K/year if it uses reserved instances vs on-demand (I know this was short-lived experimental system, but I'm just using it as an example). This requires no change to the architecture or the system itself, it's simply a matter of doing some forecasting to ensure you can handle the upfront charges in your cashflow. Companies can also buy their reserved instances in stages to stagger the upfront costs.
- For Pinterest (and any company that is looking to grow their systems on the cloud), they should use growth patterns to do "what-if" style analysis to a) understand the costs of elasticity b) compare deployment options. For example, Rackspace released their cloud block storage services; their SSD option is similar to AWS EBS Provisioned IOPS but it's much more expensive.
Either way, like with any other purchasing decision, it's good to compare your options and have a rough idea of your monthly bills.