Hosting From Home

Back in April, shortly after having the Internet connected in the new house, I was pleased to discover that the ISP was not blocking incoming traffic to ports 80 or 443. In fact, every port is wide open and the company even goes so far as to offer "static" IP1 addresses for the low, low price of $5 a month. As one would expect, I quickly set things up so that I could move all of my Day Job development from inside an office to inside my home. It went off without a hitch, and I've even been using this connection for a lot of the 10C v5 development. Given that there's ample processing power and storage inside the house, I'm now faced with a question: does it make sense to continue using a series of VPSes for non-mission-critical software?

Over the last five years Amazon Web Services, Microsoft Azure, and Sakura Internet2 has received thousands of dollars from me to host a large number of projects. Most of these were for clients, though a few were most certainly personal endeavours such as 10Centuries, BlueLMS, and some smaller pastimes. Given how few of these need to have "five nine's of uptime", it may make sense to move a few things in-house. This would allow me to use funds more wisely and invest in other projects more quickly. What's more, the sites that have moved to my personal server tend to operate much, much faster than was ever possible before.

Having a boatload of RAM and a more dedicated set of resources can do wonders to even the lightest of websites.

Me being me, I've looked into changing the net connection from being a residential connection to a commercial one in order to guarantee a certain degree of service from the ISP. The cost would work out to about $250 USD per month for the gigabit fibre connection that I've yet to saturate3, include a static IP, and — supposedly — better throughput. If I decide to bring all of my projects in-house, this would certainly be the way I go. The last thing I'd want to deal with is a bunch of angry clients demanding to know where their websites went because the ISP cut my connection for a terms of use breach.

There is one little concern with hosting everything from my home, though, and it has nothing to do with hackers trying to break in to gain access to the 62TB NAS that's humming along in an upstairs closet4. My biggest concern is fingers touching the servers. As it stands, my home server is a Lenovo Thinkpad W541 connected to a UPC UPS in the workspace protected by Nozomi. The network router and modem also have their own dedicated UPS minus the puppy protection. In the event of a power outage, there's enough juice to keep the Thinkpad operational for approximately 18 hours and the network for a little more than a day. I've even taken the precaution of testing this setup once a month by walking over to the circuit breaker box and killing power to the entire house for a period of time just to make sure everything keeps working as it should, and it does. Fingers reaching for a power button or yanking on a CAT6 cable, though ....

The obvious solution to this problem would be to get a server rack with a lock, put everything in there, maybe get a proper 1U or 2U server to host web projects from rather than a workstation notebook, and make sure everybody knows that box of boxes is off limits. Anyone who has spent any amount of time around young kids will know that such a rule just makes the forbidden object all the more desirable. While the boy isn't yet able to navigate the stairs on his own, he'll be exploring every inch of this house in absolute silence before too long. Perhaps I'm just being over-cautious about this.

For anything that is not mission-critical and does not rely on server response times being under 200ms from anywhere on the planet, hosting a site in my home does seem to make a lot of logical sense. Static content such as images, audio files, and videos could continue to be stored on a server somewhere else while this happens, too. The monthly cost savings wouldn't be much, but would add up over time. If I were to put commercial projects on the home server, be it 10Centuries or the potential hosted LMS project, then it makes sense to spend the extra cash to get a proper account with the ISP. Any earnings would need to be much more than the cost of the ISP connection, though, otherwise it would continue to be cheaper to simply use a VPS somewhere. This would be particularly true if the cost of moving services to my closet involves getting a server rack cabinet.

  1. the word "static" is in quotes for a reason.
  2. Sakura is the company that has traditionally hosted the 10C servers since v2 in 2012.
  3. the fastest download I've witnessed was 227.8 MB/sec a few weeks ago when downloading a SuSE Linux .iso image. Unfortunately, the image was only 4.7 GB in size, meaning the download didn't have time to get any faster. The entire file was complete in about 20 seconds.
  4. This would be a concern, mind you, but not the main one.