Short form: I'm trying to decide between shared, VPS, and cloud hosting for a few Django webapps.

Long form: I'm currently hosting around half-dozen sites (a mix of Django and PHP) on two Webfaction accounts. They are pretty low-traffic, but I'm sort of feeling the strain of shared hosting. Notably:

  • A mediawiki install on my account went a bit funny, soaked up a bunch of RAM spawning zombie PHP processes, and Webfaction's automatic script killed the other websites on the account (which is fair enough, but not ideal).
  • One of the accounts is on a semi-overloaded server (right now uptime shows a load average of 9.56, 6.91, 4.43), and my sites on that account are behaving a bit sluggishly.

In addition, I fondly hope that One Day we'll have a lot more traffic. So (potential) scalability would be nice. I've been just wonderfully amazed at Webfaction's price/performance, but it's still shared hosting.

The next step seems like it should either be a VPS or some sort of cloud/PaaS option.

If I went for the VPS route then...I guess I'd get a small Linode (or maybe more than one?) and start migrating apps from Webfaction. The question here is....do I try and jam them all into a single VPS? Try and put 1-2 apps on each VPS? Or split stuff up by function, so I have one VPS for the databases for all the apps, and another for serving static media, etc. Thoughts?

The cloud/PaaS option I'm a bit more vague on. I guess I could try migrating the Django apps to something like Heroku (which just launched Django support) or http://gondor.io/. The downside here is I'm not really familiar with them, and all the cloud options I've looked at seem quite expensive compared to a simple VPS. I guess the scalability is good, but none of my sites are actually using much in the way of resources.

Or, maybe I should just stick it out with shared hosting. It's more-or-less working, it's cheap, and it's nice to have someone else be responsible for hardware and OS issues.

Are there any good rules of thumb to apply here? Do I want a single (medium) Linode and try and run everything, or a few small ones (and if so, split by app or split by role?), or is Heroku and similar services just hands down better. Anyone have any thoughts?


I'll give my thoughts on VPS, as I have no experience in cloud.

I was in the same boat as you in terms of having my shared hosting no longer being reliable in terms of performance. I had roughly 20 websites on the same account, but only a handful of ones that were more than basic html/css/javascript.

I chose to get a cheap VPS(I pay $40/mo) and moved everything over to that. Not only did it allow me to install new things(setup my own email server for example), it also increased performance by a very large amount. I unfortunately didn't do any benchmarks prior to the moves.

I use mainly asp.net though, so this is a Windows example. Though the 2 php sites did increase in performance as well. Every last website is on the same VPS. I have no bandwidth issues, no site response issues, and if something breaks I have many more log files available to me to review.

So, in the end, I highly recommend the VPS route over shared. If you run this as a business, a shared plan is unacceptable. I actually regret not switching sooner.

I use rackwire.com, which I highly recommend. (didn't even post my referral link, shows how much I really recommend them)

  • Good answer, I would recommend to verify which VPS you go to and check reviews – Book Of Zeus Oct 9 '11 at 23:40

Not the answer you're looking for? Browse other questions tagged or ask your own question.