Introduction
While it is important to squeeze maximum performance out of every component in your application, true performance is an architectural concern. In this chapter, we are going to look at some of the ways in which you can design a deployment architecture that supports your performance requirements, and we are mostly going to do this by looking at the ways in which you can scale out your application.
As we discussed earlier in the book, performance limits are always caused by the limited availability of resources needed by the application, whether this is CPU cycles, storage (RAM or disk), network bandwidth, or availability of an external service, such as a database connection. Since it is not possible to keep adding more RAM or faster CPUs to your server for ever, there comes a time when the best way to increase your application's capacity is to add more instances of the application, and for a SOA Suite application, this normally means using the clustering features of the underlying...