Life on the Grid
Our client addressed its SOA scalability issues by decomposing its web service application into two distinct parts. Figure 2 shows how the original web service has been modified to work with a grid-computing infrastructure. The web service and its computational code were split into separate modules. This front-end followed the same contract that had previously been in place. However, the computational work performed by the service was now offloaded to the grid.
The grid addresses the scalability issues beautifully. Each CPU-intensive analysis (both long- and short-running) takes advantage of an available CPU on the grid; the grid system monitors these tasks and ensures that results are returned in a timely manner. Because the grid is CPU load balancing, there aren't any issues with overloading individual machines. Increases in demand can be addressed by adding more hardware to the grid (and the Digipede Network automatically provisions the analytic applications to run on those machines).
Because the computationally intensive applications run elsewhere, the machine running the web service can handle much more traffic. If traffic there becomes an issue, that web service can be scaled using traditional web scaling methods (NLB, for instance).