Quite a few of us have an idea or a personal project worth sharing with the world through hosting on the Web. Most of us also have an older computer which is either collecting dust in the closet/attic/garage, or is in a lonely corner, waiting for someone to use it, while the family flocks to the shiny new laptop or desktop in the study. That is especially true of IT professionals, programmers and administrators. Wouldn't it be great to put that old computer to work, hosting our personal web site?
Here we present some of the pros and cons of hosting at home. Please note that these do NOT refer to hosting a server in a business. Hosting in an office environment (outside the home) presents a different set of considerations, both because of the mission critical nature of a business, and because the infrastructure and access that in general are available in a business setting. While business grade infrastructure may sometimes be also available in the home, the costs are very high. Hence, the pros and cons of business hosting are very different from hosting at home.
What is Web Hosting?
In its most basic form, Web hosting means running a Web server. Let's define a Web server as any instrument that contains the software and hardware necessary to electronically move data files between a storage system (hard drive or other) and a client device (computer, phone, PDA), through the Internet. The most common servers are Web servers and ftp servers (since ftp is the most common way of moving content into the server, most Web servers also contain a running ftp server. Other server types include domain name (DNS) servers, file servers, mail servers, database servers, backup servers and more. A Web server can contain either static content (html files or other documents that are served without any change or customization), or dynamic content (content created on demand by using a scripting language, with or without a back-end database, that is uniquely tailored for each individual user or user group).
Hosting at home gives the highest level of control over the equipment. Physical access allows one to 'own' the server. All the pros of hosting at home flow from that control.
- Complete say over hardware specifications: The home host may create servers with specifications that would not be readily available in any other setting. Most data centers offer a choice of 'good, better and best', which means that the processor speed, memory, storage and bandwidth grow together. Combinations of slow processor with tremendous memory and storage, or a very fast processor with minimal storage are hard to find. These designs can be useful, respectively, for serving a small number of very large static files, and for a highly dynamic environment with multiple connections but a small amount of static content. Finding a datacenter offering a server with Celeron processor and terabytes of storage, for example, is difficult and probably quite expensive if found. Adding a few 500 GB hard drives costs remarkably close to $100 per drive, definitely not a huge burden.
- Easy access to and control over hardware: Having the server on the premises makes it very easy to modify hardware. It is possible to add, remove or replace memory, hard drive and even motherboard and power supply as often as one's heart desires. There is no need to coordinate with a hosting provider's technical staff. Moreover, if the updated hardware does not work as expected, switching back is a breeze, and no one (except maybe the spouse) is going to complain about frequent changes that makes no sense. If one wants to regularly switch power supplies, or replace hard drives every two weeks, no one would object (except maybe said spouse).
Easy changes/upgrades to software: Having the server at one's home allows to install new software from CD/DVD, the easiest way to upgrade or replace software. This is particularly true for a change or upgrade of the operating system. While many distributions allow for command line or remote upgrades, these rarely work as smoothly and painlessly as advertised. Working directly on the server makes it very efficient to install from a graphical user interface, too, compared to using a remote desktop. Changes to software, content modification, and system administration can be done with a keyboard or drive directly attached to the server, without any need to use ftp or secure login to a remote computer.
- Total control over content and software: Home host can do things that no datacenter would ever allow (and rightly so). For example, one can host IRC (chat) channels, give users shell access or even root access to the server, deploy outdated or insecure software, violate copyright and decency laws, etc. While these practices, in general, are ill advised, invite prosecution by law enforcement agencies, and are likely to end in grief, the host has the last word, which is not the case in working with a datacenter.
- Lower initial cost, fewer barriers to entry: Using existing equipment, including the computer, router, Internet access, existing real-estate, and electrical system, makes getting started with Web hosting very inexpensive. While it may not be advisable, it certainly is possible to also use an ancient computer for the job, at least for proof of concept.
- Instant gratification: Changes made to the server at home can be instantly viewed and verified. No delegation, communication or waiting for third parties are involved.
- No commitment: Just as fast as the server goes up, it can go down, without any serious negative financial impact. There is no need to explain why the server is going down, no need to negotiate with the hosting provider, no contract to cancel and no worry that the ISP account is closed and billing is settled.
Hosting a server at home puts great power in the owner's hands, but 'with great power comes great responsibility' (to quote Stan Lee and others), to which one might add 'and great pain'.
- Dealing with service providers, part 1: DSL and cable providers are not always hospitable to Web hosting. Some ISPs block ports needed for hosting (for example, http, ftp, sftp and ssh ports). Others explicitly forbid web hosting in their contracts, or have contract clauses which allow them to raise prices and penalize customers who run servers. Frustratingly, ISP policies are often subject to change without notice or consultation. At the least, home hosts are advised to make sure they are not violating any existing policies and, whenever possible, use a host that does not block ports and supports Web hosting, before putting the server online.
- Dealing with service providers, part 2: Many providers oversubscribe their network, that is, they sell more bandwidth than is actually available in the infrastructure. They do so under the (mostly accurate) assumption that their customers use only a fraction of the promised speed. Customers who come close to full utilization of their bandwidth are often either throttled down, shut down, or bumped to a higher cost service level. A web host using a residential network should be prepared for such a contingency.
- IP address issues: Most ISPs provide dynamic IP addresses to home users, which means that the server's IP address changes every few days or even every few hours. A fixed IP address is better for hosting a server, and is recommended even if it incurs an additional cost from the ISP. If the ISP does not offer fixed IP addresses, it is possible register the site's domain name with a dynamic DNS host, and install a scripts to update the IP address at that DNS host either whenever the home IP address changes, or at regular intervals. There is a sweet spot for the update frequency - do it too infrequently, and your server will have periods when it can not be reached from the outside; Do it too frequently, and you will get a nasty e-mail from your dynamic DNS provider, asking you to lower the update frequency. It is best to also monitor the server regularly to make sure it is visible at all times - to ask a friend to check it, or use a professional monitoring service, just in case the update script fails. If it sounds complicated, it's because it is, though it is not an insurmountable hurdle to overcome.
- Internet speed: Standard DSL (at least in the US) is asymmetric, offering a download rate of 1.5 Mbit per second, and an upload rate that is 1/4 to 1/2 of that speed. This may be enough for personal Web pages that are reviewed only a few times a day, but once the hosted site becomes popular, or if there are large files for viewing or download, viewers may experience lags or even failures (time-outs) when they attempt to access the server. It is recommended to set the server to provide zipped files to improve its performance.
Internet reliability: A binding service level agreement (SLA) is one thing a residential broadband connection does not come with. If the connection is down for a day or two, all one can expect to get is sympathy, a possible apology, and maybe a few dollars refund. There are no provisions for loss of business or revenues. Even under normal conditions, connection speed will at times be slower due to congestion at the local or regional level. That is particularly true of cable Internet, which is shared by all users on the local network. When everyone comes home and starts using the net, the server takes longer to deliver.
- Lack of redundancy: Few homes have redundant Internet connections, or alternative power sources. Using multiple network providers (cable and DSL, or two separate ISPs) is a possible way to get connection redundancy, as long as the providers do not use the same Internet backbone. This also requires configuring the server or router to use two networks, and to have a system in place to alter the IP address when the backup connection kicks in. Installing a UPS is an appropriate solution for short term power-outs, and a generator can provide current during longer periods of power loss. These add breathing time, but are not a perfect solution for long periods of power loss, and may be impractical for some situation (use of a generator in a condominium or high rise comes to mind). It is also quite possible that the power loss will extend to the local Internet hub, which may not have alternate power source.
- Choking personal bandwidth: The server shares bandwidth with every connected device in the household. When the server gets busy, everyone else waits for Web pages or audio/video streams to download. So, once a site gets popular, be prepared for complaints from all other members of the household. This problem, by the way, is a two way problem as well - when someone in the household is watching YouTube, downloading a large file, or using a peer to peer application (bit-torrent, Skype or other Voice over IP, etc.), the server will be slow. One possible solution is to add a second phone line, dedicated for hosting.
- Noise and heat: Any server, and especially the clunker salvaged from disposal to pose as a server, inevitably generates noise from the processor and power supply fans, from the hard drives and from other mechanical storage devices. The constant hum, accented by the occasional whir and screech, and beeps from the UPS, can get quite annoying after a while, especially if the server is in a common area. The heat generated by the server, which increases with the popularity (and increased load) of the site, may require a fan or air conditioner, unless one plans to use the server room as a sauna. In the summer, especially in hot and humid climates, cooling may be required to keep the server from overheating and possibly even locking up.
- Security of your home network: Unless one uses a physically separate network for hosting, personal computers will share the same network as the server. While a firewall on the router can block access to these machines, the server must be open to the world. Hackers can potentially access your internal network through this server, and get confidential personal information, such as correspondence and financial data. Make sure that you prevent access to desktops using software firewalls, and of course secure your server. Whenever practical, a separate networks for the server and the home network is recommended.
- No easy upgrade or downgrade options: Unlike hosted servers, there is little option to upgrade or downgrade the system, without incurring additional costs. If a faster pipeline is required (a fractional T1 or a T1 connection is the next step up), we are talking hundreds of dollars in monthly costs, and a possible wait of days or weeks for installation. Upgrading the server means buying a new computer and switching over. With a leased server at a datacenter, scaling up or down is faster and easier, usually a matter of moving a hard drive to a different server for a new monthly fee.
- The buck stops at your desk: When one hosts at home, there is no one else to blame. The host is now responsible for securing the server, auditing, patching and updating the software, intrusion prevention, backing up and restoring data, diagnosing problems, maintaining hardware and restarting the server when necessary. Anything goes wrong, the host has to fix it personally, 24 hours a day, 7 days a week, and 365 days a year, which is not as much fun as it sounds. And any 'explaining to do' is the host's to handle - there is no datacenter to blame...
So, is hosting at home worth the trouble? The answer, as can be expected, is 'it depends'. It depends both on the reason for hosting at home, and on the type of site or sites being hosted.
A mission critical site, a site which generates business, or a site hosted for others, all of which require availability and reliability, deserve hosting in a professional datacenter, either on a leased server or through collocation. A high quality datacenter guarantees redundancy, monitoring, and support around the clock.
In contrast, a personal or hobby site, where performance is not an issue, and down time is of no great consequence, is well suited for hosting at home. Hosting a personal site at home provides a great learning experience, one that makes the practitioner a better system administrator and host. Still, the sacrifices may outweigh the benefits. The fun pales in comparison to the noise, heat and stress of recovering from a power cut, failed hardware or a hacker attack. Taking these into consideration, it probably is best to limit hosting at home to test servers, and use us for 'live' servers, even for your personal site.
We also have business class servers. Check out our pricing guide for more information.