I posted a similar question on how scalable linq is. There were so many different views on what scalability actually meant in some recent conversations, so it has sparked me to ask this question as well. What does scalability mean to you?
Scalability is the measure of a system's ability to increase or decrease in performance and cost in response to changes in application and system processing demands.
For example, an application program would be scalable if it could be moved from a smaller to a larger operating system and take full advantage of the larger operating system in terms of performance (user response time and so forth) and the larger number of users that could be handled.
Scalability is associated both with computer systems and business change. In either case, it refers to the ability to adapt, particularly in regard to growth and increased demand. Scalability is essential in that it contributes to competitiveness, efficiency, reputation and quality.
It often refers to increasing or decreasing resources as needed to meet the higher or lower demands of a business. Vertical (scale-up) scalability increases the capacity of hardware or software by adding resources to a physical system, such as adding processing power to a server to make it faster.
I look at scalability from two perspectives:
Scaling Up
If I add more RAM to the box that something is running on, how much additional performance and capacity do I gain? If one application I have can handle 300 more connections and runs 15% faster when I add 2 GB of RAM to my server and another application can only handle 100 more connections and runs 5% faster, application A is clearly more scalable.
Scaling Out
Now, if I add more boxes to my set up, how much additional performance and capacity do I gain? Can I set up web front ends to handle more client traffic? If so, is there a linear increase? If I add 3 boxes, can I get 3x more users accessing my site? Can I add more databases to distribute the data load? Can I scale up multithreading? If I can easily add a machine to my network to add capacity to my application, then it is scalable.
This, by the way, is one of the primary drives of n-tier.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With