The Web scaling vol. 1 eBook is meant to help you scale your website running on Linux from one server up to four load balanced servers. Open Source software is used to assist you in monitoring, profiling and creating various redundant server architectures:
There are three main technologies for data storage on hard disk:
- local storage (DAS)
- storage on a standard network (NAS)
- storage on a specialized network (SAN)
Each technology has strengths and weaknesses. While the local storage is the most widespread and has a high level of performance, network storage offers the possibility to share data between different servers. This last feature is increasingly sought either to synchronize data between different servers, to consolidate disk space or to enable advanced virtualization architectures.
A control panel is an essential feature for most lower-end web hosting solutions. Generally, shared web hosting packages will provides you with client-side access through a control panel installed on the physical server. A virtual private server (VPS) or a dedicated server could be equipped of a control panel to completely control the server.
Monitoring probes are great tools to help maintain your web presence and avoid downtime for your website. External probes can check at regular intervals the availability and responsiveness of your services while internal ones can monitor resource utilization on your servers. These tools can also provide you with valuable information to help you track down performance issues and diagnose problems on your servers. On this article, we present different monitoring probes:
Under the CentOS distribution, a MySQL database service can be transformed into an highly available service using different approaches. High Availability MySQL Cookbook presents them:
- MySQL Cluster
- MySQL replication
- Shared storage
- Block-level replication
Having a process to backup your website sensitive information is a good practice to preserve your data and maintain its integrity. A backup is a copy of your data that can be used to restore the original data after a data loss caused by hardware failure, accidental deletion, data corruption, etc.
Choosing the right hosting solution is a complex and critical decision for your business. We present two diagrams to guide you in this decision-making process. The first diagram outlines the hosting provider’s responsibility versus the customer’s responsibility. The second one is a summary of the strengths and weaknesses of the different web hosting solutions.
RAID (Redundant Array of Independent Disks) is a technology allowing a higher level of storage reliability and performance from disk-drive components via the technique of arranging them into arrays. A RAID array is a configuration with multiple physical disks set up to use a RAID architecture like RAID 0, RAID 1, RAID 5, etc. While the RAID array distributes data across multiple disks, it is considered as a single disk by the server operating system. The various RAID architectures are designed to meet at least one of these two goals:
- increase data reliability
- increase Input/Output (I/O) performance
A cluster is a group of two or more independent servers operating as a single system. A database server cluster could help you achieve high availability or improve I/O throughput for your database service. In this article, we discuss the different approaches to database clustering for MySQL and MSSQL.
A cluster is a group of two or more independent servers operating as a single system. Using a cluster rather than a single server as powerful as the sum of the independent servers offers benefits:
- Increase the availability
- Facilitate the rise in system load
- Allow for load distribution
- Allow the use of low-cost servers
Colocation is a hosting option for those who want the benefits of a web hosting provider (robust network infrastructure, electrical power redundancy, cooling equipment, etc.) and still own their server hardware. The upfront cost of a colocation server is higher than the one for a dedicated server. However, the monthly fee is lower in colocation since you do not have to pay the server hardware location fee.
Homemade 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.
A dedicated server is a physical server on which you have a total control of the resources. The CPU, memory and disk IO characteristics of your server are directly related to your choice of hardware at purchase time. As as result, the performance of a dedicated server is highly predictable. The performance of a web site running on a developer workstation will be similar to the performance of a dedicated server with equivalent specifications.
The development of virtualization technologies and software has lead to an new web hosting product siting between the shared server and the dedicated server: the virtual private server (VPS). Also referred to as virtual dedicated server (VDS), this virtual server is hosted on a physical server typically running a hypervisor. The presence of the hypervisor on the physical server allows a better control on the resources allocated to the virtual servers. Each virtual server can run its own operating system with custom settings, configuration and services.
A “Content Delivery Network” (CDN) is a group of caching server nodes linked together through the Internet. The nodes are distributing web site content and are accelerating the delivery to the end user. Server nodes are geographically distributed and generally connected to the fastest Internet links available in their location. When someone visits a CDN powered website, the CDN will establish the visitor location and direct him to the optimal server node.
A shared web server is generally a slice of a physical server along with a control panel to simplify the management of your web solution. The available resources of the physical server are shared between the different guests. The ratio of resource allocation between the guests is fluctuating according to offer and demand. This entry-level solution for web hosting is offered at a low cost but has several limitations. Limited scalability and variable performance due to host resource consumption are the main drawbacks of this web hosting solution.
Choosing the adequate solution for your web hosting needs is a complex problem. Traditionally, individuals and enterprises had different needs for their web hosting solution. While enterprise-class web hosting required the use of a database to provide dynamic content and store customer information, a single page hosting was sufficient for a personal web page. However, databases are now a requirement to provide rich and dynamic content for personal pages. The convergence of individual and enterprise needs for database driven web content leads to the democratization of higher-end web hosting solutions.