EXPERT RESPONSE
It is impossible to predict how many servers your site will need without understanding the nature of the applications running on the servers, the users using the applications, and the servers' specifications. In addition, there are questions of what high-availability tactics you'll want to employ, if any.
Some factors you should look at include:
How are the applications architected from a scalability point of view? Is there a middle tier that does data caching in order to take load off of the database servers? Can the data be partitioned in order to support a scale-out strategy, or must scale-up be employed if you need to support more concurrent load? Are the applications' interfaces into the data chatty (i.e. do they make a lot of requests for data)?
How often do users log in? What do users do while they're on the site, and how much traffic will they generate? How many simultaneous users will the application have to support in peak load times?
Once you've considered these factors, take the data you've collected and create stress tests to validate the load requirements. Only by testing can you determine how much load the application can handle, and whether you'll be able to scale it by adding more servers.
|