You are here: Home : Solutions : Scalable Hosting
Scalable Hosting PDF Print E-mail


Overview

 

Traditionally web sites are deployed on one or more servers with fixed resources. A sample server might include 2GB RAM, single or dual CPUs and 2 or more disks in a RAID configuration. This server will typically run at 5 to 10% utilisation for most of the day, possibly rising to 50 or 60% during busy times.

 

There are three main issues with this configuration that scalable hosting is able to address:


1. Wasted resources - your server is often idle, but you are still paying for all those resources which you aren't using.


2. Inability to scale beyond 100%. This can be a major problem if your site receives a sudden surge in traffic, for example as a result of a big marketing push, an event such as a conference or sale, or as a result of your site being linked to from a popular blog or news site. Great publicity could quickly turn into a great embarrassment if your site goes down as a result of too much traffic.

 

Scalable hosting works by dynamically allocating resources to your site as and when required. This can take the form of increased RAM and additional CPUs, or by dynamically booting additional servers to distribute the load across, or both.

 

Dynamic resource allocation

 

All of our server offerings can be quickly and easily scaled on demand. All that is required is a single reboot and you can add or remove CPUs, RAM and even disk storage.

 

Segregation of components

 

By separating your databases, static and dynamic content onto separate servers you gain the ability to scale each component as required, ensuring resources are allocated optimally. Servers can also be fine tuned for optimal performance for their specific task. Examples include: configuring a stripped down Apache for serving static content or allocating lots of RAM to the MySQL query cache to improve SELECT performance.

 

Another benefit of segregating the components of your application is added security. For example, if someone were to compromise a PHP script on your application server they would not be able to use the fopen() command to read your MySQL database files and steal sensitive data stored there.

 

Load balancing

 

When you have reached the limitations of scaling individual servers, the next step is to start load balancing incoming connections across multiple servers. Usually the middleware server is the first element to reach the single server limitations, either because of performance problems or because of stability issues under heavy load.

 

By utilising a load balancer you can distribute pretty much any TCP/IP request across multiple back-end servers. The load balancer can distribute requests evenly or proportional to the load of each back-end server. The load balancer will also perform health checks to ensure all servers are functioning normally, and in the event of a failed health check the affected server can be automatically removed from the live server pool and the administrator notified.

 

Additional servers can be added and removed from the live pool dynamically to scale up or down. This feature is also a great way to perform maintenance or rolling upgrades: simply remove one server at a time, perform whatever tasks are required, then bring it back online, all with zero downtime on your live application.

 

 

 

Search

Webmail Login

email
password
server