Is there a guide out there on how to choose when to pay for web hosting vs. hosting your own? Assuming that root access is a must I would like to compare things like cost, scalability and personal stress.
Here is what I could come up with.
Paying for web hosting:
Benefits:
-
Much cheaper for a small scale. I assume anything under $50 a month would be cheaper than paying for the bandwidth of hosting.
-
No stress in dealing with power outages, server restarts or internet going down.
-
For the most part less busy work involved with setting up.
Negatives:
- Cost goes way up when higher specs are needed (for example monthly cost triples with ability to use 8gb of ram that you can buy for $90 ). This means you have to target a particular ram usage and monitor so your instance stays within the threshold.
- root access for the most part is a premium.
- You may get tied into a vendor specific deployment process.
Hosting on own :
Positives:
- 100% control of specs and software.
- When you get past paying for the bandwidth you get much more bang for your buck by building your own machine.
Negatives:
- Doesn’t make financial sense if bandwidth costs are more than web hosting costs.
- Having to deal with power outages, server restarts or internet going down.
I think the best of both worlds would be if there was a place that dealt with bandwidth, power outages and server restarts but you provided your own server. Kind of like a 24 hour day care for a server. Does anything like that exist?
6
I would say “paid” hosting has many many different flavors (shared, dedicated virtual, dedicated, etc..). And those comparisons are most likely available all over. When comparing that to hosting your own (I’m assuming in your home / garage), there is no comparison for any real world application if uptime, security and reliability are a concern.
Hosting your own machine is okay for information websites that wont sue you for going down, but you take on all the risk for uptime and security. both of which can drive your clients away (if that’s your model), or compromise your customers data (if you’re hosting their data).
you can get a basic hosting plan for very cheap, even free, and will require much less pain so it doesnt really make sense
if you want full control and 100% of the resources, then I would recommend getting a dedicated box from a hosting company, generally you just have to pay for the OS license if that even applies.. then you can RDP in and do whatever you want to it, you’ll still have to worry about local security, but the power company wont be shutting you down during the day for their normal maintenance.
Amazon offers some free virtual instances, and I would recommend starting there.. the machines are pretty weak, but the price justifies the performance you get.
1
The 24×7 care are looking for is called Managed Hosting — many firms exist that do that in various capacities for various fees. I’ll note it is nice but it still won’t necessarily replace having a good, knowledgeable engineer who knows your application and stack around to put out fires — the host often can do little more than tell you your database server has locked up but they likely can’t fix it.
In 2013, if you are building an internet facing application, there is very, very little reason to burden yourself with hosting the production instances yourself unless you happen to have in your possession a data center with all the typical niceties they come with like redundant power, redundant internet connections, 24×7 skilled labor around to support your box. If you’ve got those you’d also probably appreciate what stuff like that costs and why it seems dramatically more expensive.
Would you consider leasing a VPS paying for hosting or hosting your own? I find it’s the best of both worlds, and these days it’s quite cheap. I’ve had better than 99.99 uptime in the last three years, which is also incredibly good.
5