Sun Java Enterprise System Deployment Planning Guide

Estimating Growth

Estimating the growth of a system to determine scalability requirements involves working with projections, estimates, and guesses that might not be fulfilled. Three keys to developing requirements for a scalable system are the following.

The following table lists factors to consider for determining scalability requirements.

Table 3–5 Scalability Factors

Topic 

Description 

Analyze usage patterns 

Understand the usage patterns of the current (or projected) user base by studying existing data. In the absence of current data, analyze industry data or market estimates. 

Design for reasonable maximum scale 

Design with a goal towards the maximum required scale for both known demand and possible demand. 

Often, this is a 24-month estimate based on performance evaluation of the existing user load and reasonable expectations of future load. The time period for the estimate depends largely on the reliability of projections. 

Set appropriate milestones 

Implement the deployment design in increments to meet short-term requirements with a buffer to allow for unexpected growth. Set milestones for adding system resources. 

For example: 

  • Capital acquisition (such as quarterly or yearly)

  • Lead time to purchase hardware and software (such as one to six weeks)

  • Buffer (10% to 100%, depending on growth expectations)

Incorporate emerging technology 

Understand emerging technology, such as faster processors and Web servers, and how this technology can affect the performance of the underlying architecture.