What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 127 Stack Exchange communities.

Stack Exchange manages its own servers, as it should, but if Stack Exchange were to be hosted on a third-party "cloud" hosting (like Amazon), what would its monthly and yearly expenses be (keeping everything else the same)?

A detailed answer comparing it to the bills (update: I don't want or expect to see the actual bills) that Stack Exchange boots currently (including power, property, and staff) would help.

(PS: I know that the Server Fault blog is a good resource. I also understand that managing your own hosting is almost the same as setting up a hosting company and using it for your own needs.)

Update:

Companies have a right to privacy, so I am not expecting to see Stack Overflow's actual expenses. But that also makes my question of expected expenses on a third-party host boil down to a question of daily views/bandwidth details, which again Stack Overflow has a right to keep private. It's not like they cannot be estimated (for example, according to Alexa, Stack Overflow has a three month average of 0.0144% of global pageviews). So that boils the question down to nothing but some calculated guesswork.

(The question in no way wishes to undermine Stack Overflow's interests.)

(This question was posted on Server Fault first, but it got a lot of stick there and here it is.)

share|improve this question
12  
one miillliiiooonn dollars –  Zypher Jan 5 '11 at 13:18
8  
The main expense is probably the hamsters powering the servers. If @Zypher would be kind enough to reveal SO's Hamster : Megaflop ratio, we could do the math from there –  Pëkka Jan 5 '11 at 13:19
    
@Zypher much appreciated. I think I can close the question now. :) –  abel Jan 5 '11 at 13:19
2  
ok, in a more serious tone. Pick a proivder (AWS/godaddy/slicehost/whatever) It is way to broad to say how much on provider x. Tracking down multiple providers pricing for stuff i'm not going to use is not my idea of fun :) –  Zypher Jan 5 '11 at 13:24
    
@Zypher AWS with it's pricing plans aws.amazon.com/ec2/pricing will be good to start with. –  abel Jan 5 '11 at 13:26
1  
@abel alright i'll see if I can pull something together for you later today –  Zypher Jan 5 '11 at 13:27
    
@Zypher much appreciated. –  abel Jan 5 '11 at 13:31
    
@abel, just out of curiosity, why are you interested? –  Pops Jan 5 '11 at 14:51
3  
the problem is the variable cost of the waffles used to feed the hamsters. –  Rosinante Jan 5 '11 at 16:23
2  
@Rosinante that, plus more importantly the cost of hay and other natural foodstuffs that vary throughout the year. Contrary to the impression that Meta SO may give one, keeping hamsters on a waffles-only diet is cruelty to animals –  Pëkka Jan 5 '11 at 16:26
1  
@Rosinante - The changed from feeding them waffles to feeding them thingadongdongs, which are cheaper per megaflop than waffles. –  Adam Davis Jan 5 '11 at 16:27
5  
@Rosinante - but don't tell Pekka, he's one of those "Animals should be powering children's love, not servers!" types. –  Adam Davis Jan 5 '11 at 16:28
    
@Popular I was calculating costs for a vps. –  abel Jan 5 '11 at 19:49
1  
Suffice to say, a lot more than most companies pay for an IT staff and hardware in a year, just in hosting, if they let someone else do it (which would be a terrible idea for SOIS) –  jcolebrand Jan 5 '11 at 20:07
2  
@drachenstern also don't forget with AWS/VPS/Dedicated hosting,etc You still need to MANAGE the instances so you still have to PAY the IT Staff :) (maybe just less of them) or pay the hoster to manage it for you. –  Zypher Jan 5 '11 at 22:44
add comment

2 Answers

up vote 62 down vote accepted

So, using amazon to host the Stack Exchange network would cost about $17,286.78 a month according to their calculator and some basic assumptions.

What this breaks down as:

2 High-Memory Quadruple Extra Large Instances + SQL Server machines1 & 10 Web Tier Machines1 = $10,313.44/mo

Inbound Data Transfer2 = $869.25/mo
Outbound Data Transfer2 = $6,127.46/mo

1: The CPU's described by Amazon for a compute instance are VASTLY slower than what we have running right now (1.7Ghz Xeon circa 2007) We would probably need many more of these to run our sites at an acceptable speed

2: All data transfer is based on AVERAGE transfer out our graphs ... the resulting number is likely low for a month

share|improve this answer
3  
Super interesting . Thanks for the detailed response. –  jjnguy Jan 5 '11 at 16:58
2  
please state assumptions used for the calculator calculator.s3.amazonaws.com/calc5.html –  abel Jan 5 '11 at 19:51
    
@abel: They call it: High-Memory Quadruple Extra Large Instance ... I'll update the post –  Zypher Jan 5 '11 at 22:32
19  
@Zypher♦: If someone needed proof that S3 is actually run by Starbucks, there it is ;) –  Piskvor Jan 5 '11 at 23:14
    
@drachenstern that is something i feared too. @Rant Amazon has commoditized aws a lot, and going through their detailed overviews makes my head spin. do they really need to have that many types of what-you-have? @Zypher High Memory Quad EL Instance = 3.68/hr x 2 (5520$ /month)and Web Tier(High CPU instance) = 0.29/hr x 10(2175$/month) => 7695$ per month? –  abel Jan 6 '11 at 7:17
    
@abel ... 100% utilized a month, these things serve 24/7/365 –  Zypher Jan 6 '11 at 11:42
    
but with Amazon you save on Sql server licenses. Paying say 20K per CPU for sql server x CPU also adds up and should be put into the equation don't you think? –  codecompleting Oct 24 '11 at 16:24
    
@codecompleting you still need to pay for your SQL licenses running on AWS doesn't alleviate that burden –  Zypher Oct 24 '11 at 18:30
1  
@Zypher that's where your wrong and makes your calculations misleading, see reserved pricing here: aws.amazon.com/windows –  codecompleting Nov 22 '11 at 15:02
    
@codecompleting at the time of this answer, and still today - Amazon doesn't cover SQL Enterprise edition, you still have to bring your own. –  Nick Craver Apr 15 at 10:53
add comment

I'd like to add that what a lot of people forget when pricing out AWS is that utilizing the reserved instances (3yr) is 48% cheaper than the on-demand prices.

Using the numbers from Zyhper's post above and 3yr reserved instances and the AWS Calculator, you end up with:

  • 2x High-Mem Quad Ex Large (DB?)
  • 10x Large (Web)

Total: $30,000 upfront reservation cost and $1,873.92/mo.

For bandwidth let's use this page as an example, it is 11k GZipped (according to GZip Online Tester). With roughly 95 million pageviews a month, that gives us just a sprinkle shy of 1TB of outbound bandwidth which is $119.88/mo.

Our monthly expenditure looks like: $1,873.92 + 119.88 = $1,993.80

Normalizing our expenses over 3 years, we have:

  • $30,000 reservation prices
  • $71,777 monthly for 36 mos

Total: $101,776.80 for 3 years

Divide by 36 months to get the true monthly cost over those 3 years and you get $2,827/mo if Stack Exchange hosted with that hardware on Amazon.

As they mentioned they currently spend roughly $4k a month. I don't doubt their hardware needs on Amazon would be significantly higher to match the same performance metrics they are getting now on dedicated hardware with SSDs - infact I would never encourage them to move off of their current infrastructure onto AWS, but the point is that it wouldn't cost them 3 or 4x more.

For 4k a month they could get shy of twice the hardware I listed above on AWS to deploy on.

These types of deployments work for high-scalability sites obviously, reddit serves 10x the traffic StackExchange does from AWS every month.

share|improve this answer
    
How do you get down from 10k/month to 2k/month server costs? This seems to deviate from what you stated before - "reserved instances (3yr) is 48% cheaper than the on-demand prices" ... I would expect the monthly server costs is 10k/month - 48%, so about 5k/month. –  user171499 Oct 27 '11 at 12:03
1  
deyanp, I didn't write the answer that claimed it was $10k/mo, I have no idea how they came to that conclusion. AWS prices change once or twice a year typically and they weren't using reserved-instance pricing so that may impact it... regardless you can just open the AWS calculator and check my calculations. It's not like I can fake the addition :) –  Riyad Kalla Oct 27 '11 at 14:54
    
Riyad, I calculate the cost of 2x High-Mem Quad Ex Large(OS Windows and SQL server), 10x High-CPU Ex Large(OS Linux), when we apply "reserved instances (3yr)", the cost is $ 4099.20/mo, Reserved Instances (One-time Fee) is $60,000, when we apply on-demand instances, the cost is $ 10365.12/mo. –  user172359 Nov 10 '11 at 2:49
1  
Ding, the calculation I used was 10 Large instances -- looking up though I realize the "10x Large" could look like "10 XLarge", sorry for the confusion. I was trying to match the rough original approximations for "web machines" which I believe the Large instances are sufficient to load balance (7GB mem, multi-core). XLarge web front ends might be necessary if there is no caching, but I imagine SO does significant caching. –  Riyad Kalla Nov 10 '11 at 8:38
    
This is closer to what I estimated. +1 –  Chris Lively Dec 13 '11 at 3:04
    
Cloud pricing is not just about hardware costs, but also operating costs. Engineering and administrating its own infrastructure requires human resources. Just see blog.serverfault.com to see the complexity and pitfalls of managing its own infrastructure. –  KrisWebDev May 9 '13 at 19:09
    
@KrisWebDev absolutely right; the people cost should be factored in as well if you are comparing something like cloud vs classic/dedicated boxes that you admin yourself. –  Riyad Kalla May 13 '13 at 15:43
add comment

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .