Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Is there any compelling reason a programmer would host on a shared platform versus just having a VPS account somewhere?

share|improve this question

3 Answers 3

up vote 7 down vote accepted

Advantage Shared Hosting

  1. Generally cheap so ideally for doing development or running smaller sites with low traffic
  2. A lot of features are pre setup among other a basic security model (hopefully)
  3. In general you get a lot of extra goodies like one-click installs that have been tested in the environment you are running it on and sometimes even configured
  4. When there is more traffic in general peaks are handled: with VPS your server is dead e.g. on mediatemple there is a Grid based model which can scale . Even if there is a peak it just runs along though you get a mail that you will have to pay extra
  5. It is save you TIME investing in learning e.g. security (firewall on linux, ssh security, how to read the performance indicators e.g. what do these sockets indicators mean)
  6. And therefore saves TIME each month in maintenance (and this INCLUDES: issues means just mailing the helpdesk, outtages just waiting and shouting at support)
  7. Diskspace is often a lot more e.g. look at Dreamhost

Disadvantages Shared Hosting

  1. Security is often less. E.g. a lot of users are running around in that same environment and when you have your files wrongly CHMOD'ded they can read them. If ever there is a general security breach...
  2. Often Peaks lead to scaling your performance down after that which is never really clear
  3. At some point with enough steady traffic / cpu usage / socket usage you run against the boundaries no matter what you simply have to switch
  4. You have not complete control over your server e.g. you can not really install another operation system (or something on top of that that is out of line) e.g. running some kind of server.

Disadvantage VPS

  1. Unmanaged AND managed VPS requires you to have the knowledge to secure the thing this costs you TIME (all knowledge is out there) but YOU are responsible for it. You need to learn about linux firewalls for example (and a lot more). Maybe you do not want to spend your time on that.
  2. VPS requires also enough knowledge on OS level, maintain it, patching software you specifically installed and learning how to patch the specific software e.g. upgrade Apache with dependencies. This costs TIME learning but also TIME doing it each month
  3. ISSUES on VPS are YOUR responsibility (well ... for the most part) e.g. if your server is slow you need to go out there and check not only the software part but also the OS part and the Database performance part. E.g. if both CPU and Memory are ok... what the heck can it be. This also cost TIME. (also think of user management, email setup, etc...)
  4. Also it more expensive. And this is really a lot more expensive than shared hosting because the upper limit of what you can do on shared hosting is not the bottom limit of what VPS can offer. E.g. if your WordPress Multisite is on its max on your shared hosting account you can not get that 1mb cheap slice. You need to possible get immediately that 4 GIG memory thing. (ok this probably means go dedicated) (since database performance plays and issue here) OR if your facebook alike ajax chat application ran against its limit on your shared hosting account... go get something much bigger because probably the max sockets are your pain point.
  5. I just wanted to summarize ALL of this as : more TIME needed from yourself and possible A LOT if you still need to learn al lot and on the second place MONEY (since I assume that the revenue behind it would cover that larger need for infra).
  6. If you VPS runs against its limit e.g. 512mb memory (...) your site is DEAD (ok depending on how you set it up but lets assume worst case you need to go to the panel you put on it and restart the whole lot) as said on most shared hosting they will scale it and bill you afterwards unless your page hit the front page of digg then they will think some kind of ddos attack is taking place.

Advantage VPS

  1. More secure: YOU are on top of it ;)
  2. from a certain level MORE memory, MORE cpu, MORE sockets, MORE everything (except possibly disk space) so at some stage you HAVE to
  3. You learn a lot of stuff which you need to learn anyway (i think)
  4. You can run anything you want as long as you have the resources for it

Personally I think: run on a good shared account as long as possible, then switch to dedicated if it no longer goes on the shared platform unless the thing you are runnning can be confined on VPS. (such as : development environment that needs own server stuff).

share|improve this answer
1  
You keep emphasizing TIME, how about the TIME you spend putting up with your shared host's BS? How many offer shell access? How many will install something you want to play with? Separate DB's? Want to run Tomcat? Thinking about doing some Python development? A shared hosting environment is severely restricted, this costs your TIME working around it. –  Josh K Nov 21 '10 at 2:26
    
@Josh I would rather be paying for 2-3 shared hosting websites then deal with a VPS. On my site I don't have to spend dealing with my shared hosts "BS". It just works. Its only when I need to do something that wasn't on the plan that things become an issue. But thats your problem, not theirs. You either have marginal control or too much control. And TMK a lot of the popular webhosts offer shell access, Java webservers, etc. Its just trying to find a good host. –  TheLQ Nov 21 '10 at 5:15
    
@TheLQ: You can pay $20 / month for a small VPS or even less for a small cloud server. I always recommend the former because when it comes down to it you're still locked into your host's BS and that doesn't work for me or my clients. Can you please put up a list of hosts who offer shell access, Apache access logs, Tomcat installations, something other then MySQL as a database option? I'll even settle for hosts that don't offer everything on my list, but be realistic. If you aren't doing LAMP then shared hosting is probably not for you. –  Josh K Nov 21 '10 at 5:53
    
@TheLQ: I started writing up an answer but realized it's useless to simply negate all of your points. Shared hosting is not a lifesaver. Shared hosting is an anchor. Cast that anchor away and simply face the fact you are doing web development there are times you will have to get your hands dirty. Often sooner rather then later. –  Josh K Nov 21 '10 at 6:03
    
@JoshK, yeah thats the disadvantage of shared, i put it under #4. i was e.g. thinking of dreamhost and mediatemple: shell access is there but ofcourse running tomcat etc requires vps. working around it... yes could spend TIME on that but i think most would go then to vps or dedicated. If your DEVELOPMENT is `doing php around wordpress´ ... shared is good enough for most simple sites. –  edelwater Nov 21 '10 at 13:32

A Shared platform frees you from responsibility for the OS. not having to apply OS patches, not having to pay for software licences for the installed software, anti-virus, firewalls, backups are all your providers responsibility.

Now the flip side to this is that living on a shared server means your use of the server has to be compatible with the other hosted sites on that server. You cannot be using major CPU cycles, large numbers of simultaneous users. etc.

You can go for a virtual private server, but I would be asking questions about what it was you were actually getting for your money. A virtual machine might believe it has 2 fast CPU's, lots of memory and plenty of I/O bandwidth to the disks, but if they are running 20 VM's on the one server, all of these resources are going to be compromised. insist on acceptable performance guarantees.

For that serious product, nothing beats dedicated servers. Even if you run VMWare on it and host your own virtual server farm. At least you know you have the hardware resourced available that you have paid for. you have the control you want. You just need the expertise to manage the servers when they are in an Internet exposed position.

share|improve this answer

It's a simple cost + feature balance:

  • Shared - cheap, managed, less isolated, fewer choices
  • VPS - less cheap, sometimes less managed, more isolated, more choices, can be more work

You really need to determine how much you want to spend, how much you can responsibly manage yourself, and what features you need.

Other points:

  • Security is not inherently different between the two (either can be secure or insecure based on your actions, your host's setup, and the actions of others).
  • Unlimited things are never unlimited, so comparing shared hosting features to VPS features is misleading. If it's important, you want guarantees for bandwidth, storage, etc.
  • Both shared and VPS hosts offer different levels of management. There are fully managed VPSs, for example, as well as mostly-unmanaged shared hosts.
  • Pricing of both shared and VPS hosts vary widely (as do features).
  • Bandwidth and uptime also vary widely between both types of hosts, look for 3rd party verification for any host you pick.
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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