views:

364

answers:

7

I have been doing some catching up lately by reading about cloud hosting.

For a client that has about the same characteristics as StackOverflow (Windows stack, same amount of visitors), I need to set up a hosting environment. Stackoverflow went from renting to buying.

The question is why didn't they choose cloud hosting?

Since Stackoverflow doesn't use any weird stuff that needs to run on a dedicated server and supposedly cloud hosting is 'the' solution, why not use it?

By getting answers to this question I hope to be able to make a weighted decision myself.

A: 

I'm sure someone from SO will answer it but "Isn't just more hassle"? Old school hosting is still cheap and unless you got big scalability problems why would you do cloud hosting?

dr. evil
I guess that for a fast growing website as Stackoverflow the option of growing without worries is a big pro for chosing for cloud hosting... What I've read from their blog is that they have bought 1 extra webserver that is not in use yet. With cloud hosting you don't worry about that.
Gidon
+2  A: 

Obviously I cannot say for StackOverflow, but I have a few clients that went the "cloud hosting" route. All of which are now frantically trying to get off of the cloud.

In a lot of cases, it just isn't 100% there yet. Limitations in user tracking (passing of requestor's IP address), fluctuating performance due to other load on the cloud, and unknown usage number are just a few of the issues that have came up.

Mitchel Sellers
+3  A: 

I think this might be a big reason why:

Cloud databases are typically more limited in functionality than their local counterparts. App Engine returns up to 1000 results. SimpleDB times out within 5 seconds. Joining records from two tables in a single query breaks databases optimized for scale. App Engine offers specialized storage and query types such as geographical coordinates.

The database layer of a cloud instance can be abstracted as a separate best-of-breed layer within a cloud stack but developers are most likely to use the local solution for both its speed and simplicity.

From Niall Kennedy

TheTXI
+5  A: 

I honestly do not know why SO runs like it does, on privately owned servers.

However, I can assume why a website would prefer this:

  • Maintainability - when things DO go wrong, you want to be hands-on on the problem, and solve it as quickly as possible, without needing to count on some third-party. Of course the downside is that you need to be available 24/7 to handle these problems.
  • Scalability - Cloud hosting (or any external hosting, for that matter) is very convenient for a small to medium-sized site. And most of the hosting providers today do give you the option to start small (shared hosting for example) and grow to private servers/VPN/etc... But if you truly believe you will need that extra growth space, you might want to count only on your own infrastructure.
  • Full Control - with your own servers, you are never bound to any restrictions or limitations a hosting service might impose on you. Run whatever you want, hog your CPU or your RAM, whatever. It's your server. Many hosting providers do not give you this freedom (unless you pay up, of course :) )

Again, this is a cost-effectiveness issue, and each business will handle it differently.

Yuval A
Are maintainability and scalability not reasons in favor of cloud hosting? And what type of website is SO, medium/big sized?Maintainability - look at the outage of SO a few days ago. Could this been prevented by cloud hosting?Scalability - can't cloud hosting scale much easier?
Gidon
Yes and yes. But suppose another outage which the staff have no control over, which could have taken days to fix. Read the blog post on the outage, could you have done THAT on cloud hosting? Scalability - absolutely easier on the cloud. But what if you want full control on HOW you scale?
Yuval A
Cloud hosting won't really prevent outage type issues, it just moves them somewhere else and onto someone else's plate.
annakata
+2  A: 

From what I've seen (and this is just based on reading various blogged stories) most of the time the dollar-costs of cloud hosting just don't work out, especially given a little bit of planning or analysis. It's only really valuable for somebody who expects highly fluctuating traffic which defies prediction, or seasonal bursts. I guess in it's infancy it's just not quite competitive enough.

IIRC Jeff and Joel said (in one of the podcasts) that they did actually run the numbers and it didn't work out cloud-favouring.

annakata
I will do some number checks, because that is at least as important.
Gidon
+2  A: 

I think Jeff said in one of the Podcasts that he wanted to learn a lot of things about hosting, and generally has fun doing it. Some headaches aside (see the SO blog), I think it's a great learning experience.

Cloud computing definitely has it's advantages as many of the other answers have noted, but sometimes you just want to be able to control every bit of your server.

MattGWagner
I see what you mean, but if for a moment we look outside the box... is it really necessary to control every bit of your server? If you have a normal configuration (IIS 7 with a SQL 2k8), do you really need to be in control? or is it just an old habit...
Gidon
Probably a bit of nerd love. I can't imagine needing full blown root/admin access for a box when I'm hosting pretty standard software.
MattGWagner
+1  A: 

I looked into it once for quite a small site. Running a small Amazon instance for a year would cost around £700 + bandwidth costs + S3 storage costs. VPS hosting with similar specs and a decent bandwidth allowance chucked in is around £500. So I think cost has a lot to do with it unless you are going to have fluctuating traffic and lots of it!

Adam Pope