Methodology
How should you go about planning the performance of your web system? To limit the scope of the problem, it helps to think of capacity planning for web services as an algorithm, with two kinds of input and one kind of output. The inputs are your constantly changing requirements and the constantly changing characteristics of the available components. The output is an architecture that meets those requirements. By considering the problem this way, you’ve reduced it to collecting information and using that information to decide on a suitable architecture.
Unfortunately, the algorithm that gets you from here to there is still more art than science, particularly because you undoubtedly have additional requirements beyond performance, such as cost, security, and freedom from platform lock-in, and because requirements and components are moving targets (almost always in the direction of more performance). There are probably many configurations that would satisfy your performance requirements alone, but you may find that it is not possible to satisfy them simultaneously with all your other requirements, especially if those requirements include a small budget or a certain throughput and latency from the Internet. Read the rest of this book for details on how the pieces behave and interact. Then expect to go through several iterations of modifying your requirements and evaluating potential architectures before you find an architecture that meets all of your requirements. It is, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access