For simplicity's sake, let's take a real example. As some of you already know, we support the Millenium association in their promotion of online video games.
The increasing success of the website, millenium.org, made us re-design the architecture of the website so that it could handle the numerous videos shown on the website to its 17,000 unique visitors per day far more easily and efficiently.
Following a major update of one of the games served by Millenium (WOW patch 3.1), we increased the server power to 16 shares in anticipation of an increase in load. Our expectations were quickly exceeded with over 50,000 unique visitors the first day, and just as many over the following days.
The website received between 500 and 1,000 simultaneous visitors and a large number of videos, which is not viable for a single LAMP server. We immediately changed the infrastructure, by moving from a unique-server model (which is often the starting choice) to an infrastructure-based model. We went from a vertical system (more power) to a horizontal system (more servers):
As you can see in the diagram, we moved the database to a separate server and duplicated the web server to two machines. The load was therefore split by the domain's DNS (using a simple DNS round robin technique). We could also move to dedicating a 1-share server to load distribution, though such a solution would take a bit longer to implement. In our case it took 2 minutes to add the shares to the account, 6 minutes to create the 2 servers, 10 minutes to transfer the data, and 2 hours to configure the services.
Today, the platform easily handles 1 million unique visitors per month, for over 3 million pages viewed - a good thing! Best of all the platform is now capable of evolving. If the database suffers, all we need to do is to add more shares to the database server. If the web front starts to become saturated, we just need to add another.
Because our cloud infrastructure allows you to create as many servers as you want from the hosting resources in your account, you can always add more, and always change your web architecture without replacing physical servers. The VPS hosting system is flexible and allows you to increase from a 1-share server (1/64 of a machine + 1/64 as reserve, 256MB of Ram) to a 16-share server (1/4 of a machine + 1/4 as a reserve, 4GB de Ram) at any time and as often as you want.
If you find yourself confronted by this type of problem, please feel free to contact us, as we would be more than happy to help you.
Gandi Hosting Team