1.3 Scalability
Scalability is the ability of a system or service to adapt to increased demand. Scalability is essential to any system or service that may need to grow to meet the needs of a particular client base.
To understand scalability, a simple analogy is helpful. If you were to purchase a threebedroom, two-bath home, and the following year you added one new family member, you would need a house that is scalablemeaning that you need a house that can be easily modified to meet the needs of a larger family. Adding a bedroom to the home would "scale" the house to meet the increased need. If you could not add a bedroom due to zoning restrictions or architectural issues, your home would be unable to scale. The only solution then would be to sell your home and buy another one that is larger.
In a networking environment, the same rings true. A network manager does not want to replace all of the networking equipment in the company to meet the needs of an additional fifty employees. It is more desirable to add the necessary equipment to the existing network so that the network will scale to meet the needs of the additional employees. Scalability is essential, not only for the cost savings, but for the ability to add additional capacity while minimizing downtime.
Consider the personal computer. When a person buys a personal computer from a computer store, they typically ask the question, Is it upgradeable? What they are actually asking is whether the computer will scale to meet their future needs. Most systems that you purchase will allow you to upgrade the memory, upgrade the video card, and in some cases, upgrade the processor. But some machines are built to reduce cost, not provide scalability. These machines usually have constraints that don't allow you to upgrade the memory or processor. These machines are cost effective, but can only be useful for about one to two years, whereas a machine that is scalable can be useful for about three to five years.
Systems that are designed for use as Internet servers or intranet servers have the same scalability issues, but also the added issue of what is often referred to as dynamic scalability. Dynamic scalability is the ability of a system or service to adapt to an increased demand within a short span of time. This span of time can be day-to-day, hour-to-hour, or minute-to-minute.
Many companies use Internet servers as a way to survey public opinion. Consider a company that decides to advertise a new Web site for the first time during a commercial break on Super Bowl Sunday. Once the commercial is aired, there will be literally millions of people hitting the site in response to the advertising. And seeing that the commercial most likely cost several million dollars, the owner of the site does not want to lose a single connection to the site. This scenario demands that the Internet server scale from a zero amount of traffic to one million plus hits worth of traffic within a matter of minutes. The ability for this system to handle the traffic is the system's dynamic scalability.