Question

I am new to web development and everything involved with it. Im finishing my website in django and i will soon have to find a hosting and deploy it. I heard there are vps or shared hosting types. So here are the questions:
1. How many visits/clicks per day make it worth choosing vps? shared?
2. How hard is it to tune and maintain a vps on your own if you're new to everything!
3. If i ask hosting providers to help me deploy my site - will they help? (shared, vps)
4. Is vps with 256mb memory much faster than shared hosting?
5. If i want to host many sites on one hosting - is vps more suitable for that?
6. Can i host php, django and other stuff on one hosting simultaniously?
7. Should i know something else to make a decision?

Was it helpful?

Solution

I've been using Webfaction for shared hosting of Django. The price is pretty decent, they have good forums, and have a nice web-based interface to help get you setup. Despite the web interface, it doesn't impede you from having full control over your site form the command line. You can host all sorts of things, from Django to Rails, to PHP, and mysql. For smaller sites, it works nicely. I'm not sure how the performance works under high load, but you can always start small and upgrade to a vps. I've never had direct contact with the support personel there, but the documentation seems good. I don't mean for this to sound like a plug, but it's been pretty good for shared hosting. If you have any questions about it, I'll be glad to answer.

OTHER TIPS

Django runs on GoogleAppEngine but php doesn't. Your Django code will have to use Google's datastore models instead of Django's usual ORM, so there is some tie in to GAE - if you decide you want to host your own app later on it could be quite a lot of work.

If you go with a VPS obviously you can run Django and php together, but you'll need to choose a webserve, maybe a firewall, maybe load balancing later on.

Clicks per day isn't really useful, you need to know how many clicks per second you get at peak time.

Cheap hosting providers will provide less help than expensive ones.

Is one VPS going to be enough? What is the impact if it goes down? It's harder to do major upgrades if you only have one server.

With a VPS you need to back your data up somewhere. The hosting may do offsite backups for you, but it's a good idea to have some yourself too.

I don't know how easy it is to backup your data from GAE, but it's probably a good idea if the data is valuable.

Should i know something else to make a decision?

Django (albeit a subset) runs on Google AppEngine:

  1. free for starters and pay as you grow.
  2. auto-scale
  3. resilient (backups are "automatic" i.e. datastore)

The drawback of course is you only have Python and Java as options...

If you want to know about setting up a VPS for Django:

Here's a blogpost about it. I used it when deploying a couple of Django-sites (and, yes, you can use Django+PHP and other stuff - I used Wordpress on the VPS too!).

I had never used a VPS before, and it was very easy to follow this guide.

Given your requirements, I would give it a try to hosting Django on Amazon EC2. If you take advantage of their free tier you can do so free for one year in a micro instance (618Mb RAM, 30Gb filesystem). You get full control of the machine, including SSH access. There are a number of freely available images that already bundle Django including the BitNami Django Amazon Machine Image which is also available for free (disclaimer: I am one of the BitNami developers). As your requirements change, it is relatively easy to resize the server to make it bigger without having to reinstall everything

Don't forget Heroku for simple django needs. Perhaps the easiest deployment out there and no need to figure out servers/ports etc.

Heroku is okay when you are starting small, but if you start getting popular - make sure you watch your usage lest you get a nice surprise on your credit card bill.

Some positives that you may not get with other more traditional providers:

  1. Ability to run the latest version of django and other libraries.
  2. By far and wide, the simplest deployment out there - there is definitely their killer feature.
  3. Who doesn't like free postgresql?
  4. A large menu of third party services that are already integrated with them. You just sign up and a few lines and a git push later you are up and running.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top