It is often seen that one of the main benefits of the cloud is its perceived ability to handle high traffic websites in a way that dedicated servers would never be able to. Whilst dedicated servers can be clustered together to provide more power, in most cases this isn’t without its downtime, not to mention it being very time consuming and laborious as it requires somebody to place the server in the rack and network it at the data centre end. The benefit of the cloud is that virtual machines and resources can be called upon at short notice and remotely, letting you provision a new segment of your infrastructure in just a few clicks at any time of day. Whilst a dedicated server will have to have its OS installed from scratch, cloud virtual machines can be created from pre-developed templates and so are often available to use within just a few minutes.
Much in the same way that you can create a load balancing cluster using dedicated servers, cloud virtual machines can be configured for the purpose of load balancing. Load balancing uses one server as the load balancer, which in turn distributes the traffic that it receives between the other servers in the cluster so that a single server never becomes overwhelmed with the load. As a concept, load balancing works very well because additional servers can be added to the cluster to cope with the load without affecting the servers that already form the environment. There are a number of cloud platforms available that let customers create virtualised load balanced clusters, providing them with another way in which they can virtualise their current physical infrastructure.
A number of cloud platforms, such as eNlight, feature autoscaling. Autoscaling enables your virtual machine to receive additional resources from the cloud during peak times in order to deal with the extra traffic. Whilst you would normally have a set level of resources installed in a dedicated server for example, the resources allocated to a cloud virtual machine are flexible and therefore can be automatically adjusted to account for demand; this flexibility saves you money since you will only ever be paying for your actual resource consumption, not spare or redundant resources that you may have because these will be absorbed back into the cloud once they are no longer required. Where autoscaling is available, customers are often provided with the option to limit the amount of money that is billed to their account using this method, therefore preventing malicious attacks from running up large bills for the customer.
How you utilise the cloud for the hosting of your high traffic website is down to the individual requirements. A cloud load balancing configuration would be the best option for a long-term solution as it lets you add additional nodes over time, so that the traffic reaching your website can be served with consistently good performance. Autoscaling is a choice better suited to short-term issues, such as where load spikes occur; over time it could be costly to constantly rely on autoscaling and it may make more financial sense to consider a load balanced configuration or permanently upgrade the base resources of your virtual machines.