Friday, January 28, 2011

What are some pitfalls of hosting a website from home?

So, it's not terribly difficult to host a website from home. It doesn't seem to make sense to pay a 3rd party to host some low traffic websites, so in some cases hosting from your home computer makes sense .But maybe I'm not seeing the whole picture.

Here are some of the pitfalls I can think of:

  • Dynamic IP address can bring the website down temporarily
  • Power can go out for extended periods of time
  • Internet provider can go down easier
  • Limited bandwidth and bandwidth caps by ISP
  • Potential contract issues with ISP not allowing website hosting

Are there others?

  • First and last are the big ones. Most ISPs disallow it per their terms of service, and some may even block inbound port 80/443 traffic. Remember too, many broadband connections are setup to allow much greater downstream traffic than upstream traffic (what was ADSL in the DSL days). So you may get 15MBit down, but only 4MBit up. If you're serving that means you've got a 4MBit choke point.

    Brian Knoblauch : As mentioned, most ISPs don't allow that for residential service. HOWEVER, they typically have a commercial service available at your house for only a few bucks a month more, where hosting web sites is legal and supported.
    Mr. Shiny and New : wow... 15Mbit down, 4Mbit up? in Canada most people can't even get 4Mbit down and no ISP offers homes more than 800kbit up. Makes your point even more salient, I guess.
    WaldenL : True. It's funny we don't always think about those that aren't as wired as we in major metro areas in the US are. I can get 30/5 to my house if I want it, and Optimum is due to release 100Mbit to the house soon. Then again, my inlaws can't even get DSL, and there's no cable, so they use dialup. I can't imagine.
    From WaldenL
    • Electricity cost vs. Hosting cost
    • You usually don't have much redundancy at home (i.e. only one server with no automatic failover)
    • Cost of making the setup redundant vs. Hosting Cost
    • You need to be careful to separate your Server from your home network, otherwise security issues in your server can lead to a breach of your private network
    WaldenL : +1 I hate to bump your answer above mine :-) But the electricity cost is a great addition to the list. Servers aren't free to run, and hosting can be damn cheap, might be a wash.
    Tony_Henrich : My computer is on all the time. Electricity is not an issue.
    • Environment issues. (Dust, vibration, storage space, do you have a suitably out of the way place for your server to live?)
    • Heating and Cooling issues. (Operating a dedicated server can add significant heat. Also, your server may overheat during a heat wave if you don't have adequate ventilation.)
    • Security issues. (Your server could be a conduit allowing access to your private data and computers.)
    • Network Demands. (You have to be more careful how you use your network. If you use too much of your connection (e.g. for downloading) you may inadvertently DoS your site. Also, you have to be more careful about planned downtime for your router or network, you can't just reflash dd-wrt on your router on a whim (for example), as this could bring down your site when someone is using it.
    Magus : Security is a difficult thing to handle indeed.
    AnonJr : "Your server could be a conduit allowing access to your private data and computers" - or vice versa. If not set up properly, a breach in your home network may compromise your server.
    From Wedge
  • Dynamic IP is your deal-breaker. If you want people to access your site via DNS (www.mysite.com) instead of a raw IP, you're going to have to change your public host file every time your ISP assigns you a new IP. The cached information for your site on all routers between you and previous visitors will likely take hours to update, even if YOU catch and change it immediately.

    Basically, your visitors will see a lot of 404s every time you get a new IP. Getting a static IP from your ISP tips the ISP off to what you're going to be up to.

    Brian Knoblauch : Most times, the agreement that includes the static IP allows for hosting servers. That is what they expect when you get a static. Don't be afraid to "tip them off". Work WITH your ISP, not AGAINST them! :-)
    Jim : Technically, I have a dynamic IP. However, I've noticed that it changes about every 18 months. So for me, the dynamic IP issue with my ISP is not big problem.
    Matias Nino : Dynamic DNS services (such as dyndns.org) have been around for ages and they make this issue completely irrelevant.
    Mr. Shiny and New : @Matias Nino: they don't make the issue irrelevant. They only automate the changing of the DNS at the primary DNS server for that domain. The rest of the internet caches DNS entries and in my personal experience I found that those caches often ignored the TTL, which meant that whenever the IP address changed there was an "outtage" of up to 6 hours for my dynamic-ip site. If your IP changes frequently, this can be a problem.
  • For purely personal, low-traffic sites, I really don't see it as an issue. In fact, I'd recommend it as a starting point for a purely hobby type site. If your site gets popular, then look at migrating to a hosted setup.

    On the other hand, if its any sort of business site, run it on a hosted provider, presuming the business isn't in the business of hosting (or big enough to own its own data center).

  • You can use Google's AppEngine for free hosting of your low traffic web pages. Static pages will work just fine (there's a guide), for dynamic you'll have to use Python.

    Appengine's free quotas are just fine for your home page unless you're some sort of celebrity.

    From Tometzky
  • Typically at home you'll have ADSL, where A stands for Asymmetric. For example 24Mbit ADSL2+ has only 1Mbit of upload. Typical cable modems are asymmetric too, although difference is not as high (3-5 fold, not 20 fold). Some ISP to combat P2P farther reduce upload speeds, throttling eg. 20Mbit ADSL to 512kbit upload.

    Otherwise not a real problem. As for security, even simple SOHO routers let you create DMZ and put your server there. I've been using home based server few years ago, old PC, downclocked and converted to fan-less.

    But currently I don't see the point in doing that. It's just not worth the fuss. Nowadays you can get good quality free hosting (eg. Google Apps Engine) or wide choice of cheap, personal VPS-type hosting.

    From vartec
  • When you can get fairly big-scale hosting for ridiculously cheap rates, is it really worth the hassle? My GoDaddy account -- with ASP.NET, up to 2 SQL Server DBs, up to 25 MySQL DBs and a slew of other features runs me $86 a year. Compare that to buying my own hardware and firewall, setting up the network correctly to DMZ the server, any redundancy / power needs, a solid backup solution, etc., and ... well, the only potential improvement in doing it all myself becomes local desktop (or even remote desktop) access. Not a compelling argument.

    From John Rudy
    • Security

    If you're running services on your server that means you have to have ports open and services running. These services are exposed to attack and can potentially be an avenue to getting into your home network. I've been self-hosting for a few years, and except for selinux my web server would have been successfully hacked on at least one occasion.

    Other people have brought up a lot of other issues, which may or may not be issues in your particular instance. Basically, I see it like this: If you self-host as a hobby and if it's fun for you to do, self-hosting can be just fine. If it's for a business, then you probably want to do something other than self-hosting.

    CanyonR : You might also want a DMZ a referenced in this question. http://serverfault.com/questions/1052/would-you-setup-a-dmz-at-home/
    From Eddie
  • If your website sends any outgoing e-mail, be prepared for it to be blocked by a lot of the big services (yahoo, earthlink, hotmail) who do not like to accept e-mail from IPs that are designated for dynamic assignment.

    There are workarounds, such as relaying through your ISP, or through your own mail server (assuming that is not hosted on the same server as your website.)

    --
    bmb

    From bmb
  • Don't forget the Slashdot Effect. You're only "low volume" until a link to one of your sites ends up on Slashdot / reddit / digg / other link aggregator / high traffic site.

  • Something no-one seems to have touched on yet: the psychological effect.

    When I ran a server from home (which acted as my domain's mail server), I found I was constantly paranoid about it staying up. I was always pinging it to make sure that it wouldn't drop that potentially important e-mail. On the occasions that I couldn't access it, panic set in; has the house just been robbed? burnt down?

    Of course, you may be far less prone to such thoughts than I ;)

    From moobaa

0 comments:

Post a Comment