9.1 Scalability


A fortress is scalable if it fulfills three criteria. First, the fortress's unit-of-work cost (i.e., the cost of processing a work request over a drawbridge) must be low enough for you to make a profit. It if costs you $1.50 to process a request for which you will charge $1.00, you are out of the race before you start.

Second, a path must exist by which you can increase the workload you process in a given time period up to at least the maximum workload you will ever need. You can increase your processing rate by replacing small boxes with big boxes (a scale-up approach) or by adding boxes (a scale-out approach), but one way or the other, it must be possible to increase fortress throughput. I first introduced this topic in Chapter 6 (Asynchronous Drawbridges ).

Third, as you trudge along the path of increasing your fortress throughput, your workload costs must do no worse than remain constant. In other words, if it costs you $1.00 to process a work request when you're processing 100 requests per hour, it should cost you no more than $1.00 to process a work request even when you're processing 10,000 requests per hour . The total system cost will go up, of course, but the cost per request should remain constant. If your workload costs increase as your throughput increases , then a fortress that was profitable when servicing a small number of requests can lose money when processing a large number of requests.

Calculating the workload costs is not trivial, but it is necessary. It requires you to calculate your fortress costs on an annual basis, figure out your average workload throughput (for asynchronously accessed fortresses) or your peak throughput (for synchronously accessed fortresses ), reduce those numbers to cost per unit of workload, and then, finally, watch what happens to these costs as you increase your workload potential.

Why do we figure peak workload when using synchronous drawbridges and average workload when using asynchronous drawbridges? If you don't know the answer to this question, go back and review the material on asynchronous drawbridges (Chapter 6).

Keep in mind that there are always two approaches to adding workload processing power to your fortress. You can scale up ”that is, replace your small machine with a large machine. Or you can scale out ”that is, add more small machines to your cluster. I'll discuss the trade-offs when I discuss reliability in the next section.



Software Fortresses. Modeling Enterprise Architectures
Software Fortresses: Modeling Enterprise Architectures
ISBN: 0321166086
EAN: 2147483647
Year: 2003
Pages: 114

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net