Blogger social buttons

Tuesday, 23 October 2012

Cost Analysis: TripAdvisor and Pinterest costs on the AWS cloud

Cloud Cost Analysis: TripAdvisor and Pinterest cost forecasts on AWS US-East cloud. On-Demand vs Reserved Instances...

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:
  1. 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?
  2. 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...
  3. 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?
I created a couple of deployments in PlanForCloud to explore these questions and the results are very interesting - they show how important it is to get an idea of costs and budget for cloud spend prior to using the cloud:


1. TripAdvisor's "700K requests/minute" deployment on the AWS US-East cloud - how much would it cost?

What does the deployment look like?
Servers
- 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.

Databases
- 5  x Cluster Compute 8XLarge (cc2.8xlarge) running 24 hours/day as database servers, each having a 1TB EBS volume with 100 IOPS attached.

Storage
- 5TB of EBS with snapshots to S3 every month for backups of all databases.

Data Transfers
- 145TB of data going out to users every month (around 200GB/hour).

TripAdvisor cloud computing costs - deployment on AWS US-East
TripAdvisor's deployment on AWS US-East (click to see full-size)
What do the costs look like?
TripAdvisor's deployment costs on AWS US-East: On-Demand (click to see full-size)
As expected, the majority of costs are going towards their server and database running hours. The total cost of this deployment would be around $140,000 per month which translates to around $1.7M per year. Now the interesting question:


2. How much would be saved if TripAdvisor's deployment used AWS Reserved Instances?

If TripAdvisor was to use 1-year Heavy Utilized servers, they would immediately start to save around $800,000 per year, and that's not even including AWS's Volume Discounts that might apply in this case as a large number of reserved instances would be purchased.

TripAdvisor's deployment costs on AWS US-East: 1-Year Reserved Instances (click to see full-size)

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 moral of the story? it pays to do some upfront cost forecasting and comparing your option. Start forecasting your cloud costs


Pinterest's growing storage costs (click to see full-size)
Next blog post: AWS Reserved Instances vs On-Demand: Breakeven point

-- Ali
Technical Lead at PlanForCloud.com

Thursday, 4 October 2012

What server options are available for your applications on the cloud?

When looking at cloud servers, there are thousands to choose from - PlanForCloud helps filter options based on your application requirements and assess costs

When PlanForCloud started, there were a few hundred cloud server options available in the tool, but as Amazon continues to innovate and release new server, storage & database options across different regions the list keeps growing. This combined with the addition of Google Compute Engine and SoftLayer into PlanForCloud takes our server purchase options count to over 3,300.

PlanForCloud is a free cloud cost forecasting website which runs a user's modelled deployment through a simulation to create a detailed 3-year cost report with the latest cloud prices. This gives you a detailed cloud spend report which you can use to budget for your cloud deployments. Since we run a simulation, you do not need any cloud accounts or credentials. We currently support the following cloud providers:
Cloud Provider Logos supported by PlanForCloud
Cloud Provider supported by PlanForCloud

We talk to many enterprises and SMEs, and it's a reoccurring issue that when it comes to choosing servers on the cloud, there are too many options and there needs to be a better way to filter and assess options across different clouds. This lead us to re-thinking how you interact with PlanForCloud, and we are excited to announce our latest release.

You can model your application in terms that are familiar to you, such as where you would like your data to be hosted (region), which operating system you would like to use, how many CPU cores your require, how much RAM (in GB) your application requires and how you would like to purchase your server (e.g. On-Demand or Reserved). You can also filter by cloud provider if you know which one you would like to use and there is a text search in case you know exactly which server type you need (e.g. 'XXLarge reserved 1-year Heavy-Utilization'). Try it out:
1. Go to https://my.planforcloud.com and Login (or login as a guest)
2. Open a deployment
3. Click the 'Add Server' button

Select Cloud servers based on your requirements and specifications in PlanForCloud
Select Cloud Servers based on your requirements and specifications in PlanForCloud
As you start to apply filters, the selection options will narrow down to what you have selected - the number at the bottom left shows how many servers match your criteria. The Monthly Cost column gives an indication of how much that server will cost if you run it for 24 hours a day (and the upfront cost if your buying reserved instances). This enables you to quickly compare costs across different purchase options, regions and providers.

You can also filter cloud storage and cloud database options by going to either the 'Storage' or the 'Databases' tabs within a deployment. PlanForCloud is a free cloud cost forecasting website - try it free now.

-- Hassan
Product Manager at PlanForCloud.com