Is there any compelling reason a programmer would host on a shared platform versus just having a VPS account somewhere?
closed as primarily opinion-based by Martijn Pieters, user40980, GlenH7♦, Dan Pichelman, Kilian Foth Nov 20 '14 at 13:10
Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.
Advantage Shared Hosting
- Generally cheap so ideally for doing development or running smaller sites with low traffic
- A lot of features are pre setup among other a basic security model (hopefully)
- 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
- 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
- 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)
- And therefore saves TIME each month in maintenance (and this INCLUDES: issues means just mailing the helpdesk, outtages just waiting and shouting at support)
- Diskspace is often a lot more e.g. look at Dreamhost
Disadvantages Shared Hosting
- 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...
- Often Peaks lead to scaling your performance down after that which is never really clear
- At some point with enough steady traffic / cpu usage / socket usage you run against the boundaries no matter what you simply have to switch
- 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.
- 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.
- 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
- 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...)
- 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.
- 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).
- 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.
- More secure: YOU are on top of it ;)
- from a certain level MORE memory, MORE cpu, MORE sockets, MORE everything (except possibly disk space) so at some stage you HAVE to
- You learn a lot of stuff which you need to learn anyway (i think)
- 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).
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.
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.
- 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.