Homemade web hosting

Posted Posted by Patrice Guay in Web hosting     Comments 3 comments
Mar
9

homemade web hostingHomemade web hosting is a viable alternative to making business with a web hosting company. Building your web solution with your own equipment and network connectivity requires system administration skills and may result in lower uptime for your web solution if your hosting infrastructure is not adequate. However, on the long term, you may save a lot of money.

Cost

The purchase of your web solution equipment (server, router, switch, uninterruptible power supply, etc.) represents the upfront cost for your web hosting solution. The server is definitely the most expensive piece of equipment and caution should be taken to optimize your investment. While the rackmount form-factor is often seen as the standard format for servers, this format may not be practical if you don’t already own a rack. A standard tower server may prove to be more practical and less expensive. Your router should be able to do network address translation (NAT) in order to expose your web server on the Internet. Finally, an uninterruptible power supply (UPS) is a good investment since it will provide protection for your servers in case of a power outage.

The monthly fees for your homemade web hosting solution are linked to your choice of Internet service provider (ISP) and the electricity consumed by your equipment. Particular caution is required in your choice of ISP. Some residential providers do not allow web hosting and will block the access to your web server (port 80) from the Internet. Also, your Internet connection may include a monthly bandwidth cap with excess usage charged at a flat rate per GB.

Moreover, if your ISP has an option for a fixed IP address, you may find this service to be useful. Your domain name will have to be associated to your IP address via a DNS service. If you have a dynamically allowed IP address, you will need to change your DNS information every time your IP address moves. There are some companies, like DynDNS, offering automated dynamic DNS redirection for a monthly fee.

Resource allocation

A few years ago, the clock speed was a good metric to evaluate the performance of a CPU. Now, with the advent of multi-core CPUs, a high clock speed is not the only parameter to evaluate. For example, a quad-core CPU with a lower clock speed will outperform a single-core CPU on a multi-threaded application like a web or a database service. Improved multi-thread support will accelerate the processing of simultaneous tasks on your server.

Memory (RAM) of a server is also an important element since it provides caching space for regularly accessed data. While a Linux operating system will require a minimum of 256MB of RAM to run without a graphical interface, a Windows server will require a minimum of 1GB of RAM to function properly.

The size of hard drives grew rapidly during the last years and a server with a storage capacity of a few terabytes is no longer expensive, especially if it is built with SATA drives. However, using SATA drives instead of SAS or SSD drives will result in lower disk Input/Output performance for your server. A server equipped with SAS 15k RPM drives will provide twice as much I/O performance compared to SATA 7.2k RPM drives. Higher disk I/O performance is desirable for databases while the required storage capacity is usually low. The use of low capacity SAS or SSD drives will serve you better than SATA drives for such configurations.

The bandwidth of your Internet connection will be shared between your web hosting solution and the other users of this connection. For example, if you host your web solution on a 5120kbps/800kbps ASDL connection, your web solution will have a maximum bandwidth of 800 kb/s (100 kB/s) toward the Internet. If your site becomes popular, users will experience slow Internet access since the connection will be saturated due to the traffic toward your web solution. On the opposite, if your users are consuming a large amount of bandwidth (video streaming, file sharing, etc), your web solution performance will degrade.

Uptime

There are several factors that will influence the uptime of your web solution:

  • application stability
  • server hardware stability
  • network uptime
  • electrical power uptime
  • temperature stability
  • your operator skills

The stability of your web application is your sole responsibility on an homemade web hosting solution. If you need support for your web hosting solution, an homemade web hosting solution is not appropriate.

The hardware stability of your server is also a relevant factor for the uptime of your web solution. If your server hardware fails, the server will have to be replaced in order to restore your web presence. Disk failure is a critical event and should be planned by opting for a redundant RAID configuration at purchase time and taking regular backups of your sensitive information.

If the network connection between your server and the Internet is broken, your web solution will be unavailable for your visitors. Unless you made a modification to the network parameters of your server, a network connectivity problem is usually the symptom of a problem with your ISP connection. An Internet service provider with a responsive 24/7 support will allow you to restore connectivity in a timely fashion.

The uptime of the electrical power delivered to your server and network equipment will also influence the global uptime of your web solution. The use of an uninterruptible power supply (UPS) will protect you from short power outages. However, to maintain your web presence during longer power outages, a generator is required. The cost, size and required maintenance for such a piece of equipment will discourage many to purchase this hardware.

Keeping your server and network equipment at a reasonable temperature is also a crucial element for your homemade web hosting solution. A failure to maintain an acceptable temperature (30°C or below) for your server will force your server to shut down. This type of outage is critical since the overheat of your server may break some key components like your CPU, your disks or the motherboard.

Error during manual maintenance of your homemade web hosting solution can also cause downtime. A setup with unlabelled servers or network equipment is prone to such human errors.

Monitoring probes are a great tool to continuously check for the uptime of your web solution. It could advise you automatically in case of a downtime. You should seek this service to protect your web presence and reduce the length of downtime.

Scalability

If your web solution can not run properly on a single server, you will need to scale up by adding new servers to your setup. The first step is usually to host the web and the database services on two different servers. You can scale up further by duplicating your web and database servers to provide redundancy and an higher throughput.

The interconnection of your servers on a private network is also an interesting feature if you plan to scale up. The network traffic on such a connection will travel locally without the need to go through the Internet.

Two problems may arise if you need to scale up your web solution: space may be lacking and the heat produced by your servers may become too high. Moving your homemade web hosting solution into a colocation facility could solve these issues.

Support

There are basically four layers of management on a web hosting solution:

  • datacenter layer: electricity, cooling, physical security, fire protection, building maintenance
  • networking layer: Internet connectivity, activity monitoring, IP addresses provisioning
  • server equipment layer: server installation, cabling, hardware maintenance
  • application layer: OS installation and updates, application installation and configuration, monitoring

With an homemade web hosting solution, all the management layers are your responsibility. You will have to take care of your homemade datacenter, maintain network connectivity, install and maintain your server hardware and support your web application including the operating system. To ease the application layer support, you can equip you web server with a control panel to simplify its management. Mail accounts, web applications, databases and user management are simplified by the use of a well designed control panel.

If you cannot handle the other technical tasks by yourself, an homemade web solution is not advised.

Conclusion

An homemade web hosting solution requires some system administration skills as there is no web hosting company to rely on. Also, the uptime may be low since your infrastructure will likely be less complete (UPS, generator, network redundancy, air conditioning, 24/7 monitoring staff, etc.) than the one provided by a serious web hosting business. On the long term however, you may save money and gain first-hand knowledge about web hosting best practices.

3 Comments to “Homemade web hosting”

  • Does this take any special software? What type of skills do I need to know and where can I learn them?

    If I purchased a very nice computer with extra ram to go with it, then I purchased a extremely nice router and great Internet Providers, would this be everything I need then I could start hosting a server from that computer?

    I want to know how its meant to be done professionally. Thanks!

  • On the hardware side, you will need :
    – a good PC that can run 24/7 all year long
    – a router performing NAT to expose your server to the Internet
    – an Internet connection with decent upload speed (80kbps or more)
    – an UPS to protect your router and PC from short power outages

    Then you will need to decide which operating system and web server software you will install on your PC. The two main choices are :
    – A Linux distribution (eg.: CentOS, Ubuntu, Debian) with Apache web server
    – Windows server with IIS web server

    You will need to learn how to install, configure and manage the chosen combination of operating system and web server software. Plenty of documentation is already available online on these topics. These skills are core to the system administrator profession.

    Good luck with your project!

  • could you please explain more about scalability and how to duplicate server, I am new to this whole thing Thanks!!

Post comment

Advertisements