Selecting the scaling techniques to apply
Best efforts in collecting the information needed are worthwhile in order to make the best possible scaling decisions. Only when the information gathering is as complete as it can be, then it is time to consider matching scaling techniques to components.
Manageability, security, and availability are critical factors in all design decisions. Techniques that provide scalability but compromise any of these critical factors cannot be used.
Here is a list of the eight scaling techniques:
- Use a faster machine
- Create a cluster of machines
- Use appliance servers
- Segment the workload
- Batch requests
- Aggregate user data
- Manage connections
- Cache
Rather than buying hardware that can handle exponential growth that may or may not occur, consider specific approaches for these two types of servers:
- For appservers, the main technique for the growth path is to add more machines. It is therefore appropriate to start with the expectation of more than one application server with a dispatcher in front, such as the Load Balancer from the IBM WAS Network Deployment V5.1 Edge Components or WebSphere Edge Server. Adding more machines then becomes easier and far less disruptive.
- For data servers, get a server that is initially oversized; some customers run at just 30% capacity. This avoids the problem in some environments where the whole site can only use one data server. Another scaling option when more capacity is needed is to partition the database into multiple servers.
Many sites separate the appserver from the database server. The front-end Web serving and commerce application functions are placed on less expensive commodity machines. The data server is placed on more robust and secure but more expensive systems.
WebSphere is a trademark of the IBM Corporation in the United States, other countries, or both.
IBM is a trademark of the IBM Corporation in the United States, other countries, or both.