62

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.)

16
  • 17
    one miillliiiooonn dollars
    – Zypher
    Jan 5, 2011 at 13:18
  • 10
    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
    – Pekka
    Jan 5, 2011 at 13:19
  • @Zypher much appreciated. I think I can close the question now. :)
    – abel
    Jan 5, 2011 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, 2011 at 13:24
  • @Zypher AWS with it's pricing plans aws.amazon.com/ec2/pricing will be good to start with.
    – abel
    Jan 5, 2011 at 13:26
  • 1
    @abel alright i'll see if I can pull something together for you later today
    – Zypher
    Jan 5, 2011 at 13:27
  • @Zypher much appreciated.
    – abel
    Jan 5, 2011 at 13:31
  • @abel, just out of curiosity, why are you interested?
    – Pops
    Jan 5, 2011 at 14:51
  • 3
    the problem is the variable cost of the waffles used to feed the hamsters.
    – Rosinante
    Jan 5, 2011 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
    – Pekka
    Jan 5, 2011 at 16:26
  • 1
    @Rosinante - The changed from feeding them waffles to feeding them thingadongdongs, which are cheaper per megaflop than waffles.
    – Pollyanna
    Jan 5, 2011 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.
    – Pollyanna
    Jan 5, 2011 at 16:28
  • @Popular I was calculating costs for a vps.
    – abel
    Jan 5, 2011 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, 2011 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, 2011 at 22:44

2 Answers 2

75

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

8
  • 2
    please state assumptions used for the calculator calculator.s3.amazonaws.com/calc5.html
    – abel
    Jan 5, 2011 at 19:51
  • 26
    @Zypher♦: If someone needed proof that S3 is actually run by Starbucks, there it is ;) Jan 5, 2011 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, 2011 at 7:17
  • @abel ... 100% utilized a month, these things serve 24/7/365
    – Zypher
    Jan 6, 2011 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? Oct 24, 2011 at 16:24
  • @codecompleting you still need to pay for your SQL licenses running on AWS doesn't alleviate that burden
    – Zypher
    Oct 24, 2011 at 18:30
  • 1
    @Zypher that's where your wrong and makes your calculations misleading, see reserved pricing here: aws.amazon.com/windows Nov 22, 2011 at 15:02
  • 2
    @codecompleting at the time of this answer, and still today - Amazon doesn't cover SQL Enterprise edition, you still have to bring your own. Apr 15, 2014 at 10:53
31

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.

7
  • 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, 2011 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 :) Oct 27, 2011 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, 2011 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. Nov 10, 2011 at 8:38
  • This is closer to what I estimated. +1
    – NotMe
    Dec 13, 2011 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, 2013 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. May 13, 2013 at 15:43

You must log in to answer this question.

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