Clearly, a lot has changed since the time data centers were first setup. Retail internet connections have rapidly become faster and uptime is high. Broadband connections routinely deliver several Mbps both ways, and providers often promise uptimes in excess of 99%. Similarly, Personal Computers today are more powerful and reliable than the "Server" grade machines of barely a few years ago. For many applications that are non-mission critical (and this is a loose characterization), it is time to ask if the quality of retail infrastructure makes self-hosting a viable option today.
The point is further underscored by Microsoft's launch of the Windows Home Server Product. Sure, the Home Server is intended to do other things like backups, storage, printer management etc., in addition to making home content available on-line. But the fact that the Windows Home Server Product is built around a barebones version of Windows Server 2003 seems to suggest that eventually, the content residing on retail computers will be web accessible, with Home computers becoming a part of the world-wide web. The market for WHS is quite big: There are over 60 million people worldwide that have broadband access and two or more PCs at home, says Microsoft.
Requirements of Home Hosting
Clearly, any home hosting solution needs to have two fundamental characteristics. It needs to be simple enough for a "mom" or "dad" user. The Product Manager for Microsoft Home Server has been quoted as saying that his product is not about making a geek happy. Most home users don't know their ISP, let alone their IP address. So you can't make the product too complicated." Secondly, a home hosting solution needs to conform to a higher standard of security. People are likely to be more sensitive about information on their home computers than they are about information that they uploaded on to a third party data centre hosting server.
What are the home hosting alternatives?
The most obvious way to self-host is to obtain a static IP address from your ISP, buy a domain name and map the domain name to the static IP. This solution is really for the technical user, since it requires configuration of the Server, ports, installation of security tools and so on. The prices for static IP address range from $10 per month to $15 per month. Many ISPs offer static IPs to their customers.
In situations where your IP address changes every time you reconnect to the internet (known as Dynamic IP), Dynamic DNS solutions provide a mechanism to keep your domain name pointed to your current IP address. This frees you from having to invest in a static IP. A software IP update-agent on your home computer continually updates the DNS map with your Dynamic DNS provider.
Although your Dynamic DNS server may update his mapping potentially every minute, there can be a considerable time lag for propagation of an update across ISPs around the world. During this delay, not all users will be able to see your website. The reason for the delay is as follows. Each DNS entry consists not only of the domain name and its IP address, and a TTL entry which is the amount of seconds a DNS server may hold this particular domain information in its cache before it must refresh the information from a higher-level server. Dynamic DNS providers usually set this expiration time to one minute or so. The DNS servers that ISPs use usually don't host any domains of their own, they're basically just giant caches. The first time the reader asks for the domain name the ISP server probably won't know it so it looks it up. The Dynamic DNS provider tells the ISP's server to only keep the domain information in its cache for 60 seconds. However, there are DNS servers that ignore TTL entries and the expiration times and decide on their own to cache domain information for a longer duration, even as much as a week. Furthermore, reader computers cache domain information for a fixed duration as well. In such situations, Dynamic DNS mapping takes time to propagate, and your home-hosted website can become intermittently inaccessible.
Although a solution based on Dynamic DNS does not require investment in a fixed IP, it can give intermittent problems, and is also beyond the expertise of most home users.
One way to eliminate the drawbacks of the Dynamic DNS approach is to connect the home computer to a public "Reverse-Proxy", and have the domain name point to the Reverse-Proxy. The Reverse-Proxy keeps an up-to-date mapping of the home computers with their domain names. It processes the incoming HTTP requests, looks up its mapping and forwards them to the appropriate home computer for fulfillment. This solution does not work if the home computer is behind a NAT unless port forwarding can be set up, and the IP-update agent works from behind NAT as well. The solution also requires significant investment in security tools.
One variation of the Reverse Proxy scheme has been implemented by Purplenova. It works irrespective of the network configuration or NAT devices and provides higher level of security to the home computer. The underlying networking complexity is entirely hidden from the home user even while ensuring that the domain name hosting works all the time.
It remains to be seen whether the improvements in the retail infrastructure translate into a shift towards "do-it-yourself" hosting. Chances are that users will continue to host their mission critical applications with data centers, while potentially hosting some of the "Web 2.0" content directly from home computers. Nevertheless, the hosting industry would undoubtedly keep an eye on the market adoption of the Microsoft Windows Home Server and other self-hosting offerings.